1#version 450 core
2
3#extension GL_EXT_shader_8bit_storage : enable
4
5struct S
6{
7    int8_t  x;
8    i8vec2    y;
9    i8vec3    z;
10};
11
12layout(column_major, std140) uniform B1
13{
14    int8_t  a;
15    i8vec2    b;
16    i8vec3    c;
17    int8_t  d[2];
18    S          g;
19    S          h[2];
20    int        j;
21} b1;
22
23layout(row_major, std430) buffer B2
24{
25    int8_t  o;
26    i8vec2    p;
27    i8vec3    q;
28    int8_t  r[2];
29    S          u;
30    S          v[2];
31    int8_t  w[];
32} b2;
33
34struct S2 {
35    mat4x4 x;
36    int8_t y;
37    int 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
61int func(int8_t a) {
62    return 0;
63}
64
65struct S4 {
66    int x;
67    int8_t y;
68};
69
70int func2(int 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    int8_t f0;
84    S2 f1;
85    S3 f2;
86    if (b1.a == b1.a) {}
87    b2.r = b2.r;
88    b2.p = i8vec2(3, 4);
89    i8vec2[2](i8vec2(ivec2(1,2)), i8vec2(ivec2(3,4)));
90    // NOT ERRORING YET
91    b3.x;
92    S4(0, int8_t(0));
93    func2(b1.a);
94}
95
96
97layout(column_major, std140) uniform B6
98{
99    i8mat2x3  e;
100} b6;
101
102