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 <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21118>
This commit is contained in:
Alyssa Rosenzweig 2023-02-03 20:58:05 -05:00 committed by Marge Bot
parent b0f1964771
commit e4cb64c0e2

View file

@ -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)
;