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 <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10482>
This commit is contained in:
Samuel Pitoiset 2021-04-27 14:50:35 +02:00 committed by Marge Bot
parent 80f55e5163
commit 8b31092bcd

View file

@ -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