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 <[email protected]> CC: [email protected] --- src/glsl/linker.cpp | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp index 660c435..ae628cd 100644 --- a/src/glsl/linker.cpp +++ b/src/glsl/linker.cpp @@ -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) { -- 1.9.1 _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
