From e7c4ebc0cdea4ad7f87ebd3cee6779ea527493a4 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Fri, 30 Jun 2023 17:36:57 -0700 Subject: [PATCH] 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: --- 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 d57ba22..dcfcfae 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; -- 2.7.4