Mesa (master): nir: fix bit_size in lower indirect derefs.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Apr 26 03:17:55 UTC 2019


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

Author: Dave Airlie <airlied at redhat.com>
Date:   Fri Apr 26 12:50:11 2019 +1000

nir: fix bit_size in lower indirect derefs.

This fixes a case where we are expecting 64-bit but generate
32-bit consts and validate gets angry.

Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Signed-off-by: Dave Airlie <airlied at redhat.com>

---

 src/compiler/nir/nir_lower_indirect_derefs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/compiler/nir/nir_lower_indirect_derefs.c b/src/compiler/nir/nir_lower_indirect_derefs.c
index 1e1e84fb3b0..58365628885 100644
--- a/src/compiler/nir/nir_lower_indirect_derefs.c
+++ b/src/compiler/nir/nir_lower_indirect_derefs.c
@@ -51,7 +51,7 @@ emit_indirect_load_store_deref(nir_builder *b, nir_intrinsic_instr *orig_instr,
       nir_deref_instr *deref = *deref_arr;
       assert(deref->deref_type == nir_deref_type_array);
 
-      nir_push_if(b, nir_ilt(b, deref->arr.index.ssa, nir_imm_int(b, mid)));
+      nir_push_if(b, nir_ilt(b, deref->arr.index.ssa, nir_imm_intN_t(b, mid, parent->dest.ssa.bit_size)));
       emit_indirect_load_store_deref(b, orig_instr, parent, deref_arr,
                                      start, mid, &then_dest, src);
       nir_push_else(b, NULL);




More information about the mesa-commit mailing list