Mesa (master): aco: disable SMEM stores on GFX10.3
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Aug 4 22:04:29 UTC 2020
Module: Mesa
Branch: master
Commit: 41c901b7df9aa1c06b8f726d2468f5d03d00fc1d
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=41c901b7df9aa1c06b8f726d2468f5d03d00fc1d
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date: Thu Jun 18 16:26:21 2020 +0100
aco: disable SMEM stores on GFX10.3
These are removed in GFX10.3
Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5546>
---
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;
More information about the mesa-commit
mailing list