diff options
author | Eric Anholt <eric@anholt.net> | 2010-07-30 10:14:00 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2010-07-30 15:14:10 -0700 |
commit | 8d8d724ddb2f46ee7b1dee4f2d4ff52c6f6bd001 (patch) | |
tree | ec7fe8fdb9afa2e92de16344c6cada76a6d4dc71 /tests/shaders | |
parent | 8f8d4ddebb9abf79d716971eef2647701904be32 (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_test | 30 | ||||
-rw-r--r-- | tests/shaders/glsl-fs-atan-2.shader_test | 27 |
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 |