Mesa (master): glsl: use linked shaders rather than compiled shaders

Timothy Arceri tarceri at kemper.freedesktop.org
Mon Jul 18 23:42:09 UTC 2016


Module: Mesa
Branch: master
Commit: cd5cbf0f6b69557ef0c6123c11f9732d43490f4f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cd5cbf0f6b69557ef0c6123c11f9732d43490f4f

Author: Timothy Arceri <timothy.arceri at collabora.com>
Date:   Mon Jul 11 12:11:42 2016 +1000

glsl: use linked shaders rather than compiled shaders

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 at igalia.com>

---

 src/compiler/glsl/linker.cpp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp
index d963f54..6d45a02 100644
--- a/src/compiler/glsl/linker.cpp
+++ b/src/compiler/glsl/linker.cpp
@@ -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)




More information about the mesa-commit mailing list