glsl: remove useless null checks and make match_explicit_outputs_to_inputs() static
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>
This commit is contained in:
parent
231db5869c
commit
d6d90750f1
|
@ -2687,7 +2687,7 @@ assign_attribute_or_color_locations(gl_shader_program *prog,
|
||||||
* Match explicit locations of outputs to inputs and deactivate the
|
* Match explicit locations of outputs to inputs and deactivate the
|
||||||
* unmatch flag if found so we don't optimise them away.
|
* unmatch flag if found so we don't optimise them away.
|
||||||
*/
|
*/
|
||||||
void
|
static void
|
||||||
match_explicit_outputs_to_inputs(struct gl_shader_program *prog,
|
match_explicit_outputs_to_inputs(struct gl_shader_program *prog,
|
||||||
gl_shader *producer,
|
gl_shader *producer,
|
||||||
gl_shader *consumer)
|
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))
|
if ((var == NULL) || (var->data.mode != ir_var_shader_out))
|
||||||
continue;
|
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 &&
|
if (var->data.explicit_location &&
|
||||||
var->data.location >= VARYING_SLOT_VAR0) {
|
var->data.location >= VARYING_SLOT_VAR0) {
|
||||||
const unsigned idx = 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))
|
if ((input == NULL) || (input->data.mode != ir_var_shader_in))
|
||||||
continue;
|
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;
|
ir_variable *output = NULL;
|
||||||
if (input->data.explicit_location
|
if (input->data.explicit_location
|
||||||
&& input->data.location >= VARYING_SLOT_VAR0) {
|
&& input->data.location >= VARYING_SLOT_VAR0) {
|
||||||
|
|
Loading…
Reference in New Issue