diff options
author | Timothy Arceri <[email protected]> | 2016-03-08 23:53:37 +1100 |
---|---|---|
committer | Timothy Arceri <[email protected]> | 2016-03-09 09:21:31 +1100 |
commit | ebc419fcbddb80648c526efc2b15e15e474724e3 (patch) | |
tree | 2cc6cc58bc0bfd655a47ef56be97ed9a54899978 /src/compiler/glsl/link_varyings.cpp | |
parent | 19f13b2096a9fdd986e5a12d4e9d8b0d6a4632f3 (diff) |
glsl: don't validate ifc blocks using validation meant for variables
Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
Diffstat (limited to 'src/compiler/glsl/link_varyings.cpp')
-rw-r--r-- | src/compiler/glsl/link_varyings.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
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 |