perf/pixel-rate: new pixel throughput microbenchmark
[piglit.git] / tests / spec / glsl-1.30 / execution / fs-modf-float.shader_test
blob1fd3ed76f91046ab497d98ba85f9c05a220f46b5
1 # Test proper behavior of the modf(float) function.
3 # test modf splits the input values into the two pieces and
4 # returns them correctly.
6 [require]
7 GLSL >= 1.30
9 [vertex shader]
10 #version 130
11 void main()
13   gl_Position = gl_Vertex;
16 [fragment shader]
17 #version 130
18 uniform float value;
19 uniform float expected1;
20 uniform float expected2;
21 uniform float tolerance;
22 void main()
24   float temp, tempi;
25   bool b1, b2;
26   temp = modf(value, tempi);
27   b1 = distance(tempi, expected1) < tolerance;
28   b2 = distance(temp, expected2) < tolerance;
29   gl_FragColor = vec4(b1, b2, 0.0, 1.0);
32 [test]
33 uniform float value 2.5
34 uniform float expected1 2.0
35 uniform float expected2 0.5
36 uniform float tolerance 0.0041452078
37 draw rect -1 -1 2 2
38 probe rgba 0 0 1.0 1.0 0.0 1.0
40 uniform float value -1.33
41 uniform float expected1 -1.0
42 uniform float expected2 -0.33
43 uniform float tolerance 0.0041452078
44 draw rect -1 -1 2 2
45 probe rgba 1 0 1.0 1.0 0.0 1.0