freedreno: Fix UBO load range detection on booleans.

NIR 1-bit bool dests will have a bit size of 1, and thus a calculated
"bytes" of 0.  load_ubo is always loading from dwords in the source.

Fixes: 893425a607 ("freedreno/ir3: Push UBOs to constant file")
Reviewed-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
Eric Anholt 2019-06-06 12:19:06 -07:00
parent 23a7feda63
commit 5e7c96b95d

View file

@ -32,8 +32,7 @@ get_ubo_load_range(nir_intrinsic_instr *instr)
{
struct ir3_ubo_range r;
const int bytes = nir_intrinsic_dest_components(instr) *
(nir_dest_bit_size(instr->dest) / 8);
const int bytes = nir_intrinsic_dest_components(instr) * 4;
r.start = ROUND_DOWN_TO(nir_src_as_uint(instr->src[1]), 16 * 4);
r.end = ALIGN(r.start + bytes, 16 * 4);