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)) {