From: Dave Airlie <airl...@redhat.com> This tests modf with doubles.
Signed-off-by: Dave Airlie <airl...@redhat.com> --- .../built-in-functions/fs-modf-double.shader_test | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/fs-modf-double.shader_test 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 0000000..79bae06 --- /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 -- 1.8.5.3 _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit