From: Dave Airlie Date: Fri, 26 Apr 2019 02:50:11 +0000 (+1000) Subject: nir: fix bit_size in lower indirect derefs. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d946cbe9f54a1b733e0bdec2423ae47d408114fb;p=mesa.git 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 Signed-off-by: Dave Airlie --- 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);