File: vs-non-uniform-control-flow-f2d.shader_test

package info (click to toggle)
piglit 0~git20200212-f4710c51b-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 106,972 kB
  • sloc: ansic: 263,763; xml: 48,941; python: 29,918; lisp: 19,789; cpp: 12,142; sh: 22; makefile: 20; pascal: 5
file content (50 lines) | stat: -rw-r--r-- 1,027 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# It checks that a float to double conversion works correctly when it is
# under non-uniform control flow.

[require]
GLSL >= 3.30
GL_ARB_gpu_shader_fp64

[vertex shader]
#version 330
#extension GL_ARB_gpu_shader_fp64 : require

flat out vec4 color;

layout(location = 0) in vec3 inVertexPosition;

void main() {
        gl_Position = vec4(inVertexPosition, 1);
        dvec2 rg;
        vec2 value;
        if (gl_VertexID % 2 == 1)
                value = vec2(1.0f, 0.0f);
        else
                value = vec2(0.0f, 1.0f);
        rg = dvec2(value);
        if (rg == dvec2(0, 1))
            color = vec4(0, rg, 1);
        else
            color = vec4(rg, 0, 1);
}

[fragment shader]
#version 130

flat in vec4 color;
out vec4 frag_color;

void main() {
        frag_color = color;
}

[test]
clear color 0.0 0.0 0.0 0.0
clear
draw rect -1 -1 2 2
probe rgba 0 0 0.0 0.0 1.0 1.0
probe rgba 249 249 1.0 0.0 0.0 1.0
probe rgba 64 184 0.0 0.0 1.0 1.0
probe rgba 64 185 1.0 0.0 0.0 1.0
probe rgba 125 125 1.0 0.0 0.0 1.0