From 8b31092bcd38db242eba9e2267fb17b841c93735 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Tue, 27 Apr 2021 14:50:35 +0200 Subject: [PATCH] radv: only keep concurrent MSAA images compressed if TC-compat CMASK Otherwise, we need a FMASK_DECOMPRESS which is only supported on the gfx queue. Fixes rendering with Forza Horizon 4 on Polaris10. Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen Part-of: --- src/amd/vulkan/radv_image.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c index 4496615f0e2..7f9379e36b2 100644 --- a/src/amd/vulkan/radv_image.c +++ b/src/amd/vulkan/radv_image.c @@ -2001,7 +2001,9 @@ radv_layout_fmask_compressed(const struct radv_device *device, const struct radv (queue_mask & (1u << RADV_QUEUE_COMPUTE))) return false; - return layout != VK_IMAGE_LAYOUT_GENERAL; + /* Only compress concurrent images if TC-compat CMASK is enabled (no FMASK decompression). */ + return layout != VK_IMAGE_LAYOUT_GENERAL && + (queue_mask == (1u << RADV_QUEUE_GENERAL) || radv_image_is_tc_compat_cmask(image)); } unsigned