From: Samuel Pitoiset Date: Tue, 3 Aug 2021 09:36:36 +0000 (+0200) Subject: radv: perform a FCE for MSAA images that might have been fast-cleared X-Git-Tag: upstream/22.3.5~19453 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f136838d1ec784382ece8099d195422e28ec5e5c;p=platform%2Fupstream%2Fmesa.git radv: perform a FCE for MSAA images that might have been fast-cleared FMASK_DECOMPRESS can't eliminate DCC fast clears. This will allow to enable DCC MSAA fast clears that require a FCE. Only supported on GFX10+. Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen Part-of: --- diff --git a/src/amd/vulkan/radv_meta_fast_clear.c b/src/amd/vulkan/radv_meta_fast_clear.c index 5b7d4e3..f4d918a 100644 --- a/src/amd/vulkan/radv_meta_fast_clear.c +++ b/src/amd/vulkan/radv_meta_fast_clear.c @@ -783,6 +783,13 @@ radv_fast_clear_flush_image_inplace(struct radv_cmd_buffer *cmd_buffer, struct r const VkImageSubresourceRange *subresourceRange) { if (radv_image_has_fmask(image) && !image->tc_compatible_cmask) { + if (radv_image_has_dcc(image) && radv_image_has_cmask(image)) { + /* MSAA images with DCC and CMASK might have been fast-cleared and might require a FCE but + * FMASK_DECOMPRESS can't eliminate DCC fast clears. + */ + radv_fast_clear_eliminate(cmd_buffer, image, subresourceRange); + } + radv_fmask_decompress(cmd_buffer, image, subresourceRange); } else { radv_fast_clear_eliminate(cmd_buffer, image, subresourceRange);