summaryrefslogtreecommitdiff
path: root/tests/shaders
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2010-07-30 10:14:00 -0700
committerEric Anholt <eric@anholt.net>2010-07-30 15:14:10 -0700
commit8d8d724ddb2f46ee7b1dee4f2d4ff52c6f6bd001 (patch)
treeec7fe8fdb9afa2e92de16344c6cada76a6d4dc71 /tests/shaders
parent8f8d4ddebb9abf79d716971eef2647701904be32 (diff)
glsl-fs-atan-*: Test for builtin atan(y, x) results for a few arguments.
Diffstat (limited to 'tests/shaders')
-rw-r--r--tests/shaders/glsl-fs-atan-1.shader_test30
-rw-r--r--tests/shaders/glsl-fs-atan-2.shader_test27
2 files changed, 57 insertions, 0 deletions
diff --git a/tests/shaders/glsl-fs-atan-1.shader_test b/tests/shaders/glsl-fs-atan-1.shader_test
new file mode 100644
index 000000000..c659ace08
--- /dev/null
+++ b/tests/shaders/glsl-fs-atan-1.shader_test
@@ -0,0 +1,30 @@
+[require]
+GL >= 2.0
+GLSL >= 1.10
+
+[vertex shader]
+varying vec2 pos;
+void main()
+{
+ gl_Position = gl_Vertex;
+ pos = gl_Vertex.xy;
+}
+
+[fragment shader]
+varying vec2 pos;
+void main()
+{
+ gl_FragColor = vec4(atan(pos.y, pos.x) / (2.0 * 3.1415926) + 0.5);
+}
+
+[test]
+draw rect -1 -1 2 2
+relative probe rgba (1.0, 0.5) (0.5, 0.5, 0.5, 0.5)
+relative probe rgba (1.0, 1.0) (0.625, 0.625, 0.625, 0.625)
+relative probe rgba (0.5, 1.0) (0.75, 0.75, 0.75, 0.75)
+relative probe rgba (0.0, 1.0) (0.875, 0.875, 0.875, 0.875)
+# discontinuity here. See glsl-fs-atan-2 for that.
+# relative probe rgba (0.0, 0.5) (1.0, 1.0, 1.0, 1.0)
+relative probe rgba (0.0, 0.0) (0.125, 0.125, 0.125, 0.125)
+relative probe rgba (0.5, 0.0) (0.25, 0.25, 0.25, 0.25)
+relative probe rgba (1.0, 0.0) (0.375, 0.375, 0.375, 0.375)
diff --git a/tests/shaders/glsl-fs-atan-2.shader_test b/tests/shaders/glsl-fs-atan-2.shader_test
new file mode 100644
index 000000000..c86f8e749
--- /dev/null
+++ b/tests/shaders/glsl-fs-atan-2.shader_test
@@ -0,0 +1,27 @@
+[require]
+GL >= 2.0
+GLSL >= 1.10
+
+[vertex shader]
+void main()
+{
+ gl_Position = gl_Vertex;
+}
+
+[fragment shader]
+uniform vec4 y, x;
+void main()
+{
+ /* This test does two things that glsl-fs-atan-1 doesn't: It
+ * tests behavior at y = 0, x < 0 (the discontinuity), and it
+ * does so using the vec4 variant with some of the same values
+ * used in glsl-fs-atan-1.
+ */
+ gl_FragColor = atan(y, x) / (2.0 * 3.1415926) + 0.5;
+}
+
+[test]
+uniform vec4 y -1.0 -1.0 0.0 1.0
+uniform vec4 x 0.0 -1.0 -1.0 -1.0
+draw rect -1 -1 2 2
+probe all rgba 0.25 0.125 1.0 0.875