blob: 34987abcb8810fc5f0d06a0579c1ff4a0fc02ca1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
|
spv.16bitstorage.frag
// Module Version 10000
// Generated by (magic number): 80009
// Id's are bound by 173
Capability Shader
Capability StorageUniformBufferBlock16
Capability StorageUniform16
Extension "SPV_KHR_16bit_storage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
SourceExtension "GL_EXT_shader_16bit_storage"
Name 4 "main"
Name 12 "S"
MemberName 12(S) 0 "x"
MemberName 12(S) 1 "y"
MemberName 12(S) 2 "z"
Name 17 "B2"
MemberName 17(B2) 0 "o"
MemberName 17(B2) 1 "p"
MemberName 17(B2) 2 "q"
MemberName 17(B2) 3 "r"
MemberName 17(B2) 4 "u"
MemberName 17(B2) 5 "v"
MemberName 17(B2) 6 "x"
MemberName 17(B2) 7 "w"
Name 19 "b2"
Name 23 "S"
MemberName 23(S) 0 "x"
MemberName 23(S) 1 "y"
MemberName 23(S) 2 "z"
Name 25 "B1"
MemberName 25(B1) 0 "a"
MemberName 25(B1) 1 "b"
MemberName 25(B1) 2 "c"
MemberName 25(B1) 3 "d"
MemberName 25(B1) 4 "g"
MemberName 25(B1) 5 "h"
MemberName 25(B1) 6 "j"
Name 27 "b1"
Name 46 "S"
MemberName 46(S) 0 "x"
MemberName 46(S) 1 "y"
MemberName 46(S) 2 "z"
Name 50 "B5"
MemberName 50(B5) 0 "o"
MemberName 50(B5) 1 "p"
MemberName 50(B5) 2 "q"
MemberName 50(B5) 3 "r"
MemberName 50(B5) 4 "u"
MemberName 50(B5) 5 "v"
MemberName 50(B5) 6 "x"
MemberName 50(B5) 7 "w"
Name 52 "b5"
Name 70 "x0"
Name 76 "x1"
Name 88 "S2"
MemberName 88(S2) 0 "x"
MemberName 88(S2) 1 "y"
MemberName 88(S2) 2 "z"
Name 89 "S3"
MemberName 89(S3) 0 "x"
Name 90 "B4"
MemberName 90(B4) 0 "x"
MemberName 90(B4) 1 "y"
Name 92 "b4"
Name 93 "S2"
MemberName 93(S2) 0 "x"
MemberName 93(S2) 1 "y"
MemberName 93(S2) 2 "z"
Name 94 "B3"
MemberName 94(B3) 0 "x"
Name 96 "b3"
Name 113 "v3"
Name 135 "u3"
Decorate 11 ArrayStride 2
MemberDecorate 12(S) 0 Offset 0
MemberDecorate 12(S) 1 Offset 4
MemberDecorate 12(S) 2 Offset 8
Decorate 13 ArrayStride 16
Decorate 15 ArrayStride 4
Decorate 16 ArrayStride 2
MemberDecorate 17(B2) 0 Offset 0
MemberDecorate 17(B2) 1 Offset 4
MemberDecorate 17(B2) 2 Offset 8
MemberDecorate 17(B2) 3 Offset 14
MemberDecorate 17(B2) 4 Offset 24
MemberDecorate 17(B2) 5 Offset 40
MemberDecorate 17(B2) 6 Offset 72
MemberDecorate 17(B2) 7 Offset 472
Decorate 17(B2) BufferBlock
Decorate 19(b2) DescriptorSet 0
Decorate 19(b2) Binding 0
Decorate 22 ArrayStride 16
MemberDecorate 23(S) 0 Offset 0
MemberDecorate 23(S) 1 Offset 4
MemberDecorate 23(S) 2 Offset 8
Decorate 24 ArrayStride 16
MemberDecorate 25(B1) 0 Offset 0
MemberDecorate 25(B1) 1 Offset 4
MemberDecorate 25(B1) 2 Offset 8
MemberDecorate 25(B1) 3 Offset 16
MemberDecorate 25(B1) 4 Offset 48
MemberDecorate 25(B1) 5 Offset 64
MemberDecorate 25(B1) 6 Offset 96
Decorate 25(B1) Block
Decorate 27(b1) DescriptorSet 0
Decorate 27(b1) Binding 0
Decorate 45 ArrayStride 16
MemberDecorate 46(S) 0 Offset 0
MemberDecorate 46(S) 1 Offset 4
MemberDecorate 46(S) 2 Offset 8
Decorate 47 ArrayStride 16
Decorate 48 ArrayStride 16
Decorate 49 ArrayStride 16
MemberDecorate 50(B5) 0 Offset 0
MemberDecorate 50(B5) 1 Offset 4
MemberDecorate 50(B5) 2 Offset 8
MemberDecorate 50(B5) 3 Offset 16
MemberDecorate 50(B5) 4 Offset 48
MemberDecorate 50(B5) 5 Offset 64
MemberDecorate 50(B5) 6 Offset 96
MemberDecorate 50(B5) 7 Offset 1696
Decorate 50(B5) Block
Decorate 52(b5) DescriptorSet 0
Decorate 52(b5) Binding 0
MemberDecorate 88(S2) 0 ColMajor
MemberDecorate 88(S2) 0 Offset 0
MemberDecorate 88(S2) 0 MatrixStride 16
MemberDecorate 88(S2) 1 Offset 64
MemberDecorate 88(S2) 2 Offset 68
MemberDecorate 89(S3) 0 Offset 0
MemberDecorate 90(B4) 0 Offset 0
MemberDecorate 90(B4) 1 Offset 80
Decorate 90(B4) BufferBlock
Decorate 92(b4) DescriptorSet 0
Decorate 92(b4) Binding 0
MemberDecorate 93(S2) 0 RowMajor
MemberDecorate 93(S2) 0 Offset 0
MemberDecorate 93(S2) 0 MatrixStride 16
MemberDecorate 93(S2) 1 Offset 64
MemberDecorate 93(S2) 2 Offset 68
MemberDecorate 94(B3) 0 Offset 0
Decorate 94(B3) BufferBlock
Decorate 96(b3) DescriptorSet 0
Decorate 96(b3) Binding 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 16
7: TypeVector 6(float16_t) 2
8: TypeVector 6(float16_t) 3
9: TypeInt 32 0
10: 9(int) Constant 2
11: TypeArray 6(float16_t) 10
12(S): TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3)
13: TypeArray 12(S) 10
14: 9(int) Constant 100
15: TypeArray 7(f16vec2) 14
16: TypeRuntimeArray 6(float16_t)
17(B2): TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3) 11 12(S) 13 15 16
18: TypePointer Uniform 17(B2)
19(b2): 18(ptr) Variable Uniform
20: TypeInt 32 1
21: 20(int) Constant 0
22: TypeArray 6(float16_t) 10
23(S): TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3)
24: TypeArray 23(S) 10
25(B1): TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3) 22 23(S) 24 20(int)
26: TypePointer Uniform 25(B1)
27(b1): 26(ptr) Variable Uniform
28: TypePointer Uniform 6(float16_t)
32: 20(int) Constant 1
33: 20(int) Constant 2
34: TypePointer Uniform 8(f16vec3)
37: TypeFloat 32
38: TypeVector 37(float) 3
40: TypeVector 37(float) 2
43: TypePointer Uniform 7(f16vec2)
45: TypeArray 6(float16_t) 10
46(S): TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3)
47: TypeArray 46(S) 10
48: TypeArray 7(f16vec2) 14
49: TypeArray 6(float16_t) 14
50(B5): TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3) 45 46(S) 47 48 49
51: TypePointer Uniform 50(B5)
52(b5): 51(ptr) Variable Uniform
59: 20(int) Constant 3
69: TypePointer Function 37(float)
74: TypeVector 37(float) 4
75: TypePointer Function 74(fvec4)
83: 37(float) Constant 1065353216
87: TypeMatrix 74(fvec4) 4
88(S2): TypeStruct 87 6(float16_t) 37(float)
89(S3): TypeStruct 88(S2)
90(B4): TypeStruct 88(S2) 89(S3)
91: TypePointer Uniform 90(B4)
92(b4): 91(ptr) Variable Uniform
93(S2): TypeStruct 87 6(float16_t) 37(float)
94(B3): TypeStruct 93(S2)
95: TypePointer Uniform 94(B3)
96(b3): 95(ptr) Variable Uniform
97: TypePointer Uniform 87
104: 9(int) Constant 0
108: 20(int) Constant 5
112: TypePointer Function 38(fvec3)
114: 20(int) Constant 7
115: 20(int) Constant 6
116: TypePointer Uniform 20(int)
166: 37(float) Constant 1073741824
167: 40(fvec2) ConstantComposite 83 166
170: 37(float) Constant 1077936128
4(main): 2 Function None 3
5: Label
70(x0): 69(ptr) Variable Function
76(x1): 75(ptr) Variable Function
113(v3): 112(ptr) Variable Function
135(u3): 112(ptr) Variable Function
29: 28(ptr) AccessChain 27(b1) 21
30:6(float16_t) Load 29
31: 28(ptr) AccessChain 19(b2) 21
Store 31 30
35: 34(ptr) AccessChain 19(b2) 33
36: 8(f16vec3) Load 35
39: 38(fvec3) FConvert 36
41: 40(fvec2) VectorShuffle 39 39 0 1
42: 7(f16vec2) FConvert 41
44: 43(ptr) AccessChain 19(b2) 32
Store 44 42
53: 34(ptr) AccessChain 52(b5) 33
54: 8(f16vec3) Load 53
55: 38(fvec3) FConvert 54
56: 40(fvec2) VectorShuffle 55 55 0 1
57: 7(f16vec2) FConvert 56
58: 43(ptr) AccessChain 19(b2) 32
Store 58 57
60: 28(ptr) AccessChain 19(b2) 59 21
61:6(float16_t) Load 60
62: 28(ptr) AccessChain 19(b2) 59 21
Store 62 61
63: 28(ptr) AccessChain 52(b5) 59 32
64:6(float16_t) Load 63
65: 28(ptr) AccessChain 19(b2) 59 32
Store 65 64
66: 43(ptr) AccessChain 19(b2) 32
67: 7(f16vec2) Load 66
68: 43(ptr) AccessChain 19(b2) 32
Store 68 67
71: 28(ptr) AccessChain 27(b1) 21
72:6(float16_t) Load 71
73: 37(float) FConvert 72
Store 70(x0) 73
77: 28(ptr) AccessChain 27(b1) 21
78:6(float16_t) Load 77
79: 37(float) FConvert 78
80: 43(ptr) AccessChain 19(b2) 32
81: 7(f16vec2) Load 80
82: 40(fvec2) FConvert 81
84: 37(float) CompositeExtract 82 0
85: 37(float) CompositeExtract 82 1
86: 74(fvec4) CompositeConstruct 79 84 85 83
Store 76(x1) 86
98: 97(ptr) AccessChain 96(b3) 21 21
99: 87 Load 98
100: 97(ptr) AccessChain 92(b4) 21 21
Store 100 99
101: 43(ptr) AccessChain 19(b2) 32
102: 7(f16vec2) Load 101
103: 40(fvec2) FConvert 102
105: 37(float) CompositeExtract 103 0
106:6(float16_t) FConvert 105
107: 28(ptr) AccessChain 19(b2) 21
Store 107 106
109: 43(ptr) AccessChain 19(b2) 108 32 32
110: 7(f16vec2) Load 109
111: 43(ptr) AccessChain 19(b2) 32
Store 111 110
117: 116(ptr) AccessChain 27(b1) 115
118: 20(int) Load 117
119: 28(ptr) AccessChain 19(b2) 114 118
120:6(float16_t) Load 119
121: 37(float) FConvert 120
122: 116(ptr) AccessChain 27(b1) 115
123: 20(int) Load 122
124: 20(int) IAdd 123 32
125: 28(ptr) AccessChain 19(b2) 114 124
126:6(float16_t) Load 125
127: 37(float) FConvert 126
128: 116(ptr) AccessChain 27(b1) 115
129: 20(int) Load 128
130: 20(int) IAdd 129 33
131: 28(ptr) AccessChain 19(b2) 114 130
132:6(float16_t) Load 131
133: 37(float) FConvert 132
134: 38(fvec3) CompositeConstruct 121 127 133
Store 113(v3) 134
136: 116(ptr) AccessChain 27(b1) 115
137: 20(int) Load 136
138: 28(ptr) AccessChain 52(b5) 114 137
139:6(float16_t) Load 138
140: 37(float) FConvert 139
141: 116(ptr) AccessChain 27(b1) 115
142: 20(int) Load 141
143: 20(int) IAdd 142 32
144: 28(ptr) AccessChain 52(b5) 114 143
145:6(float16_t) Load 144
146: 37(float) FConvert 145
147: 116(ptr) AccessChain 27(b1) 115
148: 20(int) Load 147
149: 20(int) IAdd 148 33
150: 28(ptr) AccessChain 52(b5) 114 149
151:6(float16_t) Load 150
152: 37(float) FConvert 151
153: 38(fvec3) CompositeConstruct 140 146 152
Store 135(u3) 153
154: 43(ptr) AccessChain 19(b2) 115 21
155: 7(f16vec2) Load 154
156: 43(ptr) AccessChain 19(b2) 115 21
Store 156 155
157: 43(ptr) AccessChain 52(b5) 115 32
158: 7(f16vec2) Load 157
159: 43(ptr) AccessChain 19(b2) 115 32
Store 159 158
160: 28(ptr) AccessChain 27(b1) 21
161:6(float16_t) Load 160
162: 28(ptr) AccessChain 19(b2) 32 104
Store 162 161
163: 28(ptr) AccessChain 19(b2) 32 104
164:6(float16_t) Load 163
165: 28(ptr) AccessChain 19(b2) 21
Store 165 164
168: 7(f16vec2) FConvert 167
169: 43(ptr) AccessChain 19(b2) 32
Store 169 168
171:6(float16_t) FConvert 170
172: 28(ptr) AccessChain 19(b2) 21
Store 172 171
Return
FunctionEnd
|