blob: 93203c36cd890789ee274a2835ffc3aeae5bcc0d [file] [log] [blame]
John Kessenich312dcfb2018-07-03 13:19:51 -06001#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 i8vec2 x[100];
32 int8_t w[];
33} b2;
34
35layout(row_major, std140) uniform B5
36{
37 int8_t o;
38 i8vec2 p;
39 i8vec3 q;
40 int8_t r[2];
41 S u;
42 S v[2];
43 i8vec2 x[100];
44 int8_t w[100];
45} b5;
46
47struct S2 {
48 mat4x4 x;
49 int8_t y;
50 int z;
51};
52
53struct S3 {
54 S2 x;
55};
56
57layout(row_major, std430) buffer B3
58{
59 S2 x;
60} b3;
61
62layout(column_major, std430) buffer B4
63{
64 S2 x;
65 S3 y;
66} b4;
67
68void main()
69{
70 b2.o = b1.a;
71 b2.p = i8vec2(ivec3(b2.q).xy);
72 b2.p = i8vec2(ivec3(b5.q).xy);
73 b2.r[0] = b2.r[0];
74 b2.r[1] = b5.r[1];
75 b2.p = b2.p;
76 int x0 = int(b1.a);
77 ivec4 x1 = ivec4(b1.a, b2.p, 1);
78 b4.x.x = b3.x.x;
79 b2.o = int8_t(ivec2(b2.p).x);
80 b2.p = b2.v[1].y;
81 ivec3 v3 = ivec3(b2.w[b1.j], b2.w[b1.j+1], b2.w[b1.j+2]);
82 ivec3 u3 = ivec3(b5.w[b1.j], b5.w[b1.j+1], b5.w[b1.j+2]);
83 b2.x[0] = b2.x[0];
84 b2.x[1] = b5.x[1];
85 b2.p.x = b1.a;
86 b2.o = b2.p.x;
87 b2.p = i8vec2(ivec2(1, 2));
88 b2.o = int8_t(3);
89}
90