Module: Mesa
Branch: main
Commit: fbe4e16db2d369c3e54067d17f81bdce8661a461
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fbe4e16db2d369c3e54067d17f81bdce8661a461

Author: Samuel Pitoiset <samuel.pitoi...@gmail.com>
Date:   Wed Oct 11 18:45:15 2023 +0200

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 e6735409eefaec52ef78acecd3f3e7c310c63887.

Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25664>

---

 src/amd/vulkan/radv_formats.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/src/amd/vulkan/radv_formats.c b/src/amd/vulkan/radv_formats.c
index 103d982de0b..7ed01f2aae0 100644
--- a/src/amd/vulkan/radv_formats.c
+++ b/src/amd/vulkan/radv_formats.c
@@ -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;
 }

Reply via email to