[Mesa-dev] [PATCH] glsl: relax input->output validation for SSO programs
Tapani Pälli
tapani.palli at intel.com
Thu Apr 2 02:59:55 PDT 2015
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 <tapani.palli at intel.com>
---
src/glsl/link_varyings.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/glsl/link_varyings.cpp b/src/glsl/link_varyings.cpp
index d6fb1ea..605748a 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",
--
2.1.0
More information about the mesa-dev
mailing list