Mesa (staging/19.3): aco: fix read_invocation with VGPR lane index

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Nov 13 18:33:33 UTC 2019


Module: Mesa
Branch: staging/19.3
Commit: 441c95b4508496e513b2d5c87cb87f2aac7582f6
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=441c95b4508496e513b2d5c87cb87f2aac7582f6

Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Tue Nov 12 15:44:17 2019 +0000

aco: fix read_invocation with VGPR lane index

Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
Fixes: 93c8ebfa ('aco: Initial commit of independent AMD compiler')
(cherry picked from commit 5a1bacb6f916d9a46a3d44830a4eb4bd3dca7d23)

---

 src/amd/compiler/aco_instruction_selection.cpp | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp
index 7bdc21f170d..d32ee580613 100644
--- a/src/amd/compiler/aco_instruction_selection.cpp
+++ b/src/amd/compiler/aco_instruction_selection.cpp
@@ -5626,9 +5626,8 @@ void visit_intrinsic(isel_context *ctx, nir_intrinsic_instr *instr)
    }
    case nir_intrinsic_read_invocation: {
       Temp src = get_ssa_temp(ctx, instr->src[0].ssa);
-      Temp lane = get_ssa_temp(ctx, instr->src[1].ssa);
+      Temp lane = bld.as_uniform(get_ssa_temp(ctx, instr->src[1].ssa));
       Temp dst = get_ssa_temp(ctx, &instr->dest.ssa);
-      assert(lane.regClass() == s1);
       if (src.regClass() == v1) {
          emit_wqm(ctx, bld.vop3(aco_opcode::v_readlane_b32, bld.def(s1), src, lane), dst);
       } else if (src.regClass() == v2) {




More information about the mesa-commit mailing list