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

Author: Samuel Pitoiset <[email protected]>
Date:   Thu Apr 13 10:28:52 2023 +0200

radv: disable fast-clears with CMASK for 128-bit formats

This isn't supported according to RadeonSI.

This fixes a piglit test with Zink that uses a R32G32B32A32_SINT format
with MSAA 8x. This is because DCC fast-clears with MSAA require to
clear CMASK too.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7313
Signed-off-by: Samuel Pitoiset <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22462>

---

 src/amd/vulkan/radv_image.c                             | 4 ++++
 src/gallium/drivers/zink/ci/zink-radv-navi10-fails.txt  | 1 -
 src/gallium/drivers/zink/ci/zink-radv-vangogh-fails.txt | 1 -
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c
index 2dca1dec417..4b11c6ebf90 100644
--- a/src/amd/vulkan/radv_image.c
+++ b/src/amd/vulkan/radv_image.c
@@ -1638,6 +1638,10 @@ radv_image_can_fast_clear(const struct radv_device 
*device, const struct radv_im
       /* RB+ doesn't work with CMASK fast clear on Stoney. */
       if (!radv_image_has_dcc(image) && 
device->physical_device->rad_info.family == CHIP_STONEY)
          return false;
+
+      /* Fast-clears with CMASK aren't supported for 128-bit formats. */
+      if (radv_image_has_cmask(image) && 
vk_format_get_blocksizebits(image->vk.format) > 64)
+         return false;
    } else {
       if (!radv_image_has_htile(image))
          return false;
diff --git a/src/gallium/drivers/zink/ci/zink-radv-navi10-fails.txt 
b/src/gallium/drivers/zink/ci/zink-radv-navi10-fails.txt
index 1603c849b9a..2b17935636b 100644
--- a/src/gallium/drivers/zink/ci/zink-radv-navi10-fails.txt
+++ b/src/gallium/drivers/zink/ci/zink-radv-navi10-fails.txt
@@ -392,7 +392,6 @@ spec@egl_nok_texture_from_pixmap@basic,Timeout
 spec@ext_image_dma_buf_import@ext_image_dma_buf_import-sample_yuv420,Fail
 spec@ext_image_dma_buf_import@ext_image_dma_buf_import-sample_yvu420,Fail
 
spec@ext_image_dma_buf_import@ext_image_dma_buf_import-transcode-nv12-as-r8-gr88,Fail
-spec@ext_texture_integer@multisample-fast-clear gl_ext_texture_integer,Fail
 spec@ext_texture_srgb@fbo-generatemipmap-formats,Fail
 spec@ext_texture_srgb@fbo-generatemipmap-formats-s3tc,Fail
 
spec@ext_texture_srgb@fbo-generatemipmap-formats-s3tc@GL_COMPRESSED_SLUMINANCE_ALPHA,Fail
diff --git a/src/gallium/drivers/zink/ci/zink-radv-vangogh-fails.txt 
b/src/gallium/drivers/zink/ci/zink-radv-vangogh-fails.txt
index 4421983b862..9fa41bcd157 100644
--- a/src/gallium/drivers/zink/ci/zink-radv-vangogh-fails.txt
+++ b/src/gallium/drivers/zink/ci/zink-radv-vangogh-fails.txt
@@ -389,7 +389,6 @@ spec@egl_nok_texture_from_pixmap@basic,Timeout
 spec@ext_image_dma_buf_import@ext_image_dma_buf_import-sample_yuv420,Fail
 spec@ext_image_dma_buf_import@ext_image_dma_buf_import-sample_yvu420,Fail
 
spec@ext_image_dma_buf_import@ext_image_dma_buf_import-transcode-nv12-as-r8-gr88,Fail
-spec@ext_texture_integer@multisample-fast-clear gl_ext_texture_integer,Fail
 spec@ext_texture_srgb@fbo-generatemipmap-formats,Fail
 spec@ext_texture_srgb@fbo-generatemipmap-formats-s3tc,Fail
 
spec@ext_texture_srgb@fbo-generatemipmap-formats-s3tc@GL_COMPRESSED_SLUMINANCE_ALPHA,Fail

Reply via email to