From 5e7c96b95df0f2d792820a27b278a95a90893e4a Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 6 Jun 2019 12:19:06 -0700 Subject: [PATCH] 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: 893425a607a6 ("freedreno/ir3: Push UBOs to constant file") Reviewed-by: Rob Clark --- src/freedreno/ir3/ir3_nir_analyze_ubo_ranges.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/freedreno/ir3/ir3_nir_analyze_ubo_ranges.c b/src/freedreno/ir3/ir3_nir_analyze_ubo_ranges.c index 312c0644623..aaf962977b3 100644 --- a/src/freedreno/ir3/ir3_nir_analyze_ubo_ranges.c +++ b/src/freedreno/ir3/ir3_nir_analyze_ubo_ranges.c @@ -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); -- 2.30.2