summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTapani Pälli <[email protected]>2015-04-02 12:59:55 +0300
committerTapani Pälli <[email protected]>2015-04-07 08:11:07 +0300
commit1aa5738e666a9534c7e5b46f077327e6d647c64f (patch)
tree6c72aae403e51cdc3e377ca50c257f5d4ede23d8
parentae720c66cb91c2640dfd6707446899694a24ab5b (diff)
glsl: relax input->output validation for SSO programs
Commit 18004c3 introduced more restrictive validation to linker between inputs and outputs. This patch skips the additional check for programs that utilize GL_ARB_separate_shader_objects, there inputs and outputs might not make exact match during linking but only when constructing the final pipeline. This made some of the GL_ARB_program_interface_query tests shaders fail to link, these tests can be used to verify the change. Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Anuj Phogat <[email protected]>
-rw-r--r--src/glsl/link_varyings.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/glsl/link_varyings.cpp b/src/glsl/link_varyings.cpp
index d6fb1ea4fc3..605748a9c2a 100644
--- a/src/glsl/link_varyings.cpp
+++ b/src/glsl/link_varyings.cpp
@@ -270,7 +270,7 @@ cross_validate_outputs_to_inputs(struct gl_shader_program *prog,
*/
assert(!input->data.assigned);
if (input->data.used && !input->get_interface_type() &&
- !input->data.explicit_location)
+ !input->data.explicit_location && !prog->SeparateShader)
linker_error(prog,
"%s shader input `%s' "
"has no matching output in the previous stage\n",