Mesa (master): aco: fix SADDR with FLAT on GFX10

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Nov 29 18:07:21 UTC 2019


Module: Mesa
Branch: master
Commit: 31e68e230f5800670e457414e8846a7b8fc23037
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=31e68e230f5800670e457414e8846a7b8fc23037

Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Wed Nov 27 17:08:27 2019 +0000

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 <pendingchaos02 at gmail.com>
Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>

---

 src/amd/compiler/aco_assembler.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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




More information about the mesa-commit mailing list