• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#version 450 core
2
3#extension GL_EXT_shader_16bit_storage : enable
4
5struct S
6{
7    int16_t  x;
8    i16vec2    y;
9    i16vec3    z;
10};
11
12layout(column_major, std140) uniform B1
13{
14    int16_t  a;
15    i16vec2    b;
16    i16vec3    c;
17    int16_t  d[2];
18    S          g;
19    S          h[2];
20    int        j;
21} b1;
22
23layout(row_major, std430) buffer B2
24{
25    int16_t  o;
26    i16vec2    p;
27    i16vec3    q;
28    int16_t  r[2];
29    S          u;
30    S          v[2];
31    i16vec2    x[100];
32    int16_t  w[];
33} b2;
34
35layout(row_major, std140) uniform B5
36{
37    int16_t  o;
38    i16vec2    p;
39    i16vec3    q;
40    int16_t  r[2];
41    S          u;
42    S          v[2];
43    i16vec2    x[100];
44    int16_t  w[100];
45} b5;
46
47struct S2 {
48    mat4x4 x;
49    int16_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 = i16vec2(ivec3(b2.q).xy);
72    b2.p = i16vec2(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 = int16_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 = i16vec2(ivec2(1, 2));
88    b2.o = int16_t(3);
89}
90
91