glsl: use linked shaders rather than compiled shaders
authorTimothy Arceri <timothy.arceri@collabora.com>
Mon, 11 Jul 2016 02:11:42 +0000 (12:11 +1000)
committerTimothy Arceri <timothy.arceri@collabora.com>
Mon, 18 Jul 2016 23:42:00 +0000 (09:42 +1000)
At this point there is no reason not to be using the linked shaders,
using the linked shaders should be faster and will make things simpler
for upcoming shader cache work.

The previous variable name suggests the linked shaders were intended
to be used here anyway.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
src/compiler/glsl/linker.cpp

index d963f540a5243dceaab5fb09f005fe77a98f308f..6d45a025da30ac931392bfa875c1c9faf6a32570 100644 (file)
@@ -4112,12 +4112,12 @@ calculate_array_size_and_stride(struct gl_shader_program *shProg,
       }
    }
 
-   for (unsigned i = 0; i < shProg->NumShaders; i++) {
-      if (shProg->Shaders[i] == NULL)
+   for (unsigned i = 0; i < MESA_SHADER_STAGES; i++) {
+      const gl_linked_shader *sh = shProg->_LinkedShaders[i];
+      if (sh == NULL)
          continue;
 
-      const gl_shader *stage = shProg->Shaders[i];
-      foreach_in_list(ir_instruction, node, stage->ir) {
+      foreach_in_list(ir_instruction, node, sh->ir) {
          ir_variable *var = node->as_variable();
          if (!var || !var->get_interface_type() ||
              var->data.mode != ir_var_shader_storage)