[Piglit] [PATCH 1/2] GLES3: test that non-flat varying structs cannot contain ints.

Paul Berry stereotype441 at gmail.com
Mon Feb 11 16:16:18 PST 2013


---
 .../varying-struct-nonflat-int.frag                | 29 ++++++++++++++++++++++
 .../varying-struct-nonflat-int.vert                | 29 ++++++++++++++++++++++
 .../varying-struct-nonflat-uint.frag               | 29 ++++++++++++++++++++++
 .../varying-struct-nonflat-uint.vert               | 29 ++++++++++++++++++++++
 4 files changed, 116 insertions(+)
 create mode 100644 tests/spec/glsl-es-3.00/compiler/interpolation-qualifiers/varying-struct-nonflat-int.frag
 create mode 100644 tests/spec/glsl-es-3.00/compiler/interpolation-qualifiers/varying-struct-nonflat-int.vert
 create mode 100644 tests/spec/glsl-es-3.00/compiler/interpolation-qualifiers/varying-struct-nonflat-uint.frag
 create mode 100644 tests/spec/glsl-es-3.00/compiler/interpolation-qualifiers/varying-struct-nonflat-uint.vert

diff --git a/tests/spec/glsl-es-3.00/compiler/interpolation-qualifiers/varying-struct-nonflat-int.frag b/tests/spec/glsl-es-3.00/compiler/interpolation-qualifiers/varying-struct-nonflat-int.frag
new file mode 100644
index 0000000..42360c2
--- /dev/null
+++ b/tests/spec/glsl-es-3.00/compiler/interpolation-qualifiers/varying-struct-nonflat-int.frag
@@ -0,0 +1,29 @@
+/* [config]
+ * expect_result: fail
+ * glsl_version: 3.00
+ * check_link: true
+ * [end config]
+ *
+ * From the GLSL ES 3.00 spec, Section 4.3.4 ("Input Variables"):
+ *
+ *     "Fragment shader inputs that are, or contain, signed or
+ *     unsigned integers or integer vectors must be qualified with the
+ *     interpolation qualifier flat."
+ *
+ * This test verifies that a non-flat varying struct containing
+ * signed integral data is properly flagged as an error.
+ */
+
+#version 300 es
+
+struct S {
+	int i;
+};
+
+in S foo;
+out highp vec4 color;
+
+void main()
+{
+	color = vec4(foo.i);
+}
diff --git a/tests/spec/glsl-es-3.00/compiler/interpolation-qualifiers/varying-struct-nonflat-int.vert b/tests/spec/glsl-es-3.00/compiler/interpolation-qualifiers/varying-struct-nonflat-int.vert
new file mode 100644
index 0000000..66af6c7
--- /dev/null
+++ b/tests/spec/glsl-es-3.00/compiler/interpolation-qualifiers/varying-struct-nonflat-int.vert
@@ -0,0 +1,29 @@
+/* [config]
+ * expect_result: fail
+ * glsl_version: 3.00
+ * check_link: true
+ * [end config]
+ *
+ * From the GLSL ES 3.00 spec, Section 4.3.6 ("Output Variables"):
+ *
+ *     "Vertex shader outputs that are, or contain, signed or unsigned
+ *     integers or integer vectors must be qualified with the
+ *     interpolation qualifier flat."
+ *
+ * This test verifies that a non-flat varying struct containing
+ * signed integral data is properly flagged as an error.
+ */
+
+#version 300 es
+
+struct S {
+	int i;
+};
+
+out S foo;
+
+void main()
+{
+	gl_Position = vec4(0.0);
+	foo.i = 1;
+}
diff --git a/tests/spec/glsl-es-3.00/compiler/interpolation-qualifiers/varying-struct-nonflat-uint.frag b/tests/spec/glsl-es-3.00/compiler/interpolation-qualifiers/varying-struct-nonflat-uint.frag
new file mode 100644
index 0000000..525aaa1
--- /dev/null
+++ b/tests/spec/glsl-es-3.00/compiler/interpolation-qualifiers/varying-struct-nonflat-uint.frag
@@ -0,0 +1,29 @@
+/* [config]
+ * expect_result: fail
+ * glsl_version: 3.00
+ * check_link: true
+ * [end config]
+ *
+ * From the GLSL ES 3.00 spec, Section 4.3.4 ("Input Variables"):
+ *
+ *     "Fragment shader inputs that are, or contain, signed or
+ *     unsigned integers or integer vectors must be qualified with the
+ *     interpolation qualifier flat."
+ *
+ * This test verifies that a non-flat varying struct containing
+ * unsigned integral data is properly flagged as an error.
+ */
+
+#version 300 es
+
+struct S {
+	uint u;
+};
+
+in S foo;
+out highp vec4 color;
+
+void main()
+{
+	color = vec4(foo.u);
+}
diff --git a/tests/spec/glsl-es-3.00/compiler/interpolation-qualifiers/varying-struct-nonflat-uint.vert b/tests/spec/glsl-es-3.00/compiler/interpolation-qualifiers/varying-struct-nonflat-uint.vert
new file mode 100644
index 0000000..3a1ab3f
--- /dev/null
+++ b/tests/spec/glsl-es-3.00/compiler/interpolation-qualifiers/varying-struct-nonflat-uint.vert
@@ -0,0 +1,29 @@
+/* [config]
+ * expect_result: fail
+ * glsl_version: 3.00
+ * check_link: true
+ * [end config]
+ *
+ * From the GLSL ES 3.00 spec, Section 4.3.6 ("Output Variables"):
+ *
+ *     "Vertex shader outputs that are, or contain, signed or unsigned
+ *     integers or integer vectors must be qualified with the
+ *     interpolation qualifier flat."
+ *
+ * This test verifies that a non-flat varying struct containing
+ * unsigned integral data is properly flagged as an error.
+ */
+
+#version 300 es
+
+struct S {
+	uint u;
+};
+
+out S foo;
+
+void main()
+{
+	gl_Position = vec4(0.0);
+	foo.u = 1u;
+}
-- 
1.8.1.3



More information about the Piglit mailing list