mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 11:28:05 +02:00
gallivm/nir: fix const loading on big endian systems
The code was expecting the lower 32-bits of the 64-bit to be what it wanted, don't be implicit, pull the value from the union. This should fix rendering on big endian systems since NIR was introduced. Fixes:44a6b0107b("gallivm: add nir->llvm translation (v2)") Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5677> (cherry picked from commit237d728418)
This commit is contained in:
parent
4a2d276950
commit
ce2092baa2
2 changed files with 2 additions and 2 deletions
|
|
@ -3199,7 +3199,7 @@
|
|||
"description": "gallivm/nir: fix const loading on big endian systems",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"master_sha": null,
|
||||
"because_sha": "44a6b0107b37ad9644d3435cf6d2d29b6779654f"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -862,7 +862,7 @@ static void visit_load_const(struct lp_build_nir_context *bld_base,
|
|||
LLVMValueRef result[NIR_MAX_VEC_COMPONENTS];
|
||||
struct lp_build_context *int_bld = get_int_bld(bld_base, true, instr->def.bit_size);
|
||||
for (unsigned i = 0; i < instr->def.num_components; i++)
|
||||
result[i] = lp_build_const_int_vec(bld_base->base.gallivm, int_bld->type, instr->value[i].u64);
|
||||
result[i] = lp_build_const_int_vec(bld_base->base.gallivm, int_bld->type, instr->def.bit_size == 32 ? instr->value[i].u32 : instr->value[i].u64);
|
||||
assign_ssa_dest(bld_base, &instr->def, result);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue