[Piglit] [PATCH] arb_fragment_coord_conventions: redeclaration consistency tests for linker
Steve Miller
dervishx at gmail.com
Thu Aug 1 13:57:20 PDT 2013
Shader_runner tests for consistency of redeclaration rules for gl_FragCoord in GL 3.2. Tests fail because compiler does not support this feature at this time.
v2 commit : corrected error not typecasting fragcoord info to fragcolor
---
...laration-consistent-qualifiers-fail.shader_test | 50 ++++++++++++++++++++++
...-consistent-qualifiers-nothing-pass.shader_test | 50 ++++++++++++++++++++++
...laration-consistent-qualifiers-pass.shader_test | 50 ++++++++++++++++++++++
3 files changed, 150 insertions(+)
create mode 100644 tests/spec/arb_fragment_coord_conventions/linker/redeclaration-consistent-qualifiers-fail.shader_test
create mode 100644 tests/spec/arb_fragment_coord_conventions/linker/redeclaration-consistent-qualifiers-nothing-pass.shader_test
create mode 100644 tests/spec/arb_fragment_coord_conventions/linker/redeclaration-consistent-qualifiers-pass.shader_test
diff --git a/tests/spec/arb_fragment_coord_conventions/linker/redeclaration-consistent-qualifiers-fail.shader_test b/tests/spec/arb_fragment_coord_conventions/linker/redeclaration-consistent-qualifiers-fail.shader_test
new file mode 100644
index 0000000..c0caada
--- /dev/null
+++ b/tests/spec/arb_fragment_coord_conventions/linker/redeclaration-consistent-qualifiers-fail.shader_test
@@ -0,0 +1,50 @@
+/* Test case multiple FS in program:
+* Test that gl_FragCoord redeclaration must be consistent across shaders
+* in program.
+*
+* Section 4.3.8.1 (Input Layout Qualifiers) of GLSL 1.50 spec says:
+* If gl_FragCoord is redeclared in any fragment shader in a program, it must
+* be redeclared in all the fragment shaders in that program that have a static
+* use gl_FragCoord. All redeclarations of gl_FragCoord in all fragment shaders
+* in a single program must have the same set of qualifiers.
+*
+* This test is part of a series ensuring linker success/failure
+* under various combinations of gl_FragCoord redeclaration.
+*/
+
+[require]
+GLSL >= 1.50
+
+[fragment shader]
+#version 150
+
+layout(origin_upper_left) in vec4 gl_FragCoord;
+
+void main() {
+ gl_FragColor = vec4 (gl_FragCoord.x, gl_FragCoord.y,
+ gl_FragCoord.z, gl_FragCoord.w);
+}
+
+[fragment shader]
+#version 150
+
+layout(pixel_center_integer) in vec4 gl_FragCoord;
+
+void main() {
+ gl_FragColor = vec4 (gl_FragCoord.x, gl_FragCoord.y,
+ gl_FragCoord.z, gl_FragCoord.w);
+}
+
+[fragment shader]
+#version 150
+
+layout(origin_upper_left, pixel_center_integer) in vec4 gl_FragCoord;
+
+void main() {
+ gl_FragColor = vec4 (gl_FragCoord.x, gl_FragCoord.y,
+ gl_FragCoord.z, gl_FragCoord.w);
+}
+
+
+[test]
+link error
\ No newline at end of file
diff --git a/tests/spec/arb_fragment_coord_conventions/linker/redeclaration-consistent-qualifiers-nothing-pass.shader_test b/tests/spec/arb_fragment_coord_conventions/linker/redeclaration-consistent-qualifiers-nothing-pass.shader_test
new file mode 100644
index 0000000..6130aeb
--- /dev/null
+++ b/tests/spec/arb_fragment_coord_conventions/linker/redeclaration-consistent-qualifiers-nothing-pass.shader_test
@@ -0,0 +1,50 @@
+/* Test case multiple FS in program:
+* Test that gl_FragCoord redeclaration must be consistent across shaders
+* in program.
+*
+* Section 4.3.8.1 (Input Layout Qualifiers) of GLSL 1.50 spec says:
+* If gl_FragCoord is redeclared in any fragment shader in a program, it must
+* be redeclared in all the fragment shaders in that program that have a static
+* use gl_FragCoord. All redeclarations of gl_FragCoord in all fragment shaders
+* in a single program must have the same set of qualifiers.
+*
+* This test is part of a series ensuring linker success/failure
+* under various combinations of gl_FragCoord redeclaration.
+*/
+
+[require]
+GLSL >= 1.50
+
+[fragment shader]
+#version 150
+
+in vec4 gl_FragCoord;
+
+void main() {
+ gl_FragColor = vec4 (gl_FragCoord.x, gl_FragCoord.y,
+ gl_FragCoord.z, gl_FragCoord.w);
+}
+
+[fragment shader]
+#version 150
+
+in vec4 gl_FragCoord;
+
+void main() {
+ gl_FragColor = vec4 (gl_FragCoord.x, gl_FragCoord.y,
+ gl_FragCoord.z, gl_FragCoord.w);
+}
+
+[fragment shader]
+#version 150
+
+in vec4 gl_FragCoord;
+
+void main() {
+ gl_FragColor = vec4 (gl_FragCoord.x, gl_FragCoord.y,
+ gl_FragCoord.z, gl_FragCoord.w);
+}
+
+
+[test]
+link error
\ No newline at end of file
diff --git a/tests/spec/arb_fragment_coord_conventions/linker/redeclaration-consistent-qualifiers-pass.shader_test b/tests/spec/arb_fragment_coord_conventions/linker/redeclaration-consistent-qualifiers-pass.shader_test
new file mode 100644
index 0000000..8a5aeea
--- /dev/null
+++ b/tests/spec/arb_fragment_coord_conventions/linker/redeclaration-consistent-qualifiers-pass.shader_test
@@ -0,0 +1,50 @@
+/* Test case multiple FS in program:
+* Test that gl_FragCoord redeclaration must be consistent across shaders
+* in program.
+*
+* Section 4.3.8.1 (Input Layout Qualifiers) of GLSL 1.50 spec says:
+* If gl_FragCoord is redeclared in any fragment shader in a program, it must
+* be redeclared in all the fragment shaders in that program that have a static
+* use gl_FragCoord. All redeclarations of gl_FragCoord in all fragment shaders
+* in a single program must have the same set of qualifiers.
+*
+* This test is part of a series ensuring linker success/failure
+* under various combinations of gl_FragCoord redeclaration.
+*/
+
+[require]
+GLSL >= 1.50
+
+[fragment shader]
+#version 150
+
+layout(origin_upper_left, pixel_center_integer) in vec4 gl_FragCoord;
+
+void main() {
+ gl_FragColor = vec4 (gl_FragCoord.x, gl_FragCoord.y,
+ gl_FragCoord.z, gl_FragCoord.w);
+}
+
+[fragment shader]
+#version 150
+
+layout(origin_upper_left, pixel_center_integer) in vec4 gl_FragCoord;
+
+void main() {
+ gl_FragColor =vec4 (gl_FragCoord.x, gl_FragCoord.y,
+ gl_FragCoord.z, gl_FragCoord.w);
+}
+
+[fragment shader]
+#version 150
+
+layout(origin_upper_left, pixel_center_integer) in vec4 gl_FragCoord;
+
+void main() {
+ gl_FragColor = vec4 (gl_FragCoord.x, gl_FragCoord.y,
+ gl_FragCoord.z, gl_FragCoord.w);
+}
+
+
+[test]
+link error
\ No newline at end of file
--
1.8.3.1
More information about the Piglit
mailing list