[Piglit] [PATCH v2] glsl-es-3.00: test for 'invariant(all)' usage in a fragment shader

Tapani Pälli tapani.palli at intel.com
Fri Nov 7 03:21:32 PST 2014


v2: add spec citation (Ian Romanick)

Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
---
 .../spec/glsl-es-3.00/compiler/invariant_all.frag  | 24 ++++++++++++++++++++++
 1 file changed, 24 insertions(+)
 create mode 100644 tests/spec/glsl-es-3.00/compiler/invariant_all.frag

diff --git a/tests/spec/glsl-es-3.00/compiler/invariant_all.frag b/tests/spec/glsl-es-3.00/compiler/invariant_all.frag
new file mode 100644
index 0000000..77b744b
--- /dev/null
+++ b/tests/spec/glsl-es-3.00/compiler/invariant_all.frag
@@ -0,0 +1,24 @@
+#version 300 es
+// [config]
+// expect_result: fail
+// glsl_version: 3.00
+// [end config]
+//
+// Check that 'invariant(all)' cannot be used in fragment shader.
+//
+// From the GLSL ES 3.00 specification, section 4.6.1 ("The
+// Invariant Qualifier"):
+//
+//     "To force all output variables to be invariant, use the pragma
+//
+//         #pragma STDGL invariant(all)
+//
+//     before all declarations in a shader. If this pragma is used
+//     after the declaration of any variables or functions, then the
+//     set of outputs that behave as invariant is undefined. It is an
+//     error to use this pragma in a fragment shader."
+//
+#pragma STDGL invariant(all)
+void main()
+{
+}
-- 
1.9.3



More information about the Piglit mailing list