glsl: tidy up entries temporary
authorTimothy Arceri <timothy.arceri@collabora.com>
Fri, 11 Nov 2016 00:45:55 +0000 (11:45 +1100)
committerTimothy Arceri <timothy.arceri@collabora.com>
Fri, 18 Nov 2016 22:35:58 +0000 (09:35 +1100)
Here we just move initialisation of entries to where it is needed i.e.
outside the loop and after the continue checks.

Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
src/compiler/glsl/link_uniforms.cpp

index 40347ac..8e411f7 100644 (file)
@@ -1130,6 +1130,10 @@ link_setup_uniform_remap_tables(struct gl_context *ctx,
       if (prog->UniformStorage[i].remap_location == UNMAPPED_UNIFORM_LOC)
          continue;
 
+      /* How many new entries for this uniform? */
+      const unsigned entries =
+         MAX2(1, prog->UniformStorage[i].array_elements);
+
       for (unsigned j = 0; j < MESA_SHADER_STAGES; j++) {
          struct gl_linked_shader *sh = prog->_LinkedShaders[j];
          if (!sh)
@@ -1138,10 +1142,6 @@ link_setup_uniform_remap_tables(struct gl_context *ctx,
          if (!prog->UniformStorage[i].opaque[j].active)
             continue;
 
-         /* How many new entries for this uniform? */
-         const unsigned entries =
-            MAX2(1, prog->UniformStorage[i].array_elements);
-
          /* Set remap table entries point to correct gl_uniform_storage. */
          for (unsigned k = 0; k < entries; k++) {
             unsigned element_loc = prog->UniformStorage[i].remap_location + k;
@@ -1155,13 +1155,15 @@ link_setup_uniform_remap_tables(struct gl_context *ctx,
 
    /* reserve subroutine locations */
    for (unsigned i = 0; i < prog->NumUniformStorage; i++) {
-
       if (!prog->UniformStorage[i].type->is_subroutine())
          continue;
-      const unsigned entries = MAX2(1, prog->UniformStorage[i].array_elements);
 
       if (prog->UniformStorage[i].remap_location != UNMAPPED_UNIFORM_LOC)
          continue;
+
+      const unsigned entries =
+         MAX2(1, prog->UniformStorage[i].array_elements);
+
       for (unsigned j = 0; j < MESA_SHADER_STAGES; j++) {
          struct gl_linked_shader *sh = prog->_LinkedShaders[j];
          if (!sh)