[Piglit] [PATCH] oes_standard_derivatives: Add touch tests for the extension

Ian Romanick idr at freedesktop.org
Mon Jul 16 10:52:48 PDT 2012


From: Ian Romanick <ian.d.romanick at intel.com>

Make sure that all the functions are available when they should be.
This is currently broken in Mesa.

Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=52003
---
 tests/all.tests                                    |    5 +++++
 .../compiler/dFdx-float.frag                       |   14 ++++++++++++++
 .../compiler/dFdx-float.vert                       |   14 ++++++++++++++
 .../compiler/dFdx-vec2.frag                        |   14 ++++++++++++++
 .../compiler/dFdx-vec2.vert                        |   14 ++++++++++++++
 .../compiler/dFdx-vec3.frag                        |   14 ++++++++++++++
 .../compiler/dFdx-vec3.vert                        |   14 ++++++++++++++
 .../compiler/dFdx-vec4.frag                        |   14 ++++++++++++++
 .../compiler/dFdx-vec4.vert                        |   14 ++++++++++++++
 .../compiler/dFdy-float.frag                       |   14 ++++++++++++++
 .../compiler/dFdy-float.vert                       |   14 ++++++++++++++
 .../compiler/dFdy-vec2.frag                        |   14 ++++++++++++++
 .../compiler/dFdy-vec2.vert                        |   14 ++++++++++++++
 .../compiler/dFdy-vec3.frag                        |   14 ++++++++++++++
 .../compiler/dFdy-vec3.vert                        |   14 ++++++++++++++
 .../compiler/dFdy-vec4.frag                        |   14 ++++++++++++++
 .../compiler/dFdy-vec4.vert                        |   14 ++++++++++++++
 .../compiler/fwidth-float.frag                     |   14 ++++++++++++++
 .../compiler/fwidth-float.vert                     |   14 ++++++++++++++
 .../compiler/fwidth-vec2.frag                      |   14 ++++++++++++++
 .../compiler/fwidth-vec2.vert                      |   14 ++++++++++++++
 .../compiler/fwidth-vec3.frag                      |   14 ++++++++++++++
 .../compiler/fwidth-vec3.vert                      |   14 ++++++++++++++
 .../compiler/fwidth-vec4.frag                      |   14 ++++++++++++++
 .../compiler/fwidth-vec4.vert                      |   14 ++++++++++++++
 25 files changed, 341 insertions(+), 0 deletions(-)
 create mode 100644 tests/spec/oes_standard_derivatives/compiler/dFdx-float.frag
 create mode 100644 tests/spec/oes_standard_derivatives/compiler/dFdx-float.vert
 create mode 100644 tests/spec/oes_standard_derivatives/compiler/dFdx-vec2.frag
 create mode 100644 tests/spec/oes_standard_derivatives/compiler/dFdx-vec2.vert
 create mode 100644 tests/spec/oes_standard_derivatives/compiler/dFdx-vec3.frag
 create mode 100644 tests/spec/oes_standard_derivatives/compiler/dFdx-vec3.vert
 create mode 100644 tests/spec/oes_standard_derivatives/compiler/dFdx-vec4.frag
 create mode 100644 tests/spec/oes_standard_derivatives/compiler/dFdx-vec4.vert
 create mode 100644 tests/spec/oes_standard_derivatives/compiler/dFdy-float.frag
 create mode 100644 tests/spec/oes_standard_derivatives/compiler/dFdy-float.vert
 create mode 100644 tests/spec/oes_standard_derivatives/compiler/dFdy-vec2.frag
 create mode 100644 tests/spec/oes_standard_derivatives/compiler/dFdy-vec2.vert
 create mode 100644 tests/spec/oes_standard_derivatives/compiler/dFdy-vec3.frag
 create mode 100644 tests/spec/oes_standard_derivatives/compiler/dFdy-vec3.vert
 create mode 100644 tests/spec/oes_standard_derivatives/compiler/dFdy-vec4.frag
 create mode 100644 tests/spec/oes_standard_derivatives/compiler/dFdy-vec4.vert
 create mode 100644 tests/spec/oes_standard_derivatives/compiler/fwidth-float.frag
 create mode 100644 tests/spec/oes_standard_derivatives/compiler/fwidth-float.vert
 create mode 100644 tests/spec/oes_standard_derivatives/compiler/fwidth-vec2.frag
 create mode 100644 tests/spec/oes_standard_derivatives/compiler/fwidth-vec2.vert
 create mode 100644 tests/spec/oes_standard_derivatives/compiler/fwidth-vec3.frag
 create mode 100644 tests/spec/oes_standard_derivatives/compiler/fwidth-vec3.vert
 create mode 100644 tests/spec/oes_standard_derivatives/compiler/fwidth-vec4.frag
 create mode 100644 tests/spec/oes_standard_derivatives/compiler/fwidth-vec4.vert

diff --git a/tests/all.tests b/tests/all.tests
index dc4f3b0..63ca7fd 100644
--- a/tests/all.tests
+++ b/tests/all.tests
@@ -1903,6 +1903,11 @@ spec['OES_compressed_paletted_texture'] = oes_compressed_paletted_texture
 oes_compressed_paletted_texture['invalid formats'] = PlainExecTest(['arb_texture_compression-invalid-formats', 'paletted'])
 oes_compressed_paletted_texture['invalid formats'].runConcurrent = True
 
+spec['OES_standard_derivatives'] = Group()
+import_glsl_parser_tests(spec['OES_standard_derivatives'],
+			 os.path.join(testsDir, 'spec', 'oes_standard_derivatives'),
+			 ['compiler'])
+
 arb_copy_buffer = Group()
 spec['ARB_copy_buffer'] = arb_copy_buffer
 add_plain_test(arb_copy_buffer, 'copy_buffer_coherency')
diff --git a/tests/spec/oes_standard_derivatives/compiler/dFdx-float.frag b/tests/spec/oes_standard_derivatives/compiler/dFdx-float.frag
new file mode 100644
index 0000000..ce8adab
--- /dev/null
+++ b/tests/spec/oes_standard_derivatives/compiler/dFdx-float.frag
@@ -0,0 +1,14 @@
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.00
+ * require_extensions: GL_OES_standard_derivatives
+ * [end config]
+ */
+#version 100
+#extension GL_OES_standard_derivatives: require
+
+varying float x;
+void main()
+{
+    gl_FragColor = vec4(dFdx(x));
+}
diff --git a/tests/spec/oes_standard_derivatives/compiler/dFdx-float.vert b/tests/spec/oes_standard_derivatives/compiler/dFdx-float.vert
new file mode 100644
index 0000000..db7901b
--- /dev/null
+++ b/tests/spec/oes_standard_derivatives/compiler/dFdx-float.vert
@@ -0,0 +1,14 @@
+/* [config]
+ * expect_result: fail
+ * glsl_version: 1.00
+ * require_extensions: GL_OES_standard_derivatives
+ * [end config]
+ */
+#version 100
+#extension GL_OES_standard_derivatives: require
+
+attribute float x;
+void main()
+{
+    gl_Position = vec4(dFdx(x));
+}
diff --git a/tests/spec/oes_standard_derivatives/compiler/dFdx-vec2.frag b/tests/spec/oes_standard_derivatives/compiler/dFdx-vec2.frag
new file mode 100644
index 0000000..17b0cce
--- /dev/null
+++ b/tests/spec/oes_standard_derivatives/compiler/dFdx-vec2.frag
@@ -0,0 +1,14 @@
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.00
+ * require_extensions: GL_OES_standard_derivatives
+ * [end config]
+ */
+#version 100
+#extension GL_OES_standard_derivatives: require
+
+varying vec2 x;
+void main()
+{
+    gl_FragColor = dFdx(x).xyxy;
+}
diff --git a/tests/spec/oes_standard_derivatives/compiler/dFdx-vec2.vert b/tests/spec/oes_standard_derivatives/compiler/dFdx-vec2.vert
new file mode 100644
index 0000000..999b8a3
--- /dev/null
+++ b/tests/spec/oes_standard_derivatives/compiler/dFdx-vec2.vert
@@ -0,0 +1,14 @@
+/* [config]
+ * expect_result: fail
+ * glsl_version: 1.00
+ * require_extensions: GL_OES_standard_derivatives
+ * [end config]
+ */
+#version 100
+#extension GL_OES_standard_derivatives: require
+
+attribute vec2 x;
+void main()
+{
+    gl_Position = dFdx(x).xyxy;
+}
diff --git a/tests/spec/oes_standard_derivatives/compiler/dFdx-vec3.frag b/tests/spec/oes_standard_derivatives/compiler/dFdx-vec3.frag
new file mode 100644
index 0000000..db99ed7
--- /dev/null
+++ b/tests/spec/oes_standard_derivatives/compiler/dFdx-vec3.frag
@@ -0,0 +1,14 @@
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.00
+ * require_extensions: GL_OES_standard_derivatives
+ * [end config]
+ */
+#version 100
+#extension GL_OES_standard_derivatives: require
+
+varying vec3 x;
+void main()
+{
+    gl_FragColor = dFdx(x).xyzx;
+}
diff --git a/tests/spec/oes_standard_derivatives/compiler/dFdx-vec3.vert b/tests/spec/oes_standard_derivatives/compiler/dFdx-vec3.vert
new file mode 100644
index 0000000..ea7c2de
--- /dev/null
+++ b/tests/spec/oes_standard_derivatives/compiler/dFdx-vec3.vert
@@ -0,0 +1,14 @@
+/* [config]
+ * expect_result: fail
+ * glsl_version: 1.00
+ * require_extensions: GL_OES_standard_derivatives
+ * [end config]
+ */
+#version 100
+#extension GL_OES_standard_derivatives: require
+
+attribute vec3 x;
+void main()
+{
+    gl_Position = dFdx(x).xyzx;
+}
diff --git a/tests/spec/oes_standard_derivatives/compiler/dFdx-vec4.frag b/tests/spec/oes_standard_derivatives/compiler/dFdx-vec4.frag
new file mode 100644
index 0000000..5bd0f27
--- /dev/null
+++ b/tests/spec/oes_standard_derivatives/compiler/dFdx-vec4.frag
@@ -0,0 +1,14 @@
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.00
+ * require_extensions: GL_OES_standard_derivatives
+ * [end config]
+ */
+#version 100
+#extension GL_OES_standard_derivatives: require
+
+varying vec4 x;
+void main()
+{
+    gl_FragColor = dFdx(x);
+}
diff --git a/tests/spec/oes_standard_derivatives/compiler/dFdx-vec4.vert b/tests/spec/oes_standard_derivatives/compiler/dFdx-vec4.vert
new file mode 100644
index 0000000..7872c7f
--- /dev/null
+++ b/tests/spec/oes_standard_derivatives/compiler/dFdx-vec4.vert
@@ -0,0 +1,14 @@
+/* [config]
+ * expect_result: fail
+ * glsl_version: 1.00
+ * require_extensions: GL_OES_standard_derivatives
+ * [end config]
+ */
+#version 100
+#extension GL_OES_standard_derivatives: require
+
+attribute vec4 x;
+void main()
+{
+    gl_Position = dFdx(x);
+}
diff --git a/tests/spec/oes_standard_derivatives/compiler/dFdy-float.frag b/tests/spec/oes_standard_derivatives/compiler/dFdy-float.frag
new file mode 100644
index 0000000..da058aa
--- /dev/null
+++ b/tests/spec/oes_standard_derivatives/compiler/dFdy-float.frag
@@ -0,0 +1,14 @@
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.00
+ * require_extensions: GL_OES_standard_derivatives
+ * [end config]
+ */
+#version 100
+#extension GL_OES_standard_derivatives: require
+
+varying float x;
+void main()
+{
+    gl_FragColor = vec4(dFdy(x));
+}
diff --git a/tests/spec/oes_standard_derivatives/compiler/dFdy-float.vert b/tests/spec/oes_standard_derivatives/compiler/dFdy-float.vert
new file mode 100644
index 0000000..19a6668
--- /dev/null
+++ b/tests/spec/oes_standard_derivatives/compiler/dFdy-float.vert
@@ -0,0 +1,14 @@
+/* [config]
+ * expect_result: fail
+ * glsl_version: 1.00
+ * require_extensions: GL_OES_standard_derivatives
+ * [end config]
+ */
+#version 100
+#extension GL_OES_standard_derivatives: require
+
+attribute float x;
+void main()
+{
+    gl_Position = vec4(dFdy(x));
+}
diff --git a/tests/spec/oes_standard_derivatives/compiler/dFdy-vec2.frag b/tests/spec/oes_standard_derivatives/compiler/dFdy-vec2.frag
new file mode 100644
index 0000000..9e0bc71
--- /dev/null
+++ b/tests/spec/oes_standard_derivatives/compiler/dFdy-vec2.frag
@@ -0,0 +1,14 @@
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.00
+ * require_extensions: GL_OES_standard_derivatives
+ * [end config]
+ */
+#version 100
+#extension GL_OES_standard_derivatives: require
+
+varying vec2 x;
+void main()
+{
+    gl_FragColor = dFdy(x).xyxy;
+}
diff --git a/tests/spec/oes_standard_derivatives/compiler/dFdy-vec2.vert b/tests/spec/oes_standard_derivatives/compiler/dFdy-vec2.vert
new file mode 100644
index 0000000..a1a698a
--- /dev/null
+++ b/tests/spec/oes_standard_derivatives/compiler/dFdy-vec2.vert
@@ -0,0 +1,14 @@
+/* [config]
+ * expect_result: fail
+ * glsl_version: 1.00
+ * require_extensions: GL_OES_standard_derivatives
+ * [end config]
+ */
+#version 100
+#extension GL_OES_standard_derivatives: require
+
+attribute vec2 x;
+void main()
+{
+    gl_Position = dFdy(x).xyxy;
+}
diff --git a/tests/spec/oes_standard_derivatives/compiler/dFdy-vec3.frag b/tests/spec/oes_standard_derivatives/compiler/dFdy-vec3.frag
new file mode 100644
index 0000000..9062cd5
--- /dev/null
+++ b/tests/spec/oes_standard_derivatives/compiler/dFdy-vec3.frag
@@ -0,0 +1,14 @@
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.00
+ * require_extensions: GL_OES_standard_derivatives
+ * [end config]
+ */
+#version 100
+#extension GL_OES_standard_derivatives: require
+
+varying vec3 x;
+void main()
+{
+    gl_FragColor = dFdy(x).xyzx;
+}
diff --git a/tests/spec/oes_standard_derivatives/compiler/dFdy-vec3.vert b/tests/spec/oes_standard_derivatives/compiler/dFdy-vec3.vert
new file mode 100644
index 0000000..98c5f17
--- /dev/null
+++ b/tests/spec/oes_standard_derivatives/compiler/dFdy-vec3.vert
@@ -0,0 +1,14 @@
+/* [config]
+ * expect_result: fail
+ * glsl_version: 1.00
+ * require_extensions: GL_OES_standard_derivatives
+ * [end config]
+ */
+#version 100
+#extension GL_OES_standard_derivatives: require
+
+attribute vec3 x;
+void main()
+{
+    gl_Position = dFdy(x).xyzx;
+}
diff --git a/tests/spec/oes_standard_derivatives/compiler/dFdy-vec4.frag b/tests/spec/oes_standard_derivatives/compiler/dFdy-vec4.frag
new file mode 100644
index 0000000..4648b88
--- /dev/null
+++ b/tests/spec/oes_standard_derivatives/compiler/dFdy-vec4.frag
@@ -0,0 +1,14 @@
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.00
+ * require_extensions: GL_OES_standard_derivatives
+ * [end config]
+ */
+#version 100
+#extension GL_OES_standard_derivatives: require
+
+varying vec4 x;
+void main()
+{
+    gl_FragColor = dFdy(x);
+}
diff --git a/tests/spec/oes_standard_derivatives/compiler/dFdy-vec4.vert b/tests/spec/oes_standard_derivatives/compiler/dFdy-vec4.vert
new file mode 100644
index 0000000..d39c06a
--- /dev/null
+++ b/tests/spec/oes_standard_derivatives/compiler/dFdy-vec4.vert
@@ -0,0 +1,14 @@
+/* [config]
+ * expect_result: fail
+ * glsl_version: 1.00
+ * require_extensions: GL_OES_standard_derivatives
+ * [end config]
+ */
+#version 100
+#extension GL_OES_standard_derivatives: require
+
+attribute vec4 x;
+void main()
+{
+    gl_Position = dFdy(x);
+}
diff --git a/tests/spec/oes_standard_derivatives/compiler/fwidth-float.frag b/tests/spec/oes_standard_derivatives/compiler/fwidth-float.frag
new file mode 100644
index 0000000..94f5505
--- /dev/null
+++ b/tests/spec/oes_standard_derivatives/compiler/fwidth-float.frag
@@ -0,0 +1,14 @@
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.00
+ * require_extensions: GL_OES_standard_derivatives
+ * [end config]
+ */
+#version 100
+#extension GL_OES_standard_derivatives: require
+
+varying float x;
+void main()
+{
+    gl_FragColor = vec4(fwidth(x));
+}
diff --git a/tests/spec/oes_standard_derivatives/compiler/fwidth-float.vert b/tests/spec/oes_standard_derivatives/compiler/fwidth-float.vert
new file mode 100644
index 0000000..4b29ca9
--- /dev/null
+++ b/tests/spec/oes_standard_derivatives/compiler/fwidth-float.vert
@@ -0,0 +1,14 @@
+/* [config]
+ * expect_result: fail
+ * glsl_version: 1.00
+ * require_extensions: GL_OES_standard_derivatives
+ * [end config]
+ */
+#version 100
+#extension GL_OES_standard_derivatives: require
+
+attribute float x;
+void main()
+{
+    gl_Position = vec4(fwidth(x));
+}
diff --git a/tests/spec/oes_standard_derivatives/compiler/fwidth-vec2.frag b/tests/spec/oes_standard_derivatives/compiler/fwidth-vec2.frag
new file mode 100644
index 0000000..99ca181
--- /dev/null
+++ b/tests/spec/oes_standard_derivatives/compiler/fwidth-vec2.frag
@@ -0,0 +1,14 @@
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.00
+ * require_extensions: GL_OES_standard_derivatives
+ * [end config]
+ */
+#version 100
+#extension GL_OES_standard_derivatives: require
+
+varying vec2 x;
+void main()
+{
+    gl_FragColor = fwidth(x).xyxy;
+}
diff --git a/tests/spec/oes_standard_derivatives/compiler/fwidth-vec2.vert b/tests/spec/oes_standard_derivatives/compiler/fwidth-vec2.vert
new file mode 100644
index 0000000..18c139c
--- /dev/null
+++ b/tests/spec/oes_standard_derivatives/compiler/fwidth-vec2.vert
@@ -0,0 +1,14 @@
+/* [config]
+ * expect_result: fail
+ * glsl_version: 1.00
+ * require_extensions: GL_OES_standard_derivatives
+ * [end config]
+ */
+#version 100
+#extension GL_OES_standard_derivatives: require
+
+attribute vec2 x;
+void main()
+{
+    gl_Position = fwidth(x).xyxy;
+}
diff --git a/tests/spec/oes_standard_derivatives/compiler/fwidth-vec3.frag b/tests/spec/oes_standard_derivatives/compiler/fwidth-vec3.frag
new file mode 100644
index 0000000..307e73d
--- /dev/null
+++ b/tests/spec/oes_standard_derivatives/compiler/fwidth-vec3.frag
@@ -0,0 +1,14 @@
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.00
+ * require_extensions: GL_OES_standard_derivatives
+ * [end config]
+ */
+#version 100
+#extension GL_OES_standard_derivatives: require
+
+varying vec3 x;
+void main()
+{
+    gl_FragColor = fwidth(x).xyzx;
+}
diff --git a/tests/spec/oes_standard_derivatives/compiler/fwidth-vec3.vert b/tests/spec/oes_standard_derivatives/compiler/fwidth-vec3.vert
new file mode 100644
index 0000000..d9afd1a
--- /dev/null
+++ b/tests/spec/oes_standard_derivatives/compiler/fwidth-vec3.vert
@@ -0,0 +1,14 @@
+/* [config]
+ * expect_result: fail
+ * glsl_version: 1.00
+ * require_extensions: GL_OES_standard_derivatives
+ * [end config]
+ */
+#version 100
+#extension GL_OES_standard_derivatives: require
+
+attribute vec3 x;
+void main()
+{
+    gl_Position = fwidth(x).xyzx;
+}
diff --git a/tests/spec/oes_standard_derivatives/compiler/fwidth-vec4.frag b/tests/spec/oes_standard_derivatives/compiler/fwidth-vec4.frag
new file mode 100644
index 0000000..12fe971
--- /dev/null
+++ b/tests/spec/oes_standard_derivatives/compiler/fwidth-vec4.frag
@@ -0,0 +1,14 @@
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.00
+ * require_extensions: GL_OES_standard_derivatives
+ * [end config]
+ */
+#version 100
+#extension GL_OES_standard_derivatives: require
+
+varying vec4 x;
+void main()
+{
+    gl_FragColor = fwidth(x);
+}
diff --git a/tests/spec/oes_standard_derivatives/compiler/fwidth-vec4.vert b/tests/spec/oes_standard_derivatives/compiler/fwidth-vec4.vert
new file mode 100644
index 0000000..a646ebf
--- /dev/null
+++ b/tests/spec/oes_standard_derivatives/compiler/fwidth-vec4.vert
@@ -0,0 +1,14 @@
+/* [config]
+ * expect_result: fail
+ * glsl_version: 1.00
+ * require_extensions: GL_OES_standard_derivatives
+ * [end config]
+ */
+#version 100
+#extension GL_OES_standard_derivatives: require
+
+attribute vec4 x;
+void main()
+{
+    gl_Position = fwidth(x);
+}
-- 
1.7.6.5



More information about the Piglit mailing list