diff --git a/.pick_status.json b/.pick_status.json index 895fc7aa731..716d2547560 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -84,7 +84,7 @@ "description": "gallivm: handle u16 correct on const loads.", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "e28cfb2bada2398a9ddcadd03fac060d5654a15e", "notes": null diff --git a/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c index ee00083c460..9e84d0a009b 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c @@ -1269,10 +1269,7 @@ emit_load_const(struct lp_build_nir_soa_context *bld, for (unsigned i = 0; i < instr->def.num_components; i++) { outval[i] = lp_build_const_int_vec(bld->base.gallivm, int_bld->type, - bits == 8 ? instr->value[i].u8 : - bits == 16 ? instr->value[i].u32 : - bits == 32 ? instr->value[i].u32 : - instr->value[i].u64); + nir_const_value_as_uint(instr->value[i], bits)); } for (unsigned i = instr->def.num_components; i < NIR_MAX_VEC_COMPONENTS; i++) { outval[i] = NULL;