From: Timothy Arceri Date: Tue, 8 Mar 2016 12:53:37 +0000 (+1100) Subject: glsl: don't validate ifc blocks using validation meant for variables X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ebc419fcbddb80648c526efc2b15e15e474724e3;p=mesa.git glsl: don't validate ifc blocks using validation meant for variables Reviewed-by: Samuel Iglesias Gonsálvez --- diff --git a/src/compiler/glsl/link_varyings.cpp b/src/compiler/glsl/link_varyings.cpp index c40ed586d14..34eb848a9c1 100644 --- a/src/compiler/glsl/link_varyings.cpp +++ b/src/compiler/glsl/link_varyings.cpp @@ -312,8 +312,14 @@ cross_validate_outputs_to_inputs(struct gl_shader_program *prog, } if (output != NULL) { - cross_validate_types_and_qualifiers(prog, input, output, - consumer->Stage, producer->Stage); + /* Interface blocks have their own validation elsewhere so don't + * try validating them here. + */ + if (!(input->get_interface_type() && + output->get_interface_type())) + cross_validate_types_and_qualifiers(prog, input, output, + consumer->Stage, + producer->Stage); } else { /* Check for input vars with unmatched output vars in prev stage * taking into account that interface blocks could have a matching