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

Author: Samuel Pitoiset <samuel.pitoi...@gmail.com>
Date:   Thu Dec 14 17:55:46 2023 +0100

radv: stop clearing CMASK to 0xcc when FMASK is present on GFX9

This is incorrect because clearing CMASK to 0xCC should only happen
for fast clears with DCC and FMASK/CMASK.

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

---

 src/amd/ci/radv-renoir-aco-flakes.txt |  4 ----
 src/amd/ci/radv-vega10-aco-flakes.txt | 13 -------------
 src/amd/vulkan/radv_cmd_buffer.c      | 21 +++------------------
 3 files changed, 3 insertions(+), 35 deletions(-)

diff --git a/src/amd/ci/radv-renoir-aco-flakes.txt 
b/src/amd/ci/radv-renoir-aco-flakes.txt
index dd9ccf4098b..8022a6f6dc6 100644
--- a/src/amd/ci/radv-renoir-aco-flakes.txt
+++ b/src/amd/ci/radv-renoir-aco-flakes.txt
@@ -1,8 +1,4 @@
 
dEQP-VK.reconvergence.workgroup_uniform_control_flow_elect.compute.nesting4.2.35
 
-# https://gitlab.freedesktop.org/mesa/mesa/-/issues/8817
-dEQP-VK.*framebuffer_attachment.diff_attachments.*
-dEQP-VK.*framebuffer_attachment.multi_attachments_not_exported_2d.*
-
 # first noticed in https://gitlab.freedesktop.org/mesa/mesa/-/pipelines/898685
 dEQP-VK.pipeline.monolithic.timestamp.calibrated.dev_domain_test
diff --git a/src/amd/ci/radv-vega10-aco-flakes.txt 
b/src/amd/ci/radv-vega10-aco-flakes.txt
index ba7dabb59a7..e69de29bb2d 100644
--- a/src/amd/ci/radv-vega10-aco-flakes.txt
+++ b/src/amd/ci/radv-vega10-aco-flakes.txt
@@ -1,13 +0,0 @@
-dEQP-VK.multiview.renderpass2.multisample.8_1_1_8
-dEQP-VK.multiview.renderpass2.multisample.8
-dEQP-VK.multiview.renderpass2.multisample.15_15_15_15
-dEQP-VK.multiview.renderpass2.multisample.cmd_copy_query_pool_results.*
-dEQP-VK.multiview.renderpass2.multisample.get_query_pool_results.*
-dEQP-VK.multiview.dynamic_rendering.multisample.cmd_copy_query_pool_results.*
-dEQP-VK.multiview.dynamic_rendering.multisample.get_query_pool_results.*
-dEQP-VK.multiview.multisample.get_query_pool_results.*
-
-# https://gitlab.freedesktop.org/mesa/mesa/-/issues/8817
-dEQP-VK.*framebuffer_attachment.diff_attachments.*
-dEQP-VK.*framebuffer_attachment.multi_attachments_not_exported_2d.*
-dEQP-VK.*framebuffer_attachment.resolve_input_same_attachment
diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index c5c327efce2..2006eecf27d 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -10274,25 +10274,10 @@ radv_init_color_image_metadata(struct radv_cmd_buffer 
*cmd_buffer, struct radv_i
    cmd_buffer->state.flush_bits |= radv_src_access_flush(cmd_buffer, 
VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT, image);
 
    if (radv_image_has_cmask(image)) {
-      uint32_t value;
+      static const uint32_t cmask_clear_values[4] = {0xffffffff, 0xdddddddd, 
0xeeeeeeee, 0xffffffff};
+      uint32_t log2_samples = util_logbase2(image->vk.samples);
 
-      if (cmd_buffer->device->physical_device->rad_info.gfx_level == GFX9) {
-         /* TODO: Fix clearing CMASK layers on GFX9. */
-         if (radv_image_is_tc_compat_cmask(image) ||
-             (radv_image_has_fmask(image) &&
-              radv_layout_can_fast_clear(cmd_buffer->device, image, 
range->baseMipLevel, dst_layout, dst_queue_mask))) {
-            value = 0xccccccccu;
-         } else {
-            value = 0xffffffffu;
-         }
-      } else {
-         static const uint32_t cmask_clear_values[4] = {0xffffffff, 
0xdddddddd, 0xeeeeeeee, 0xffffffff};
-         uint32_t log2_samples = util_logbase2(image->vk.samples);
-
-         value = cmask_clear_values[log2_samples];
-      }
-
-      flush_bits |= radv_init_cmask(cmd_buffer, image, range, value);
+      flush_bits |= radv_init_cmask(cmd_buffer, image, range, 
cmask_clear_values[log2_samples]);
    }
 
    if (radv_image_has_fmask(image)) {

Reply via email to