Mesa (staging/22.0): aco: Fix VOP2 instruction format in visit_tex.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Apr 14 09:06:15 UTC 2022


Module: Mesa
Branch: staging/22.0
Commit: b8a6eb574dbccbf89cd41a1dd54536783fe112b9
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b8a6eb574dbccbf89cd41a1dd54536783fe112b9

Author: Timur Kristóf <timur.kristof at gmail.com>
Date:   Wed Apr 13 14:11:18 2022 +0200

aco: Fix VOP2 instruction format in visit_tex.

There was a v_or_b32 that accidentally used SOP2.
It should use VOP2.

Issue found by looking at a gfxreconstruct trace posted by a user
in this bug: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5838

Cc: mesa-stable
Fixes: 93c8ebfa780ebd1495095e794731881aef29e7d3 "aco: Initial commit of independent AMD compiler"

Signed-off-by: Timur Kristóf <timur.kristof at gmail.com>
Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15923>
(cherry picked from commit b874a2ed61b056fd69fc2aa4cbf2291d95177b23)

---

 .pick_status.json                              | 2 +-
 src/amd/compiler/aco_instruction_selection.cpp | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index 17c4e6d07d7..67fc7087e23 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -116,7 +116,7 @@
         "description": "aco: Fix VOP2 instruction format in visit_tex.",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "because_sha": "93c8ebfa780ebd1495095e794731881aef29e7d3"
     },
     {
diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp
index d8af3d9e76b..acb93f85b83 100644
--- a/src/amd/compiler/aco_instruction_selection.cpp
+++ b/src/amd/compiler/aco_instruction_selection.cpp
@@ -9438,7 +9438,7 @@ visit_tex(isel_context* ctx, nir_tex_instr* instr)
          }
 
          if (pack_const && pack != Temp())
-            pack = bld.sop2(aco_opcode::v_or_b32, bld.def(v1), Operand::c32(pack_const), pack);
+            pack = bld.vop2(aco_opcode::v_or_b32, bld.def(v1), Operand::c32(pack_const), pack);
       }
       if (pack_const && pack == Temp())
          offset = bld.copy(bld.def(v1), Operand::c32(pack_const));



More information about the mesa-commit mailing list