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

committed by
Marge Bot

parent
3cfa3187cb
commit
f136838d1e
@@ -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);
|
||||
|
Reference in New Issue
Block a user