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 d963f54..6d45a02 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)