From 41c901b7df9aa1c06b8f726d2468f5d03d00fc1d Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Thu, 18 Jun 2020 16:26:21 +0100 Subject: [PATCH] aco: disable SMEM stores on GFX10.3 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit These are removed in GFX10.3 Signed-off-by: Rhys Perry Reviewed-by: Daniel Schürmann Part-of: --- src/amd/compiler/aco_instruction_selection.cpp | 1 + src/amd/compiler/aco_instruction_selection_setup.cpp | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp index a3b47d6e98a..85156e3fb36 100644 --- a/src/amd/compiler/aco_instruction_selection.cpp +++ b/src/amd/compiler/aco_instruction_selection.cpp @@ -6303,6 +6303,7 @@ void visit_store_ssbo(isel_context *ctx, nir_intrinsic_instr *instr) bool smem = !nir_src_is_divergent(instr->src[2]) && ctx->options->chip_class >= GFX8 && + ctx->options->chip_class < GFX10_3 && (elem_size_bytes >= 4 || can_subdword_ssbo_store_use_smem(instr)) && allow_smem; if (smem) diff --git a/src/amd/compiler/aco_instruction_selection_setup.cpp b/src/amd/compiler/aco_instruction_selection_setup.cpp index 799797f3e35..117918e0b48 100644 --- a/src/amd/compiler/aco_instruction_selection_setup.cpp +++ b/src/amd/compiler/aco_instruction_selection_setup.cpp @@ -367,7 +367,8 @@ void fill_desc_set_info(isel_context *ctx, nir_function_impl *impl) res = intrin->src[0].ssa; break; case nir_intrinsic_store_ssbo: - if (nir_src_is_divergent(intrin->src[2]) || ctx->program->chip_class < GFX8 || + if (nir_src_is_divergent(intrin->src[2]) || + ctx->program->chip_class < GFX8 || ctx->program->chip_class >= GFX10_3 || (intrin->src[0].ssa->bit_size < 32 && !can_subdword_ssbo_store_use_smem(intrin))) flags |= glc ? has_glc_vmem_store : has_nonglc_vmem_store; res = intrin->src[1].ssa; -- 2.30.2