diff options
author | Dave Airlie <airlied@redhat.com> | 2014-07-23 23:55:32 +0100 |
---|---|---|
committer | Dave Airlie <airlied@gmail.com> | 2014-07-30 19:22:29 +1000 |
commit | 30bdd3c864ca75246debdd8b80cf318c0a7981f7 (patch) | |
tree | f246db9189d7e1d2ae5a1deafc5d65180cba405a | |
parent | b2eb8197f2f28e9b0bf6f1f3d8a6e8b3b82871d4 (diff) |
arb_gpu_shader_fp64: add double modf test.
This tests modf with doubles.
Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r-- | tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/fs-modf-double.shader_test | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/fs-modf-double.shader_test b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/fs-modf-double.shader_test new file mode 100644 index 000000000..79bae06d7 --- /dev/null +++ b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/fs-modf-double.shader_test @@ -0,0 +1,47 @@ +# Test proper behavior of the modf(double) function. +# +# test modf splits the input values into the two pieces and +# returns them correctly. + +[require] +GLSL >= 1.30 +GL_ARB_gpu_shader_fp64 + +[vertex shader] +#version 130 +void main() +{ + gl_Position = gl_Vertex; +} + +[fragment shader] +#version 130 +#extension GL_ARB_gpu_shader_fp64 : enable +uniform double value; +uniform double expected1; +uniform double expected2; +uniform double tolerance; +void main() +{ + double temp, tempi; + bool b1, b2; + temp = modf(value, tempi); + b1 = distance(tempi, expected1) < tolerance; + b2 = distance(temp, expected2) < tolerance; + gl_FragColor = vec4(b1, b2, 0.0, 1.0); +} + +[test] +uniform double value 2.5 +uniform double expected1 2.0 +uniform double expected2 0.5 +uniform double tolerance 0.0041452078 +draw rect -1 -1 2 2 +probe rgba 0 0 1.0 1.0 0.0 1.0 + +uniform double value -1.33 +uniform double expected1 -1.0 +uniform double expected2 -0.33 +uniform double tolerance 0.0041452078 +draw rect -1 -1 2 2 +probe rgba 1 0 1.0 1.0 0.0 1.0 |