From e4cb64c0e22d4387466739a65765fa227fa8b99c Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Fri, 3 Feb 2023 20:58:05 -0500 Subject: [PATCH] asahi/nir_lower_sysvals: Split large ranges It is our responsibility to ensure uniform ranges don't exceed 64 uniforms. Signed-off-by: Alyssa Rosenzweig Part-of: --- src/gallium/drivers/asahi/agx_nir_lower_sysvals.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/asahi/agx_nir_lower_sysvals.c b/src/gallium/drivers/asahi/agx_nir_lower_sysvals.c index 433d005..b76a5cd 100644 --- a/src/gallium/drivers/asahi/agx_nir_lower_sysvals.c +++ b/src/gallium/drivers/asahi/agx_nir_lower_sysvals.c @@ -125,10 +125,13 @@ lay_out_uniforms(struct agx_compiled_shader *shader, struct state *state) do { uint8_t size = state->element_size[range_start]; - /* Find a range of constant element size. [range_start, range_end) */ + /* Find a range of constant element size. [range_start, range_end). + * Ranges may be at most 64 halfs. + */ unsigned range_end; for (range_end = range_start + 1; - range_end < end && state->element_size[range_end] == size; + range_end < end && state->element_size[range_end] == size && + range_end < range_start + 64; ++range_end) ; -- 2.7.4