1394e415b7
This is left-over from the days where we didn't use BO pointers and had them embedded and we didn't have a nice allocation API. Now that block pools get their memory via anv_device_alloc_bo(), they really should be using anv_device_release_bo() to tear it down. This is equivalent in this case because anv_device_release_bo() does the following: 1. Decrements refcount. The pool holds the only reference so it will proceed onto the clean-up steps 2. Unmaps it, if needed. This is the same as the tear-down code today except anv_device_release_bo() will avoid doing an unmap if it's been created via userptr. The current code probably unmaps the userptr which is wrong but pretty harmless since it happens on a tear-down path. 3. Unmaps the CCS range from the AUX-TT, if any. There is none, so this is a no-op. 4. Frees the VA range if it's not pinned and doesn't have a fixed VA assignment. These BOs always either have a fixed VA range (softpin) or aren't pinned (relocations). 5. Closes the GEM handle. Same as the current code. In short, anything created using the BO API should probably be destroyed that way. We were getting away with hand-rolling it because this is a simple case. Why did we do it this way? It dates back to before the more formlized BO cache and BO API in ANV. Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13610> |
||
---|---|---|
.gitlab/issue_templates | ||
.gitlab-ci | ||
android | ||
bin | ||
build-support | ||
docs | ||
include | ||
src | ||
subprojects | ||
.dir-locals.el | ||
.editorconfig | ||
.gitignore | ||
.gitlab-ci.yml | ||
.mailmap | ||
.travis.yml | ||
CODEOWNERS | ||
README.rst | ||
VERSION | ||
meson.build | ||
meson_options.txt |
README.rst
`Mesa <https://mesa3d.org>`_ - The 3D Graphics Library ====================================================== Source ------ This repository lives at https://gitlab.freedesktop.org/mesa/mesa. Other repositories are likely forks, and code found there is not supported. Build & install --------------- You can find more information in our documentation (`docs/install.rst <https://mesa3d.org/install.html>`_), but the recommended way is to use Meson (`docs/meson.rst <https://mesa3d.org/meson.html>`_): .. code-block:: sh $ mkdir build $ cd build $ meson .. $ sudo ninja install Support ------- Many Mesa devs hang on IRC; if you're not sure which channel is appropriate, you should ask your question on `OFTC's #dri-devel <irc://irc.oftc.net/dri-devel>`_, someone will redirect you if necessary. Remember that not everyone is in the same timezone as you, so it might take a while before someone qualified sees your question. To figure out who you're talking to, or which nick to ping for your question, check out `Who's Who on IRC <https://dri.freedesktop.org/wiki/WhosWho/>`_. The next best option is to ask your question in an email to the mailing lists: `mesa-dev\@lists.freedesktop.org <https://lists.freedesktop.org/mailman/listinfo/mesa-dev>`_ Bug reports ----------- If you think something isn't working properly, please file a bug report (`docs/bugs.rst <https://mesa3d.org/bugs.html>`_). Contributing ------------ Contributions are welcome, and step-by-step instructions can be found in our documentation (`docs/submittingpatches.rst <https://mesa3d.org/submittingpatches.html>`_). Note that Mesa uses gitlab for patches submission, review and discussions.