[Mesa-dev] [PATCH] radv: don't do format replacement on tc compat htile surfaces.

Dave Airlie airlied at gmail.com
Wed Dec 27 07:04:23 UTC 2017


From: Dave Airlie <airlied at redhat.com>

For copies the texture unit needs to know the depth format so
it can read the htile data properly.

This fixes:
dEQP-VK.renderpass.suballocation.formats.d32_sfloat_s8_uint.load.clear

Signed-off-by: Dave Airlie <airlied at redhat.com>
---
 src/amd/vulkan/radv_meta_copy.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/amd/vulkan/radv_meta_copy.c b/src/amd/vulkan/radv_meta_copy.c
index de784d5..29951f2 100644
--- a/src/amd/vulkan/radv_meta_copy.c
+++ b/src/amd/vulkan/radv_meta_copy.c
@@ -88,7 +88,8 @@ blit_surf_for_image_level_layer(struct radv_image *image,
 	else if (subres->aspectMask & VK_IMAGE_ASPECT_STENCIL_BIT)
 		format = vk_format_stencil_only(format);
 
-	if (!image->surface.dcc_size)
+	if (!image->surface.dcc_size &&
+	    !(image->surface.htile_size && image->tc_compatible_htile))
 		format = vk_format_for_size(vk_format_get_blocksize(format));
 
 	return (struct radv_meta_blit2d_surf) {
-- 
2.9.5



More information about the mesa-dev mailing list