linker: Various trivial clean-ups in set_sampler_binding

- Remove the spurious block left from the previous commit and re-indent.

- Constify elements.

- Make the spec reference in the code look like other spec references in
  the compiler.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76323
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Cc: "10.1" <mesa-stable@lists.freedesktop.org>
Cc: github@socker.lepus.uberspace.de
(cherry picked from commit 881c52f13f)
This commit is contained in:
Ian Romanick 2014-04-04 10:52:31 -07:00 committed by Carl Worth
parent dab5a7a9f9
commit cc0e6d87be

View file

@ -94,27 +94,27 @@ set_sampler_binding(void *mem_ctx, gl_shader_program *prog,
return;
}
{
unsigned elements = MAX2(storage->array_elements, 1);
const unsigned elements = MAX2(storage->array_elements, 1);
/* From section 4.4.4 of the GLSL 4.20 specification:
* "If the binding identifier is used with an array, the first element
* of the array takes the specified unit and each subsequent element
* takes the next consecutive unit."
*/
for (unsigned int i = 0; i < elements; i++) {
storage->storage[i].i = binding + i;
}
/* Section 4.4.4 (Opaque-Uniform Layout Qualifiers) of the GLSL 4.20 spec
* says:
*
* "If the binding identifier is used with an array, the first element
* of the array takes the specified unit and each subsequent element
* takes the next consecutive unit."
*/
for (unsigned int i = 0; i < elements; i++) {
storage->storage[i].i = binding + i;
}
for (int sh = 0; sh < MESA_SHADER_STAGES; sh++) {
gl_shader *shader = prog->_LinkedShaders[sh];
for (int sh = 0; sh < MESA_SHADER_STAGES; sh++) {
gl_shader *shader = prog->_LinkedShaders[sh];
if (shader && storage->sampler[sh].active) {
for (unsigned i = 0; i < elements; i++) {
unsigned index = storage->sampler[sh].index + i;
if (shader && storage->sampler[sh].active) {
for (unsigned i = 0; i < elements; i++) {
unsigned index = storage->sampler[sh].index + i;
shader->SamplerUnits[index] = storage->storage[i].i;
}
shader->SamplerUnits[index] = storage->storage[i].i;
}
}
}