summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/glslang/src/Test/spv.structDeref.frag
blob: 94232ad203e0cc6c150d5971a5ce46f9b4d11b6b (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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#version 140

uniform sampler2D samp2D;
in vec2 coord;

struct s0 {
    int i;
};

struct s00 {
    s0 s0_0;
};

struct s1 {
    int i;
    float f;
    s0 s0_1;
};

struct s2 {
    int i;
    float f;
    s1 s1_1;
};

struct s3 {
    s2[12] s2_1;
    int i;
    float f;
    s1 s1_1;
};


s0 foo0;
s1 foo1;
s2 foo2;
s3 foo3;

s00 foo00;

void main()
{
    s0 locals0;
    s2 locals2;
    s00 locals00;

    float[6] fArray;

    s1[10] locals1Array;

    if (foo3.s2_1[9].i > 0) {
        locals2.f = 1.0;
        locals2.s1_1 = s1(0, 1.0, s0(0));
        fArray = float[6]( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
        locals1Array[6] = foo1;
        locals0 = s0(0);
        locals00 = s00(s0(0));
    } else {
        locals2.f = coord.x;
        locals2.s1_1 = s1(1, coord.y, foo0);
        fArray = float[6]( 0.0, 1.0, 2.0, 3.0, 4.0, 5.0);
        locals1Array[6] = locals2.s1_1;
        locals0 = foo1.s0_1;
        locals00 = foo00;
    }

    if (locals0.i > 5)
        locals0 = locals00.s0_0;

    gl_FragColor = (float(locals0.i) + locals1Array[6].f + fArray[3] + locals2.s1_1.f) * texture(samp2D, coord);
}