From 1764259ba8d0d2ba6d60f5c90b2b6da94ec523f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timur=20Krist=C3=B3f?= Date: Wed, 4 Oct 2023 21:35:41 +0200 Subject: [PATCH] radv: Disable DCC on exclusive images with transfer queue when SDMA doesn't support it. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Timur Kristóf Reviewed-by: Samuel Pitoiset 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 613583353b0..07d6dea71af 100644 --- a/src/amd/vulkan/radv_image.c +++ b/src/amd/vulkan/radv_image.c @@ -2411,6 +2411,12 @@ radv_layout_dcc_compressed(const struct radv_device *device, const struct radv_i (queue_mask & (1u << RADV_QUEUE_COMPUTE)) && !radv_image_use_dcc_image_stores(device, image)) return false; + /* Don't compress exclusive images used on transfer queues when SDMA doesn't support DCC. + * Note that DCC is already disabled on concurrent images when not supported. + */ + if (queue_mask == BITFIELD_BIT(RADV_QUEUE_TRANSFER) && !device->physical_device->rad_info.sdma_supports_compression) + return false; + if (layout == VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT) { /* Do not compress DCC with feedback loops because we can't read&write it without introducing * corruption.