This is step 3 in an attempt to unify a bunch of nir_inline_uniforms.c
and lvp_inline_uniforms.c code.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21179>
nir_src_as_uint(intr->src[1]) <= max_offset &&
/* TODO: Can't handle other bit sizes for now. */
intr->dest.ssa.bit_size == 32) {
+ /* num_offsets can be NULL if-and-only-if uni_offsets is NULL. */
+ assert((num_offsets == NULL) == (uni_offsets == NULL));
+
+ /* If we're just checking that it's a uniform load, don't check (or
+ * add to) the table.
+ */
+ if (uni_offsets == NULL)
+ return true;
+
uint32_t offset = nir_src_as_uint(intr->src[1]) + component * 4;
assert(offset < MAX_OFFSET);