nir/lower_load_const_to_scalar: support doubles and multiple bit sizes
v2 (Sam): - Add assert to detect bitsizes differents than 32 and 64 (Jason). Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
parent
12f628adcb
commit
8e69782e3e
|
@ -49,8 +49,12 @@ lower_load_const_instr_scalar(nir_load_const_instr *lower)
|
|||
nir_ssa_def *loads[4];
|
||||
for (unsigned i = 0; i < lower->def.num_components; i++) {
|
||||
nir_load_const_instr *load_comp =
|
||||
nir_load_const_instr_create(b.shader, 1, 32);
|
||||
nir_load_const_instr_create(b.shader, 1, lower->def.bit_size);
|
||||
if (lower->def.bit_size == 64)
|
||||
load_comp->value.f64[0] = lower->value.f64[i];
|
||||
else
|
||||
load_comp->value.u32[0] = lower->value.u32[i];
|
||||
assert(lower->def.bit_size == 64 || lower->def.bit_size == 32);
|
||||
nir_builder_instr_insert(&b, &load_comp->instr);
|
||||
loads[i] = &load_comp->def;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue