summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/glslang/src/Test/300block.frag
blob: 9820e2a9454532afcd9dd0848ccaeea5a81fe9ce (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
#version 300 es

precision mediump float;

struct S {
    vec4 u;
    uvec4 v;
    lowp isampler3D sampler;
    vec3 w;
    struct T1 {           // ERROR
        int a;
    } t;
};

uniform S s;

uniform fooBlock {
    uvec4 bv;
    uniform mat2 bm2;
    lowp isampler2D sampler;   // ERROR
    struct T2 {                // ERROR
        int a;
    } t;
    S fbs;                     // ERROR, contains a sampler
};

uniform barBlock {
    uvec4 nbv;
    int ni;
} inst;

uniform barBlockArray {
    uvec4 nbv;
    int ni;
} insts[4];

uniform unreferenced {
    float f;
    uint u;
};

void main()
{
    texture(s.sampler, vec3(inst.ni, bv.y, insts[2].nbv.z));
    insts[s.v.x];         // ERROR
    fooBlock;             // ERROR
    mat4(s);              // ERROR
    int insts;
    float barBlock;
    mat4(barBlock);
    mat4(unreferenced);   // ERROR, bad type
    ++s;                  // ERROR
    inst - 1;             // ERROR
    ++barBlock;
    2 * barBlockArray;    // ERROR
}

int fooBlock;             // ERROR, redef.