These test the cases where gl_FragCoord and gl_PointCoord are
allowed to be declared invariant.

Signed-off-by: Lars Hamre <[email protected]>

---

NOTE: someone with access will need to commit this after the
      review process

 .../linker/glsl-fcoord-invariant-pass.shader_test  | 27 +++++++++++++++++++++
 .../linker/glsl-pcoord-invariant-pass.shader_test  | 28 ++++++++++++++++++++++
 2 files changed, 55 insertions(+)
 create mode 100644 
tests/spec/glsl-es-1.00/linker/glsl-fcoord-invariant-pass.shader_test
 create mode 100644 
tests/spec/glsl-es-1.00/linker/glsl-pcoord-invariant-pass.shader_test

diff --git 
a/tests/spec/glsl-es-1.00/linker/glsl-fcoord-invariant-pass.shader_test 
b/tests/spec/glsl-es-1.00/linker/glsl-fcoord-invariant-pass.shader_test
new file mode 100644
index 0000000..76348a6
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/linker/glsl-fcoord-invariant-pass.shader_test
@@ -0,0 +1,27 @@
+#
+# OpenGL ES 1.00 specification "Invariance and linkage":
+#
+#    "For the built-in special variables, gl_FragCoord can
+#    only be declared invariant if and only if gl_Position is
+#    declared invariant. Similarly gl_PointCoord can only be
+#    declared invariant if and only if gl_PointSize is declared
+#    invariant. It is an error to declare gl_FrontFacing as invariant."
+#
+[require]
+GL ES >= 2.0
+GLSL ES >= 1.00
+
+[vertex shader]
+invariant gl_Position;
+void main() {
+       gl_Position = vec4(0.0);
+}
+
+[fragment shader]
+invariant gl_FragCoord;
+void main() {
+       gl_FragColor = vec4(gl_FragCoord.x);
+}
+
+[test]
+link success
diff --git 
a/tests/spec/glsl-es-1.00/linker/glsl-pcoord-invariant-pass.shader_test 
b/tests/spec/glsl-es-1.00/linker/glsl-pcoord-invariant-pass.shader_test
new file mode 100644
index 0000000..c0e9673
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/linker/glsl-pcoord-invariant-pass.shader_test
@@ -0,0 +1,28 @@
+#
+# OpenGL ES 1.00 specification "Invariance and linkage":
+#
+#    "For the built-in special variables, gl_FragCoord can
+#    only be declared invariant if and only if gl_Position is
+#    declared invariant. Similarly gl_PointCoord can only be
+#    declared invariant if and only if gl_PointSize is declared
+#    invariant. It is an error to declare gl_FrontFacing as invariant."
+#
+[require]
+GL ES >= 2.0
+GLSL ES >= 1.00
+
+[vertex shader]
+invariant gl_PointSize;
+void main() {
+       gl_PointSize = 1.0;
+       gl_Position = vec4(0.0);
+}
+
+[fragment shader]
+invariant gl_PointCoord;
+void main() {
+       gl_FragColor = vec4(gl_PointCoord.x);
+}
+
+[test]
+link success
--
2.5.5

_______________________________________________
Piglit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to