From c1e668d5d1947b9b913d39b66ee8800f1bb64b26 Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Fri, 3 Sep 2021 17:15:03 +0100 Subject: [PATCH] aco/ra: don't use ds_write_b8_d16_hi/ds_write_b16_d16_hi on GFX8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GFX8 doesn't support these opcodes. Signed-off-by: Rhys Perry Reviewed-by: Timur Kristóf Fixes: c75138ed640 ("aco/ra: refactor subdword definition info") Part-of: --- src/amd/ci/deqp-radv-fiji-aco-skips.txt | 3 --- src/amd/ci/deqp-radv-polaris10-aco-skips.txt | 3 --- src/amd/compiler/aco_register_allocation.cpp | 2 +- 3 files changed, 1 insertion(+), 7 deletions(-) diff --git a/src/amd/ci/deqp-radv-fiji-aco-skips.txt b/src/amd/ci/deqp-radv-fiji-aco-skips.txt index 8db287958a1..521123c7738 100644 --- a/src/amd/ci/deqp-radv-fiji-aco-skips.txt +++ b/src/amd/ci/deqp-radv-fiji-aco-skips.txt @@ -7,6 +7,3 @@ dEQP-VK.wsi.* # Exclude this test which timeout most of the time. dEQP-VK.memory.pipeline_barrier.transfer_src_transfer_dst.1048576 - -# ACO hang -dEQP-VK.memory_model.shared.* diff --git a/src/amd/ci/deqp-radv-polaris10-aco-skips.txt b/src/amd/ci/deqp-radv-polaris10-aco-skips.txt index 8db287958a1..521123c7738 100644 --- a/src/amd/ci/deqp-radv-polaris10-aco-skips.txt +++ b/src/amd/ci/deqp-radv-polaris10-aco-skips.txt @@ -7,6 +7,3 @@ dEQP-VK.wsi.* # Exclude this test which timeout most of the time. dEQP-VK.memory.pipeline_barrier.transfer_src_transfer_dst.1048576 - -# ACO hang -dEQP-VK.memory_model.shared.* diff --git a/src/amd/compiler/aco_register_allocation.cpp b/src/amd/compiler/aco_register_allocation.cpp index 2ed68fd1e61..e19eb0bb2df 100644 --- a/src/amd/compiler/aco_register_allocation.cpp +++ b/src/amd/compiler/aco_register_allocation.cpp @@ -485,7 +485,7 @@ get_subdword_operand_stride(chip_class chip, const aco_ptr& instr, switch (instr->opcode) { case aco_opcode::v_cvt_f32_ubyte0: return 1; case aco_opcode::ds_write_b8: - case aco_opcode::ds_write_b16: return chip >= GFX8 ? 2 : 4; + case aco_opcode::ds_write_b16: return chip >= GFX9 ? 2 : 4; case aco_opcode::buffer_store_byte: case aco_opcode::buffer_store_short: case aco_opcode::flat_store_byte: