From 1aa5738e666a9534c7e5b46f077327e6d647c64f Mon Sep 17 00:00:00 2001 From: Tapani Pälli Date: Thu, 2 Apr 2015 12:59:55 +0300 Subject: glsl: relax input->output validation for SSO programs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Anuj Phogat --- src/glsl/link_varyings.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/glsl/link_varyings.cpp') 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", -- cgit v1.2.3