From a38de4c011da73ae64d00565c6b4710ed1b3230e Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Tue, 28 Feb 2023 17:37:57 -0800 Subject: [PATCH] radv: disable tc_compatible_cmask on GFX9 in some cases There seems to be issues when sample count > 2 on GFX9. More precisely, CTS has issues when sample count > 2. Part-of: --- src/amd/ci/radv-raven-fails.txt | 8 ------- src/amd/ci/radv-renoir-aco-fails.txt | 33 ---------------------------- src/amd/ci/radv-vega10-aco-fails.txt | 33 ---------------------------- src/amd/vulkan/radv_image.c | 5 +++++ 4 files changed, 5 insertions(+), 74 deletions(-) diff --git a/src/amd/ci/radv-raven-fails.txt b/src/amd/ci/radv-raven-fails.txt index 49ae73ed2b3..17cd46a051b 100644 --- a/src/amd/ci/radv-raven-fails.txt +++ b/src/amd/ci/radv-raven-fails.txt @@ -1,11 +1,3 @@ -dEQP-VK.api.copy_and_blit.copy_commands2.resolve_image.diff_layout_copy_before_resolving.8_bit_general_general,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.resolve_image.diff_layout_copy_before_resolving.8_bit_transfer_src_optimal_general,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.resolve_image.whole_copy_before_resolving_compute.8_bit,Fail -dEQP-VK.api.copy_and_blit.core.resolve_image.diff_layout_copy_before_resolving.4_bit_general_general,Fail -dEQP-VK.api.copy_and_blit.core.resolve_image.diff_layout_copy_before_resolving.4_bit_transfer_src_optimal_general_bind_offset,Fail -dEQP-VK.api.copy_and_blit.core.resolve_image.diff_layout_copy_before_resolving.8_bit_general_general,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_before_resolving.4_bit_transfer_src_optimal_general,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.whole_copy_before_resolving_compute.4_bit,Fail dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers16_sets1,Crash dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers1_sets3_imm_samplers,Crash dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers2_sets4_imm_samplers,Crash diff --git a/src/amd/ci/radv-renoir-aco-fails.txt b/src/amd/ci/radv-renoir-aco-fails.txt index ed8a4fff33a..447e1e2c7ad 100644 --- a/src/amd/ci/radv-renoir-aco-fails.txt +++ b/src/amd/ci/radv-renoir-aco-fails.txt @@ -1,36 +1,3 @@ -dEQP-VK.api.copy_and_blit.copy_commands2.resolve_image.diff_layout_copy_before_resolving.4_bit_general_general,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.resolve_image.diff_layout_copy_before_resolving.4_bit_transfer_src_optimal_general,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.resolve_image.diff_layout_copy_before_resolving.8_bit_general_general,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.resolve_image.diff_layout_copy_before_resolving.8_bit_transfer_src_optimal_general,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.resolve_image.whole_copy_before_resolving_compute.4_bit,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.resolve_image.whole_copy_before_resolving_compute.8_bit,Fail -dEQP-VK.api.copy_and_blit.core.resolve_image.diff_layout_copy_before_resolving.4_bit_general_general,Fail -dEQP-VK.api.copy_and_blit.core.resolve_image.diff_layout_copy_before_resolving.4_bit_transfer_src_optimal_general,Fail -dEQP-VK.api.copy_and_blit.core.resolve_image.diff_layout_copy_before_resolving.8_bit_general_general,Fail -dEQP-VK.api.copy_and_blit.core.resolve_image.diff_layout_copy_before_resolving.8_bit_transfer_src_optimal_general,Fail -dEQP-VK.api.copy_and_blit.core.resolve_image.whole_copy_before_resolving_compute.4_bit,Fail -dEQP-VK.api.copy_and_blit.core.resolve_image.whole_copy_before_resolving_compute.8_bit,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_before_resolving.4_bit_general_general,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_before_resolving.4_bit_transfer_src_optimal_general,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_before_resolving.8_bit_general_general,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_before_resolving.8_bit_transfer_src_optimal_general,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.whole_copy_before_resolving_compute.4_bit,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.whole_copy_before_resolving_compute.8_bit,Fail - -# New fails in CTS 1.3.3.0 -dEQP-VK.api.copy_and_blit.copy_commands2.resolve_image.diff_layout_copy_before_resolving.4_bit_general_general_bind_offset,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.resolve_image.diff_layout_copy_before_resolving.4_bit_transfer_src_optimal_general_bind_offset,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.resolve_image.diff_layout_copy_before_resolving.8_bit_general_general_bind_offset,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.resolve_image.diff_layout_copy_before_resolving.8_bit_transfer_src_optimal_general_bind_offset,Fail -dEQP-VK.api.copy_and_blit.core.resolve_image.diff_layout_copy_before_resolving.4_bit_general_general_bind_offset,Fail -dEQP-VK.api.copy_and_blit.core.resolve_image.diff_layout_copy_before_resolving.4_bit_transfer_src_optimal_general_bind_offset,Fail -dEQP-VK.api.copy_and_blit.core.resolve_image.diff_layout_copy_before_resolving.8_bit_general_general_bind_offset,Fail -dEQP-VK.api.copy_and_blit.core.resolve_image.diff_layout_copy_before_resolving.8_bit_transfer_src_optimal_general_bind_offset,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_before_resolving.4_bit_general_general_bind_offset,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_before_resolving.4_bit_transfer_src_optimal_general_bind_offset,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_before_resolving.8_bit_general_general_bind_offset,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_before_resolving.8_bit_transfer_src_optimal_general_bind_offset,Fail - # Test bugs with GPL (all of them should be fixed with recent CTS). dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage,Crash dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage_delayed_destroy,Crash diff --git a/src/amd/ci/radv-vega10-aco-fails.txt b/src/amd/ci/radv-vega10-aco-fails.txt index 7933f83c39f..38ab1996376 100644 --- a/src/amd/ci/radv-vega10-aco-fails.txt +++ b/src/amd/ci/radv-vega10-aco-fails.txt @@ -1,36 +1,3 @@ -dEQP-VK.api.copy_and_blit.copy_commands2.resolve_image.diff_layout_copy_before_resolving.4_bit_general_general,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.resolve_image.diff_layout_copy_before_resolving.4_bit_transfer_src_optimal_general,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.resolve_image.diff_layout_copy_before_resolving.8_bit_general_general,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.resolve_image.diff_layout_copy_before_resolving.8_bit_transfer_src_optimal_general,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.resolve_image.whole_copy_before_resolving_compute.4_bit,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.resolve_image.whole_copy_before_resolving_compute.8_bit,Fail -dEQP-VK.api.copy_and_blit.core.resolve_image.diff_layout_copy_before_resolving.4_bit_general_general,Fail -dEQP-VK.api.copy_and_blit.core.resolve_image.diff_layout_copy_before_resolving.4_bit_transfer_src_optimal_general,Fail -dEQP-VK.api.copy_and_blit.core.resolve_image.diff_layout_copy_before_resolving.8_bit_general_general,Fail -dEQP-VK.api.copy_and_blit.core.resolve_image.diff_layout_copy_before_resolving.8_bit_transfer_src_optimal_general,Fail -dEQP-VK.api.copy_and_blit.core.resolve_image.whole_copy_before_resolving_compute.4_bit,Fail -dEQP-VK.api.copy_and_blit.core.resolve_image.whole_copy_before_resolving_compute.8_bit,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_before_resolving.4_bit_general_general,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_before_resolving.4_bit_transfer_src_optimal_general,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_before_resolving.8_bit_general_general,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_before_resolving.8_bit_transfer_src_optimal_general,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.whole_copy_before_resolving_compute.4_bit,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.whole_copy_before_resolving_compute.8_bit,Fail - -# New fails in CTS 1.3.3.0 -dEQP-VK.api.copy_and_blit.copy_commands2.resolve_image.diff_layout_copy_before_resolving.4_bit_general_general_bind_offset,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.resolve_image.diff_layout_copy_before_resolving.4_bit_transfer_src_optimal_general_bind_offset,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.resolve_image.diff_layout_copy_before_resolving.8_bit_general_general_bind_offset,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.resolve_image.diff_layout_copy_before_resolving.8_bit_transfer_src_optimal_general_bind_offset,Fail -dEQP-VK.api.copy_and_blit.core.resolve_image.diff_layout_copy_before_resolving.4_bit_general_general_bind_offset,Fail -dEQP-VK.api.copy_and_blit.core.resolve_image.diff_layout_copy_before_resolving.4_bit_transfer_src_optimal_general_bind_offset,Fail -dEQP-VK.api.copy_and_blit.core.resolve_image.diff_layout_copy_before_resolving.8_bit_general_general_bind_offset,Fail -dEQP-VK.api.copy_and_blit.core.resolve_image.diff_layout_copy_before_resolving.8_bit_transfer_src_optimal_general_bind_offset,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_before_resolving.4_bit_general_general_bind_offset,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_before_resolving.4_bit_transfer_src_optimal_general_bind_offset,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_before_resolving.8_bit_general_general_bind_offset,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_before_resolving.8_bit_transfer_src_optimal_general_bind_offset,Fail - # Test bugs with GPL (all of them should be fixed with recent CTS). dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage,Crash dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage_delayed_destroy,Crash diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c index 7a6bcbe297e..cf3df948ecb 100644 --- a/src/amd/vulkan/radv_image.c +++ b/src/amd/vulkan/radv_image.c @@ -383,6 +383,11 @@ radv_use_tc_compat_cmask_for_image(struct radv_device *device, struct radv_image if (device->physical_device->rad_info.gfx_level < GFX8) return false; + /* GFX9 has issues when sample count is greater than 2 */ + if (device->physical_device->rad_info.gfx_level == GFX9 && + image->info.samples > 2) + return false; + if (device->instance->debug_flags & RADV_DEBUG_NO_TC_COMPAT_CMASK) return false;