1#version 450 core
2
3#extension GL_EXT_shader_8bit_storage : enable
4
5struct S
6{
7    uint8_t  x;
8    u8vec2    y;
9    u8vec3    z;
10};
11
12layout(column_major, std140) uniform B1
13{
14    uint8_t  a;
15    u8vec2    b;
16    u8vec3    c;
17    uint8_t  d[2];
18    S          g;
19    S          h[2];
20    uint        j;
21} b1;
22
23layout(row_major, std430) buffer B2
24{
25    uint8_t  o;
26    u8vec2    p;
27    u8vec3    q;
28    uint8_t  r[2];
29    S          u;
30    S          v[2];
31    uint8_t  w[];
32} b2;
33
34struct S2 {
35    mat4x4 x;
36    uint8_t y;
37    uint z;
38};
39
40struct S3 {
41    S2 x;
42};
43
44layout(row_major, std430) buffer B3
45{
46    S2 x;
47} b3;
48
49layout(column_major, std430) buffer B4
50{
51    S2 x;
52} b4;
53
54void func3(S2 x) {
55}
56
57S2 func4() {
58    return b4.x;
59}
60
61uint func(uint8_t a) {
62    return 0;
63}
64
65struct S4 {
66    uint x;
67    uint8_t y;
68};
69
70uint func2(uint a) { return 0; }
71
72void main()
73{
74    b2.o = b2.q[1];
75    b2.p = b2.q.xy;
76    b2.o = max(b1.a, b1.a);
77    bvec2 bv = lessThan(b2.p, b2.p);
78    b2.o = b1.a + b1.a;
79    b2.o = -b1.a;
80    b2.o = b1.a + 1;
81    b2.p = b2.p.yx;
82    b4.x = b3.x;
83    uint8_t f0;
84    S2 f1;
85    S3 f2;
86    if (b1.a == b1.a) {}
87    b2.r = b2.r;
88    b2.p = u8vec2(3, 4);
89    u8vec2[2](u8vec2(uvec2(1,2)), u8vec2(uvec2(3,4)));
90    // NOT ERRORING YET
91    b3.x;
92    S4(0u, uint8_t(0u));
93    func2(b1.a);
94}
95
96
97layout(column_major, std140) uniform B6
98{
99    u8mat2x3  e;
100} b6;
101
102