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 <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12180>
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);