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