glsl: remove useless null checks and make match_explicit_outputs_to_inputs() static
authorJuha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Wed, 2 Dec 2015 09:48:46 +0000 (11:48 +0200)
committerJuha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Thu, 3 Dec 2015 08:56:35 +0000 (10:56 +0200)
match_explicit_outputs_to_inputs() cannot get null inputs and if it ever did
triggering first null check would later in the function cause segfault.

Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
CC: timothy.arceri@collabora.com
Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
src/glsl/linker.cpp

index 660c4354e90dab0e8e05d9a867bfdef3f4d89028..ae628cd86bd9844b71e27b74ccddb42646cb45b2 100644 (file)
@@ -2687,7 +2687,7 @@ assign_attribute_or_color_locations(gl_shader_program *prog,
  * Match explicit locations of outputs to inputs and deactivate the
  * unmatch flag if found so we don't optimise them away.
  */
-void
+static void
 match_explicit_outputs_to_inputs(struct gl_shader_program *prog,
                                  gl_shader *producer,
                                  gl_shader *consumer)
@@ -2703,10 +2703,6 @@ match_explicit_outputs_to_inputs(struct gl_shader_program *prog,
       if ((var == NULL) || (var->data.mode != ir_var_shader_out))
          continue;
 
-      /* Mark output as matched if separate shader with no linked consumer */
-      if (consumer == NULL)
-         var->data.is_unmatched_generic_inout = 0;
-
       if (var->data.explicit_location &&
           var->data.location >= VARYING_SLOT_VAR0) {
          const unsigned idx = var->data.location - VARYING_SLOT_VAR0;
@@ -2722,10 +2718,6 @@ match_explicit_outputs_to_inputs(struct gl_shader_program *prog,
       if ((input == NULL) || (input->data.mode != ir_var_shader_in))
          continue;
 
-      /* Mark input as matched if separate shader with no linked producer */
-      if (producer == NULL)
-         input->data.is_unmatched_generic_inout = 0;
-
       ir_variable *output = NULL;
       if (input->data.explicit_location
           && input->data.location >= VARYING_SLOT_VAR0) {