Merge pull request #3031 from rg3igalia/sub-group-size-arb-flat-fix
[platform/upstream/glslang.git] / Test / 300block.frag
1 #version 300 es
2
3 precision mediump float;
4
5 struct 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
15 uniform S s;
16
17 uniform 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
27 uniform barBlock {
28     uvec4 nbv;
29     int ni;
30 } inst;
31
32 uniform barBlockArray {
33     uvec4 nbv;
34     int ni;
35 } insts[4];
36
37 uniform unreferenced {
38     float f;
39     uint u;
40 };
41
42 void 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
58 int fooBlock;             // ERROR, redef.