[Piglit] [PATCH] glsl-1.30: add linker test for inter stage in/out vars usage

Vadym Shovkoplias vadim.shovkoplias at gmail.com
Mon Aug 27 12:19:40 UTC 2018


This test exposes a Mesa GLSL linker bug. The test fails with the
following error message:

   error: fragment shader input `foo' has no matching output in the previous
          stage

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105731
Signed-off-by: Vadym Shovkoplias <vadym.shovkoplias at globallogic.com>
---
 ...rstage-multiple-vertex-objects.shader_test | 33 +++++++++++++++++++
 1 file changed, 33 insertions(+)
 create mode 100644 tests/spec/glsl-1.30/linker/interstage-multiple-vertex-objects.shader_test

diff --git a/tests/spec/glsl-1.30/linker/interstage-multiple-vertex-objects.shader_test b/tests/spec/glsl-1.30/linker/interstage-multiple-vertex-objects.shader_test
new file mode 100644
index 000000000..dd168d434
--- /dev/null
+++ b/tests/spec/glsl-1.30/linker/interstage-multiple-vertex-objects.shader_test
@@ -0,0 +1,33 @@
+# Exercises a Mesa GLSL linker bug.
+#
+# Output "foo" variable is not used in the "main" vertex shader
+# but used in fragment shader
+
+[require]
+GLSL >= 1.30
+
+[vertex shader]
+out vec4 foo;
+void unused()
+{
+    foo=vec4(1);
+}
+
+[vertex shader]
+in vec4 pos;
+void main()
+{
+    gl_Position = pos;
+}
+
+[fragment shader]
+in vec4 foo;
+out vec4 color;
+
+void main()
+{
+    gl_FragColor=foo;
+}
+
+[test]
+link success
-- 
2.18.0



More information about the Piglit mailing list