mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-04 04:50:11 +01:00
read-only mirror of https://gitlab.freedesktop.org/mesa/mesa
The current code we have for this is a bit of a mess, likely due to trying too hard to put it in anv_android.c. The external_format bit in anv_image, for instance, really means "quit creation early" which is something we want to do for AHardwareBuffer imports regardless of whether or not they use a native format. It gets set both by declaring an AHardwareBuffer external handle type and by VkExternalFormatANDROID. However, VkExternalFormatANDROID is only allowed for AHardwareBuffer imports. If we ever did get an external format outside the context of an AHardwareBuffer import, we would end up with a useless partially created image. When we detect an AHardwareBuffer import, we punt off to a function in anv_android.c that does nothing interesting but call anv_create_image with AUX disabled and external_format = true. The aux disable here is useless because the actual isl_surf layout is done by resolve_ahw_image which also sets ISL_SURF_USAGE_DISABLE_AUX_BIT. As far as external formats go, anv_image_from_external() sets it regardless of whether or not there is actually an external format. This commit replaces anv_image::external_format with anv_image::from_ahb which is the thing we actually want to track for this. We delete anv_image_from_external and a bunch of the external_format handling because it's all useless. The end result is massively simpler and, while it appears to blur the boundary between Android code and the rest of the driver, it makes the whole flow more obvious. Reviewed-by: Tapani Pälli <tapani.palli@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12040> |
||
|---|---|---|
| .gitlab/issue_templates | ||
| .gitlab-ci | ||
| android | ||
| bin | ||
| build-support | ||
| docs | ||
| include | ||
| src | ||
| subprojects | ||
| .dir-locals.el | ||
| .editorconfig | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .mailmap | ||
| .travis.yml | ||
| meson.build | ||
| meson_options.txt | ||
| README.rst | ||
| REVIEWERS | ||
| VERSION | ||
`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.