summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/glslang/src/Test/spv.swizzle.frag
blob: 3f34311235c1e85dc04455eedb08e092489e4d97 (plain)
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
51
52
#version 140

in float blend;
in vec4 u;
bool p;

in vec2 t;

void main()
{
    float blendscale = 1.789;

    vec4 w = u;
    vec4 w_undef;       // test undef
    vec4 w_dep = u;     // test dependent swizzles
    vec4 w_reorder = u; // test reordering
    vec4 w2 = u;
    vec4 w_flow = u;    // test flowControl

    w_reorder.z = blendscale;

    w.wy = t;

    w_reorder.x = blendscale;

    w2.xyzw = u.zwxy;

    w_reorder.y = blendscale;

    w_dep.xy = w2.xz;
    w_dep.zw = t;

    w_undef.xy = u.zw;

    if (p)
        w_flow.x = t.x;
    else
        w_flow.x = t.y;

    gl_FragColor = mix(w_reorder, w_undef, w * w2 * w_dep * w_flow);

    vec2 c = t;
    vec4 rep = vec4(0.0, 0.0, 0.0, 1.0);

    if (c.x < 0.0)
        c.x *= -1.0;

    if (c.x <= 1.0)
        rep.x = 3.4;

    gl_FragColor += rep;
}