Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikk...@gmail.com>

On 21.11.2015 10:02, Timothy Arceri wrote:
From: Timothy Arceri <timothy.arc...@collabora.com>

This will help avoid eliminating inputs/outputs needed by SSOs.

Cc: Gregory Hainaut <gregory.hain...@gmail.com>
---
  src/glsl/linker.cpp | 24 ++++++++++++++----------
  1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
index eac2536..5ff433c 100644
--- a/src/glsl/linker.cpp
+++ b/src/glsl/linker.cpp
@@ -4327,13 +4327,14 @@ link_shaders(struct gl_context *ctx, struct 
gl_shader_program *prog)
        do_dead_builtin_varyings(ctx, sh, NULL,
                                 num_tfeedback_decls, tfeedback_decls);

-      if (!prog->SeparateShader)
+      if (!prog->SeparateShader) {
           demote_shader_inputs_and_outputs(sh, ir_var_shader_out);
-
-      /* Eliminate code that is now dead due to unused outputs being demoted.
-       */
-      while (do_dead_code(sh->ir, false))
-         ;
+         /* Eliminate code that is now dead due to unused outputs being
+          * demoted.
+          */
+         while (do_dead_code(sh->ir, false))
+            ;
+      }
     }
     else if (first == MESA_SHADER_FRAGMENT) {
        /* If the program only contains a fragment shader...
@@ -4350,11 +4351,14 @@ link_shaders(struct gl_context *ctx, struct 
gl_shader_program *prog)
                                         0 /* num_tfeedback_decls */,
                                         NULL /* tfeedback_decls */))
              goto done;
-      } else
+      } else {
           demote_shader_inputs_and_outputs(sh, ir_var_shader_in);
-
-      while (do_dead_code(sh->ir, false))
-         ;
+         /* Eliminate code that is now dead due to unused inputs being
+          * demoted.
+          */
+         while (do_dead_code(sh->ir, false))
+            ;
+      }
     }

     next = last;


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to