Revert "radv: disable DCC with signedness reinterpretation on GFX11"

This was affecting Cyberpunk and A Plague Tale Requiem but both issues
should be fixed now. The issue with A Plague Tale Requiem was because
of a game bug and vkd3d-proton now has a workaround.

This reverts commit e6735409ee.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25664>
This commit is contained in:
Samuel Pitoiset 2023-10-11 18:45:15 +02:00 committed by Marge Bot
parent 11b707de0e
commit fbe4e16db2

View file

@ -1959,6 +1959,10 @@ radv_dcc_formats_compatible(enum amd_gfx_level gfx_level, VkFormat format1, VkFo
unsigned size1, size2;
int i;
/* All formats are compatible on GFX11. */
if (gfx_level >= GFX11)
return true;
if (format1 == format2)
return true;
@ -1981,16 +1985,8 @@ radv_dcc_formats_compatible(enum amd_gfx_level gfx_level, VkFormat format1, VkFo
(type1 == dcc_channel_float) != (type2 == dcc_channel_float) || size1 != size2)
return false;
if (type1 != type2) {
/* FIXME: All formats should be compatible on GFX11 but for some reasons DCC with signedness
* reinterpretation doesn't work as expected, like R8_UINT<->R8_SINT. Note that disabling
* fast-clears doesn't help.
*/
if (gfx_level >= GFX11)
return false;
if (type1 != type2)
*sign_reinterpret = true;
}
return true;
}