Bump github/codeql-action from 3.27.1 to 3.27.4
[glslang.git] / Test / spv.16bitstorage-uint.frag
blob104aaf5ffe770e2a5d77633c4f2ad511d60d4a36
1 #version 450 core\r
2 \r
3 #extension GL_EXT_shader_16bit_storage : enable\r
4 \r
5 struct S\r
6 {\r
7     uint16_t  x;\r
8     u16vec2    y;\r
9     u16vec3    z;\r
10 };\r
12 layout(column_major, std140) uniform B1\r
13 {\r
14     uint16_t  a;\r
15     u16vec2    b;\r
16     u16vec3    c;\r
17     uint16_t  d[2];\r
18     S          g;\r
19     S          h[2];\r
20     uint        j;\r
21 } b1;\r
23 layout(row_major, std430) buffer B2\r
24 {\r
25     uint16_t  o;\r
26     u16vec2    p;\r
27     u16vec3    q;\r
28     uint16_t  r[2];\r
29     S          u;\r
30     S          v[2];\r
31     u16vec2    x[100];\r
32     uint16_t  w[];\r
33 } b2;\r
35 layout(row_major, std140) uniform B5\r
36 {\r
37     uint16_t  o;\r
38     u16vec2    p;\r
39     u16vec3    q;\r
40     uint16_t  r[2];\r
41     S          u;\r
42     S          v[2];\r
43     u16vec2    x[100];\r
44     uint16_t  w[100];\r
45 } b5;\r
47 struct S2 {\r
48     mat4x4 x;\r
49     uint16_t y;\r
50     uint z;\r
51 };\r
53 struct S3 {\r
54     S2 x;\r
55 };\r
57 layout(row_major, std430) buffer B3\r
58 {\r
59     S2 x;\r
60 } b3;\r
62 layout(column_major, std430) buffer B4\r
63 {\r
64     S2 x;\r
65     S3 y;\r
66 } b4;\r
68 void main()\r
69 {\r
70     b2.o = b1.a;\r
71     b2.p = u16vec2(uvec3(b2.q).xy);\r
72     b2.p = u16vec2(uvec3(b5.q).xy);\r
73     b2.r[0] = b2.r[0];\r
74     b2.r[1] = b5.r[1];\r
75     b2.p = b2.p;\r
76     uint x0 = uint(b1.a);\r
77     uvec4 x1 = uvec4(b1.a, b2.p, 1);\r
78     b4.x.x = b3.x.x;\r
79     b2.o = uint16_t(uvec2(b2.p).x);\r
80     b2.p = b2.v[1].y;\r
81     uvec3 v3 = uvec3(b2.w[b1.j], b2.w[b1.j+1], b2.w[b1.j+2]);\r
82     uvec3 u3 = uvec3(b5.w[b1.j], b5.w[b1.j+1], b5.w[b1.j+2]);\r
83     b2.x[0] = b2.x[0];\r
84     b2.x[1] = b5.x[1];\r
85     b2.p.x = b1.a;\r
86     b2.o = b2.p.x;\r
87     b2.p = u16vec2(uvec2(1, 2));\r
88     b2.o = uint16_t(3u);\r
89     b2.o = uint16_t(b1.a);\r
90     b2.p = u16vec2(b1.b);\r
91     b2.q = u16vec3(b1.c);\r
92 }\r