xref: /aosp_15_r20/external/angle/third_party/glslang/src/Test/300block.frag (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1#version 300 es
2
3precision mediump float;
4
5struct S {
6    vec4 u;
7    uvec4 v;
8    lowp isampler3D sampler;
9    vec3 w;
10    struct T1 {           // ERROR
11        int a;
12    } t;
13};
14
15uniform S s;
16
17uniform fooBlock {
18    uvec4 bv;
19    uniform mat2 bm2;
20    lowp isampler2D sampler;   // ERROR
21    struct T2 {                // ERROR
22        int a;
23    } t;
24    S fbs;                     // ERROR, contains a sampler
25};
26
27uniform barBlock {
28    uvec4 nbv;
29    int ni;
30} inst;
31
32uniform barBlockArray {
33    uvec4 nbv;
34    int ni;
35} insts[4];
36
37uniform unreferenced {
38    float f;
39    uint u;
40};
41
42void main()
43{
44    texture(s.sampler, vec3(inst.ni, bv.y, insts[2].nbv.z));
45    insts[s.v.x];         // ERROR
46    fooBlock;             // ERROR
47    mat4(s);              // ERROR
48    int insts;
49    float barBlock;
50    mat4(barBlock);
51    mat4(unreferenced);   // ERROR, bad type
52    ++s;                  // ERROR
53    inst - 1;             // ERROR
54    ++barBlock;
55    2 * barBlockArray;    // ERROR
56}
57
58int fooBlock;             // ERROR, redef.
59