aboutsummaryrefslogtreecommitdiffstats
path: root/src/amd
diff options
context:
space:
mode:
authorRhys Perry <[email protected]>2019-11-27 17:08:27 +0000
committerRhys Perry <[email protected]>2019-11-29 17:46:01 +0000
commit31e68e230f5800670e457414e8846a7b8fc23037 (patch)
tree129f180f79ea89184671e81aa750684588a7442c /src/amd
parent082e3a68fada731757ee06d1afdfa2cf654a0ad9 (diff)
aco: fix SADDR with FLAT on GFX10
The reference guide is incorrect and SADDR is actually used with FLAT on GFX10. Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]>
Diffstat (limited to 'src/amd')
-rw-r--r--src/amd/compiler/aco_assembler.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/amd/compiler/aco_assembler.cpp b/src/amd/compiler/aco_assembler.cpp
index c9b5ca10684..54dc520bb19 100644
--- a/src/amd/compiler/aco_assembler.cpp
+++ b/src/amd/compiler/aco_assembler.cpp
@@ -431,7 +431,7 @@ void emit_instruction(asm_context& ctx, std::vector<uint32_t>& out, Instruction*
assert(ctx.chip_class >= GFX10 || instr->operands[1].physReg() != 0x7F);
assert(instr->format != Format::FLAT);
encoding |= instr->operands[1].physReg() << 16;
- } else if (instr->format != Format::FLAT) {
+ } else if (instr->format != Format::FLAT || ctx.chip_class >= GFX10) { /* SADDR is actually used with FLAT on GFX10 */
if (ctx.chip_class <= GFX9)
encoding |= 0x7F << 16;
else