Mesa (master): freedreno: Fix UBO load range detection on booleans.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Sat Jun 22 00:16:35 UTC 2019
Module: Mesa
Branch: master
Commit: 5e7c96b95df0f2d792820a27b278a95a90893e4a
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5e7c96b95df0f2d792820a27b278a95a90893e4a
Author: Eric Anholt <eric at anholt.net>
Date: Thu Jun 6 12:19:06 2019 -0700
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 <robdclark at gmail.com>
---
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);
More information about the mesa-commit
mailing list