Module: Mesa
Branch: staging/22.3
Commit: 86f0320da816f347d29584e548e6e8214c1fbb47
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=86f0320da816f347d29584e548e6e8214c1fbb47

Author: Marcin Ĺšlusarz <[email protected]>
Date:   Fri Oct 21 15:49:52 2022 +0200

intel/compiler: adjust [store|load]_task_payload.base too

Base also needs to be converted from bytes to words.

Fixes: c36ae42e4cc ("intel/compiler: Use nir_var_mem_task_payload")
Reviewed-by: Caio Oliveira <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19409>
(cherry picked from commit 7aaafaa8ae26ee1086a51089c12e4fa9e9645c2e)

---

 .pick_status.json               | 2 +-
 src/intel/compiler/brw_mesh.cpp | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/.pick_status.json b/.pick_status.json
index cc918a03f6f..ad79ccb1ee2 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -229,7 +229,7 @@
         "description": "intel/compiler: adjust [store|load]_task_payload.base 
too",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": "c36ae42e4cccc925e5319afe41c4b8ba850730b4"
     },
diff --git a/src/intel/compiler/brw_mesh.cpp b/src/intel/compiler/brw_mesh.cpp
index dfae5ce6370..2d777c37074 100644
--- a/src/intel/compiler/brw_mesh.cpp
+++ b/src/intel/compiler/brw_mesh.cpp
@@ -202,6 +202,10 @@ brw_nir_adjust_task_payload_offsets_instr(struct 
nir_builder *b,
       nir_ssa_def *offset = nir_ishr_imm(b, offset_src->ssa, 2);
       nir_instr_rewrite_src(&intrin->instr, offset_src, 
nir_src_for_ssa(offset));
 
+      unsigned base = nir_intrinsic_base(intrin);
+      assert(base % 4 == 0);
+      nir_intrinsic_set_base(intrin, base / 4);
+
       return true;
    }
 

Reply via email to