Module: Mesa
Branch: master
Commit: 1aa5738e666a9534c7e5b46f077327e6d647c64f
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1aa5738e666a9534c7e5b46f077327e6d647c64f

Author: Tapani Pälli <[email protected]>
Date:   Thu Apr  2 12:59:55 2015 +0300

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]>

---

 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",

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to