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

Author: Chia-I Wu <[email protected]>
Date:   Fri Jun 30 17:36:57 2023 -0700

radv: disable tc-compat htile for layered images on gfx8

sliceInterleaved may be true for layered images on gfx8.  Such a htile
cannot be cleared with radv_clear_htile.

Fixes 24 failures in
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.* on GFX8.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23959>

---

 src/amd/vulkan/radv_image.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c
index d57ba225605..dcfcfae176c 100644
--- a/src/amd/vulkan/radv_image.c
+++ b/src/amd/vulkan/radv_image.c
@@ -99,6 +99,12 @@ radv_use_tc_compat_htile_for_image(struct radv_device 
*device, const VkImageCrea
        */
       if (format != VK_FORMAT_D32_SFLOAT_S8_UINT && format != 
VK_FORMAT_D32_SFLOAT && format != VK_FORMAT_D16_UNORM)
          return false;
+
+      /* TC-compat HTILE for layered images can have interleaved slices (see 
sliceInterleaved flag
+       * in addrlib).  radv_clear_htile does not work.
+       */
+      if (pCreateInfo->arrayLayers > 1)
+         return false;
    }
 
    return true;

Reply via email to