aco: fix inserting expcnt for MIMG on GFX6
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 12 Jan 2021 10:45:14 +0000 (11:45 +0100)
committerMarge Bot <eric+marge@anholt.net>
Tue, 12 Jan 2021 11:32:12 +0000 (11:32 +0000)
MIMG VDATA has moved to its own operand.

Fixes: 962c917cea9 ("aco: move MIMG VDATA to its own operand")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8435>

src/amd/compiler/aco_insert_waitcnt.cpp

index b378136..87a7e09 100644 (file)
@@ -831,10 +831,10 @@ void gen(Instruction* instr, wait_ctx& ctx)
          insert_wait_entry(ctx, instr->operands[3], event_vmem_gpr_lock);
       } else if (ctx.chip_class == GFX6 &&
                  instr->format == Format::MIMG &&
-                 instr->operands[1].regClass().type() == RegType::vgpr) {
+                 instr->operands.size() >= 4) {
          ctx.exp_cnt++;
          update_counters(ctx, event_vmem_gpr_lock);
-         insert_wait_entry(ctx, instr->operands[1], event_vmem_gpr_lock);
+         insert_wait_entry(ctx, instr->operands[3], event_vmem_gpr_lock);
       }
 
       break;