Module: Mesa
Branch: staging/23.3
Commit: 0aa0ae31d3ea07471600353c2ae4325446f970ae
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0aa0ae31d3ea07471600353c2ae4325446f970ae

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>
(cherry picked from commit 3465e9f3526c8dbba3ef5ab5bd6158b70422ab83)

---

 .pick_status.json            |  2 +-
 src/intel/vulkan/anv_image.c | 10 ++++++++--
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index 1dd5d26d8ca..14a0536ed0c 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -34,7 +34,7 @@
         "description": "anv: Assume that imported bos already have flat CCS 
requirements satisfied",
         "nominated": true,
         "nomination_type": 0,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": null,
         "notes": null
diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c
index 8e14b46a676..aecb2975ebe 100644
--- a/src/intel/vulkan/anv_image.c
+++ b/src/intel/vulkan/anv_image.c
@@ -2301,8 +2301,14 @@ 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 && bo->vram_only)
+         /* 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 &&
+             (bo->vram_only || bo->is_external))
             continue;
 
          /* Add the plane to the aux map when applicable. */

Reply via email to