[Piglit] [PATCH 1/2] glsl-1.20: Add more tests for various 'invariant' scenarios
Chris Forbes
chrisf at ijw.co.nz
Sun Apr 20 21:05:01 PDT 2014
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
---
.../glsl-1.20/compiler/qualifiers/invariant-02.vert | 15 +++++++++++++++
.../glsl-1.20/compiler/qualifiers/invariant-03.frag | 14 ++++++++++++++
.../glsl-1.20/compiler/qualifiers/invariant-04.vert | 13 +++++++++++++
.../glsl-1.20/compiler/qualifiers/invariant-05.vert | 16 ++++++++++++++++
.../glsl-1.20/compiler/qualifiers/invariant-06.vert | 16 ++++++++++++++++
.../glsl-1.20/compiler/qualifiers/invariant-07.vert | 17 +++++++++++++++++
.../glsl-1.20/compiler/qualifiers/invariant-08.vert | 16 ++++++++++++++++
7 files changed, 107 insertions(+)
create mode 100644 tests/spec/glsl-1.20/compiler/qualifiers/invariant-02.vert
create mode 100644 tests/spec/glsl-1.20/compiler/qualifiers/invariant-03.frag
create mode 100644 tests/spec/glsl-1.20/compiler/qualifiers/invariant-04.vert
create mode 100644 tests/spec/glsl-1.20/compiler/qualifiers/invariant-05.vert
create mode 100644 tests/spec/glsl-1.20/compiler/qualifiers/invariant-06.vert
create mode 100644 tests/spec/glsl-1.20/compiler/qualifiers/invariant-07.vert
create mode 100644 tests/spec/glsl-1.20/compiler/qualifiers/invariant-08.vert
diff --git a/tests/spec/glsl-1.20/compiler/qualifiers/invariant-02.vert b/tests/spec/glsl-1.20/compiler/qualifiers/invariant-02.vert
new file mode 100644
index 0000000..05a722f
--- /dev/null
+++ b/tests/spec/glsl-1.20/compiler/qualifiers/invariant-02.vert
@@ -0,0 +1,15 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.20
+// [end config]
+//
+// ensure that invariant-qualifier can be used on vs outputs
+#version 120
+
+invariant varying vec4 x;
+
+void main()
+{
+ x = vec4(0,0,0,1);
+ gl_Position = vec4(0,0,0,1);
+}
diff --git a/tests/spec/glsl-1.20/compiler/qualifiers/invariant-03.frag b/tests/spec/glsl-1.20/compiler/qualifiers/invariant-03.frag
new file mode 100644
index 0000000..4cef447
--- /dev/null
+++ b/tests/spec/glsl-1.20/compiler/qualifiers/invariant-03.frag
@@ -0,0 +1,14 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.20
+// [end config]
+//
+// ensure that invariant-qualifier can be used on fs inputs
+#version 120
+
+invariant varying vec4 x;
+
+void main()
+{
+ gl_FragColor = x;
+}
diff --git a/tests/spec/glsl-1.20/compiler/qualifiers/invariant-04.vert b/tests/spec/glsl-1.20/compiler/qualifiers/invariant-04.vert
new file mode 100644
index 0000000..721e14f
--- /dev/null
+++ b/tests/spec/glsl-1.20/compiler/qualifiers/invariant-04.vert
@@ -0,0 +1,13 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.20
+// [end config]
+//
+// all uses of invariant-qualifier must be at global scope.
+#version 120
+
+void main()
+{
+ invariant vec4 x;
+ gl_Position = vec4(0);
+}
diff --git a/tests/spec/glsl-1.20/compiler/qualifiers/invariant-05.vert b/tests/spec/glsl-1.20/compiler/qualifiers/invariant-05.vert
new file mode 100644
index 0000000..a5c3dcb
--- /dev/null
+++ b/tests/spec/glsl-1.20/compiler/qualifiers/invariant-05.vert
@@ -0,0 +1,16 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.20
+// [end config]
+//
+// all uses of invariant-qualifier must be at global scope.
+#version 120
+
+varying vec4 x;
+
+void main()
+{
+ invariant x; /* redeclaration */
+ gl_Position = vec4(0);
+}
+
diff --git a/tests/spec/glsl-1.20/compiler/qualifiers/invariant-06.vert b/tests/spec/glsl-1.20/compiler/qualifiers/invariant-06.vert
new file mode 100644
index 0000000..75bf9db
--- /dev/null
+++ b/tests/spec/glsl-1.20/compiler/qualifiers/invariant-06.vert
@@ -0,0 +1,16 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.20
+// [end config]
+//
+// test that a straightforward redeclaration of a user-defined varying
+// as invariant works.
+#version 120
+
+varying vec4 x;
+invariant x;
+
+void main()
+{
+ gl_Position = vec4(0);
+}
diff --git a/tests/spec/glsl-1.20/compiler/qualifiers/invariant-07.vert b/tests/spec/glsl-1.20/compiler/qualifiers/invariant-07.vert
new file mode 100644
index 0000000..1c8b96c
--- /dev/null
+++ b/tests/spec/glsl-1.20/compiler/qualifiers/invariant-07.vert
@@ -0,0 +1,17 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.20
+// [end config]
+//
+// test that a straightforward redeclaration of a user-defined varying
+// as invariant works.
+#version 120
+
+varying vec4 x;
+x = vec4(0);
+invariant x; /* redeclaration after use! */
+
+void main()
+{
+ gl_Position = vec4(0);
+}
diff --git a/tests/spec/glsl-1.20/compiler/qualifiers/invariant-08.vert b/tests/spec/glsl-1.20/compiler/qualifiers/invariant-08.vert
new file mode 100644
index 0000000..82ec6a8
--- /dev/null
+++ b/tests/spec/glsl-1.20/compiler/qualifiers/invariant-08.vert
@@ -0,0 +1,16 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.20
+// [end config]
+//
+// invariant-qualifier should not be allowed on struct members.
+#version 120
+
+struct x {
+ invariant vec4 y;
+};
+
+void main()
+{
+ gl_Position = vec4(0);
+}
--
1.9.2
More information about the Piglit
mailing list