i965: Setup glsl uniforms by index rather than name matching
authorNeil Roberts <nroberts@igalia.com>
Mon, 19 Feb 2018 13:04:54 +0000 (14:04 +0100)
committerAlejandro Piñeiro <apinheiro@igalia.com>
Thu, 21 Jun 2018 12:25:05 +0000 (14:25 +0200)
commitae0208e5b4ed75a8abd7c338db18952067f4d56e
tree7a95698d8ddf8e4614adf4359d43ba70d2bf7a19
parent57b618493102c63e840475a42c08a8cde7481ee9
i965: Setup glsl uniforms by index rather than name matching

Previously when setting up a uniform it would try to walk the uniform
storage slots and find one that matches the name of the given
variable. However, each variable already has a location which is an
index into the UniformStorage array so we can just directly jump to
the right slot. Some of the variables take up more than one slot so we
still need to calculate how many it uses.

The main reason to do this is to support ARB_gl_spirv because in that
case the uniforms don’t have names so the previous approach won’t
work.

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
src/mesa/drivers/dri/i965/brw_nir_uniforms.cpp