Module: Mesa
Branch: main
Commit: 3465e9f3526c8dbba3ef5ab5bd6158b70422ab83
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3465e9f3526c8dbba3ef5ab5bd6158b70422ab83

Author: José Roberto de Souza <[email protected]>
Date:   Fri Dec 15 08:24:26 2023 -0800

anv: Assume that imported bos already have flat CCS requirements satisfied

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10291
Signed-off-by: José Roberto de Souza <[email protected]>
Reviewed-by: Lionel Landwerlin <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26711>

---

 src/intel/vulkan/anv_image.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c
index aa48332301a..5272e91d30e 100644
--- a/src/intel/vulkan/anv_image.c
+++ b/src/intel/vulkan/anv_image.c
@@ -2368,8 +2368,15 @@ VkResult anv_BindImageMemory2(
          if (!bo || !isl_aux_usage_has_ccs(image->planes[p].aux_usage))
             continue;
 
-         /* Do nothing if flat CCS requirements are satisfied. */
-         if (device->info->has_flat_ccs && anv_bo_is_vram_only(bo))
+         /* Do nothing if flat CCS requirements are satisfied.
+          *
+          * Also, assume that imported BOs with a modifier including
+          * CCS live only in local memory. Otherwise the exporter should
+          * have failed the creation of the BO.
+          */
+         if (device->info->has_flat_ccs &&
+             (anv_bo_is_vram_only(bo) ||
+              (bo->alloc_flags & ANV_BO_ALLOC_IMPORTED)))
             continue;
 
          /* Add the plane to the aux map when applicable. */

Reply via email to