[Piglit] [PATCH 1/7] glsl-1.50: Add GS output layout qualifier redeclaration test
Andres Gomez
agomez at igalia.com
Sat Oct 22 20:42:20 UTC 2016
Section 4.3.8.2 (Output Layout Qualifiers) of the GLSL 1.50 spec says:
"All geometry shader output layout declarations in a program must declare the
same layout and same value for max_vertices."
Signed-off-by: Andres Gomez <agomez at igalia.com>
---
...ut-declaration-consistent-with-prev-layout.geom | 37 ++++++++++++++++++++++
1 file changed, 37 insertions(+)
create mode 100644 tests/spec/glsl-1.50/compiler/layout-out-declaration-consistent-with-prev-layout.geom
diff --git a/tests/spec/glsl-1.50/compiler/layout-out-declaration-consistent-with-prev-layout.geom b/tests/spec/glsl-1.50/compiler/layout-out-declaration-consistent-with-prev-layout.geom
new file mode 100644
index 0000000..da8a86c
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/layout-out-declaration-consistent-with-prev-layout.geom
@@ -0,0 +1,37 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50
+// check_link: true
+// [end config]
+//
+// Section 4.3.8.2 (Output Layout Qualifiers) of the GLSL 1.50 spec says:
+//
+// "layout(triangle_strip, max_vertices = 60) out; // order does not matter
+// layout(max_vertices = 60) out; // redeclaration okay (*)
+// layout(triangle_strip) out; // redeclaration okay (*)
+// layout(points) out; // error, contradicts triangle_strip
+// layout(max_vertices = 30) out; // error, contradicts 60"
+//
+// ...
+//
+// "All geometry shader output layout declarations in a program must declare the
+// same layout and same value for max_vertices."
+//
+// This test verifies the case marked with (*), namely that no error
+// results from declaring a geometry shader output layout that is
+// consistent with a previously declared geometry shader output layout.
+
+#version 150
+
+layout(lines) in;
+layout(line_strip, max_vertices=3) out;
+
+in vec4 pos[];
+
+layout(line_strip, max_vertices=3) out;
+layout(max_vertices=3) out;
+layout(line_strip) out;
+
+void main()
+{
+}
--
2.9.3
More information about the Piglit
mailing list