2 // Module Version 10000
3 // Generated by (magic number): 8000a
4 // Id's are bound by 576
11 Capability StorageUniform16
12 Capability StorageInputOutput16
13 Extension "SPV_AMD_gpu_shader_int16"
14 Extension "SPV_KHR_16bit_storage"
15 1: ExtInstImport "GLSL.std.450"
16 MemoryModel Logical GLSL450
17 EntryPoint Fragment 4 "main" 535 537
18 ExecutionMode 4 OriginUpperLeft
20 SourceExtension "GL_AMD_gpu_shader_half_float"
21 SourceExtension "GL_AMD_gpu_shader_int16"
22 SourceExtension "GL_ARB_gpu_shader_int64"
27 Name 12 "builtinFuncs("
30 MemberName 25(Uniforms) 0 "i"
63 MemberName 531(Block) 0 "i16v"
64 MemberName 531(Block) 1 "u16"
97 MemberDecorate 25(Uniforms) 0 Offset 0
98 Decorate 25(Uniforms) Block
99 Decorate 27 DescriptorSet 0
100 Decorate 27 Binding 0
101 MemberDecorate 531(Block) 0 Offset 0
102 MemberDecorate 531(Block) 1 Offset 6
103 Decorate 531(Block) Block
104 Decorate 533(block) DescriptorSet 0
105 Decorate 533(block) Binding 1
106 Decorate 535(iu16v) Flat
107 Decorate 535(iu16v) Location 0
108 Decorate 537(ii16) Flat
109 Decorate 537(ii16) Location 1
110 Decorate 538(si64) SpecId 100
111 Decorate 539(su64) SpecId 101
112 Decorate 540(si) SpecId 102
113 Decorate 541(su) SpecId 103
114 Decorate 542(sb) SpecId 104
115 Decorate 543(si16) SpecId 105
116 Decorate 544(su16) SpecId 106
120 15: TypePointer Function 14(int16_t)
123 19: 18(int) Constant 3
124 20: TypeArray 17(int16_t) 19
125 21: 17(int16_t) Constant 273
126 22: 17(int16_t) Constant 4294967294
127 23: 17(int16_t) Constant 256
128 24: 20 ConstantComposite 21 22 23
129 25(Uniforms): TypeStruct 18(int)
130 26: TypePointer Uniform 25(Uniforms)
131 27: 26(ptr) Variable Uniform
133 29: 28(int) Constant 0
134 30: TypePointer Uniform 18(int)
135 33: TypePointer Function 20
136 35: TypePointer Function 17(int16_t)
137 39: TypeArray 14(int16_t) 19
138 40: 14(int16_t) Constant 65535
139 41: 39 ConstantComposite 40 40 40
140 44: TypePointer Function 39
141 49: TypeVector 14(int16_t) 3
142 50: TypePointer Function 49(i16vec3)
143 53: 17(int16_t) Constant 1
144 54: TypeVector 17(int16_t) 3
145 111: 18(int) Constant 1
146 117: 18(int) Constant 2
148 126: TypePointer Function 125(bool)
149 128: 18(int) Constant 0
150 147: TypePointer Function 18(int)
151 158: TypePointer Function 28(int)
152 187: TypeVector 17(int16_t) 2
153 188: TypePointer Function 187(i16vec2)
154 190: TypeVector 125(bool) 2
155 191: TypePointer Function 190(bvec2)
156 194: 17(int16_t) Constant 0
157 195:187(i16vec2) ConstantComposite 194 194
158 196:187(i16vec2) ConstantComposite 53 53
159 198: TypeVector 14(int16_t) 2
160 199: TypePointer Function 198(i16vec2)
161 202: 14(int16_t) Constant 0
162 203: 14(int16_t) Constant 1
163 204:198(i16vec2) ConstantComposite 202 202
164 205:198(i16vec2) ConstantComposite 203 203
165 211: TypeVector 28(int) 2
166 212: TypePointer Function 211(ivec2)
167 222: TypeVector 18(int) 2
168 225: TypePointer Function 222(ivec2)
170 238: TypeVector 237(float) 2
171 239: TypePointer Function 238(fvec2)
173 250: TypeVector 249(float64_t) 2
174 251: TypePointer Function 250(f64vec2)
176 262: TypeVector 261(float16_t) 2
177 263: TypePointer Function 262(f16vec2)
179 274: TypeVector 273(int64_t) 2
180 275: TypePointer Function 274(i64vec2)
182 286: TypeVector 285(int64_t) 2
183 289: TypePointer Function 286(i64vec2)
184 316: 17(int16_t) Constant 4294967295
185 317:187(i16vec2) ConstantComposite 316 316
186 326: 49(i16vec3) ConstantComposite 202 202 202
187 368: 125(bool) ConstantTrue
188 375: 125(bool) ConstantFalse
189 376: 190(bvec2) ConstantComposite 375 375
190 388: TypeVector 125(bool) 3
191 389: 388(bvec3) ConstantComposite 375 375 375
192 391: TypeVector 261(float16_t) 3
193 392: TypePointer Function 391(f16vec3)
194 395: TypePointer Function 54(i16vec3)
195 397(ResType): TypeStruct 391(f16vec3) 54(i16vec3)
196 407: TypePointer Function 261(float16_t)
197 435: TypePointer Function 273(int64_t)
198 438: TypeVector 17(int16_t) 4
199 444: TypePointer Function 285(int64_t)
200 447: TypeVector 14(int16_t) 4
201 453: TypePointer Function 388(bvec3)
202 531(Block): TypeStruct 54(i16vec3) 14(int16_t)
203 532: TypePointer Uniform 531(Block)
204 533(block): 532(ptr) Variable Uniform
205 534: TypePointer Input 49(i16vec3)
206 535(iu16v): 534(ptr) Variable Input
207 536: TypePointer Input 17(int16_t)
208 537(ii16): 536(ptr) Variable Input
209 538(si64):273(int64_t) SpecConstant 4294967286 4294967295
210 539(su64):285(int64_t) SpecConstant 20 0
211 540(si): 28(int) SpecConstant 4294967291
212 541(su): 18(int) SpecConstant 4
213 542(sb): 125(bool) SpecConstantTrue
214 543(si16): 17(int16_t) SpecConstant 4294967291
215 544(su16): 14(int16_t) SpecConstant 4
216 545(i16_to_b): 125(bool) SpecConstantOp 171 543(si16) 202
217 546(u16_to_b): 125(bool) SpecConstantOp 171 544(su16) 202
218 547(b_to_i16): 17(int16_t) SpecConstantOp 169 542(sb) 53 194
219 548(b_to_u16): 14(int16_t) SpecConstantOp 169 542(sb) 203 202
220 549(i16_to_i): 28(int) SpecConstantOp 114 543(si16)
221 550: 18(int) SpecConstantOp 113 544(su16)
222 551(u16_to_i): 28(int) SpecConstantOp 128 550 128
223 552(i_to_i16): 17(int16_t) SpecConstantOp 114 540(si)
224 553: 17(int16_t) SpecConstantOp 114 540(si)
225 554(i_to_u16): 14(int16_t) SpecConstantOp 128 553 202
226 555: 28(int) SpecConstantOp 114 543(si16)
227 556(i16_to_u): 18(int) SpecConstantOp 128 555 128
228 557(u16_to_u): 18(int) SpecConstantOp 113 544(su16)
229 558: 14(int16_t) SpecConstantOp 113 541(su)
230 559(u_to_i16): 17(int16_t) SpecConstantOp 128 558 202
231 560(u_to_u16): 14(int16_t) SpecConstantOp 113 541(su)
232 561(i16_to_i64):273(int64_t) SpecConstantOp 114 543(si16)
233 562:285(int64_t) SpecConstantOp 113 544(su16)
234 563:285(int64_t) Constant 0 0
235 564(u16_to_i64):273(int64_t) SpecConstantOp 128 562 563
236 565(i64_to_i16): 17(int16_t) SpecConstantOp 114 538(si64)
237 566: 17(int16_t) SpecConstantOp 114 538(si64)
238 567(i64_to_u16): 14(int16_t) SpecConstantOp 128 566 202
239 568:273(int64_t) SpecConstantOp 114 543(si16)
240 569(i16_to_u64):285(int64_t) SpecConstantOp 128 568 563
241 570(u16_to_u64):285(int64_t) SpecConstantOp 113 544(su16)
242 571: 14(int16_t) SpecConstantOp 113 539(su64)
243 572(u64_to_i16): 17(int16_t) SpecConstantOp 128 571 202
244 573(u64_to_u16): 14(int16_t) SpecConstantOp 113 539(su64)
245 574(i16_to_u16): 14(int16_t) SpecConstantOp 128 543(si16) 202
246 575(u16_to_i16): 17(int16_t) SpecConstantOp 128 544(su16) 202
247 4(main): 2 Function None 3
249 527: 2 FunctionCall 6(literal()
250 528: 2 FunctionCall 8(operators()
251 529: 2 FunctionCall 10(typeCast()
252 530: 2 FunctionCall 12(builtinFuncs()
255 6(literal(): 2 Function None 3
257 16(u16): 15(ptr) Variable Function
258 34(indexable): 33(ptr) Variable Function
259 45(indexable): 44(ptr) Variable Function
260 31: 30(ptr) AccessChain 27 29
262 Store 34(indexable) 24
263 36: 35(ptr) AccessChain 34(indexable) 32
264 37: 17(int16_t) Load 36
265 38: 14(int16_t) Bitcast 37
266 42: 30(ptr) AccessChain 27 29
268 Store 45(indexable) 41
269 46: 15(ptr) AccessChain 45(indexable) 43
270 47: 14(int16_t) Load 46
271 48: 14(int16_t) IAdd 38 47
275 8(operators(): 2 Function None 3
277 51(u16v): 50(ptr) Variable Function
278 57(i16): 35(ptr) Variable Function
279 70(u16): 15(ptr) Variable Function
280 127(b): 126(ptr) Variable Function
281 148(u): 147(ptr) Variable Function
282 159(i): 158(ptr) Variable Function
283 52: 49(i16vec3) Load 51(u16v)
284 55: 54(i16vec3) CompositeConstruct 53 53 53
285 56: 49(i16vec3) IAdd 52 55
287 58: 17(int16_t) Load 57(i16)
288 59: 17(int16_t) ISub 58 53
290 60: 17(int16_t) Load 57(i16)
291 61: 17(int16_t) IAdd 60 53
293 62: 49(i16vec3) Load 51(u16v)
294 63: 54(i16vec3) CompositeConstruct 53 53 53
295 64: 49(i16vec3) ISub 62 63
297 65: 49(i16vec3) Load 51(u16v)
298 66: 49(i16vec3) Not 65
300 67: 17(int16_t) Load 57(i16)
302 68: 49(i16vec3) Load 51(u16v)
303 69: 49(i16vec3) SNegate 68
305 71: 17(int16_t) Load 57(i16)
306 72: 14(int16_t) Bitcast 71
307 73: 14(int16_t) Load 70(u16)
308 74: 14(int16_t) IAdd 73 72
310 75: 49(i16vec3) Load 51(u16v)
311 76: 49(i16vec3) Load 51(u16v)
312 77: 49(i16vec3) ISub 76 75
314 78: 17(int16_t) Load 57(i16)
315 79: 17(int16_t) Load 57(i16)
316 80: 17(int16_t) IMul 79 78
318 81: 49(i16vec3) Load 51(u16v)
319 82: 49(i16vec3) Load 51(u16v)
320 83: 49(i16vec3) UDiv 82 81
322 84: 17(int16_t) Load 57(i16)
323 85: 14(int16_t) Bitcast 84
324 86: 49(i16vec3) Load 51(u16v)
325 87: 49(i16vec3) CompositeConstruct 85 85 85
326 88: 49(i16vec3) UMod 86 87
328 89: 49(i16vec3) Load 51(u16v)
329 90: 49(i16vec3) Load 51(u16v)
330 91: 49(i16vec3) IAdd 89 90
332 92: 17(int16_t) Load 57(i16)
333 93: 14(int16_t) Bitcast 92
334 94: 14(int16_t) Load 70(u16)
335 95: 14(int16_t) ISub 93 94
337 96: 49(i16vec3) Load 51(u16v)
338 97: 17(int16_t) Load 57(i16)
339 98: 14(int16_t) Bitcast 97
340 99: 49(i16vec3) CompositeConstruct 98 98 98
341 100: 49(i16vec3) IMul 96 99
343 101: 17(int16_t) Load 57(i16)
344 102: 17(int16_t) Load 57(i16)
345 103: 17(int16_t) IMul 101 102
347 104: 17(int16_t) Load 57(i16)
348 105: 17(int16_t) Load 57(i16)
349 106: 17(int16_t) SMod 104 105
351 107: 17(int16_t) Load 57(i16)
352 108: 49(i16vec3) Load 51(u16v)
353 109: 54(i16vec3) CompositeConstruct 107 107 107
354 110: 49(i16vec3) ShiftLeftLogical 108 109
356 112: 15(ptr) AccessChain 51(u16v) 111
357 113: 14(int16_t) Load 112
358 114: 17(int16_t) Load 57(i16)
359 115: 17(int16_t) ShiftRightArithmetic 114 113
361 116: 17(int16_t) Load 57(i16)
362 118: 15(ptr) AccessChain 51(u16v) 117
363 119: 14(int16_t) Load 118
364 120: 17(int16_t) ShiftLeftLogical 116 119
366 121: 49(i16vec3) Load 51(u16v)
367 122: 17(int16_t) Load 57(i16)
368 123: 54(i16vec3) CompositeConstruct 122 122 122
369 124: 49(i16vec3) ShiftLeftLogical 121 123
371 129: 15(ptr) AccessChain 51(u16v) 128
372 130: 14(int16_t) Load 129
373 131: 17(int16_t) Load 57(i16)
374 132: 14(int16_t) Bitcast 131
375 133: 125(bool) INotEqual 130 132
377 134: 17(int16_t) Load 57(i16)
378 135: 14(int16_t) Bitcast 134
379 136: 15(ptr) AccessChain 51(u16v) 128
380 137: 14(int16_t) Load 136
381 138: 125(bool) IEqual 135 137
383 139: 15(ptr) AccessChain 51(u16v) 128
384 140: 14(int16_t) Load 139
385 141: 15(ptr) AccessChain 51(u16v) 111
386 142: 14(int16_t) Load 141
387 143: 125(bool) UGreaterThan 140 142
389 144: 17(int16_t) Load 57(i16)
390 145: 28(int) SConvert 144
391 146: 18(int) Bitcast 145
392 149: 18(int) Load 148(u)
393 150: 125(bool) ULessThan 146 149
395 151: 15(ptr) AccessChain 51(u16v) 111
396 152: 14(int16_t) Load 151
397 153: 15(ptr) AccessChain 51(u16v) 128
398 154: 14(int16_t) Load 153
399 155: 125(bool) UGreaterThanEqual 152 154
401 156: 17(int16_t) Load 57(i16)
402 157: 28(int) SConvert 156
403 160: 28(int) Load 159(i)
404 161: 125(bool) SLessThanEqual 157 160
406 162: 17(int16_t) Load 57(i16)
407 163: 14(int16_t) Bitcast 162
408 164: 49(i16vec3) Load 51(u16v)
409 165: 49(i16vec3) CompositeConstruct 163 163 163
410 166: 49(i16vec3) BitwiseOr 164 165
412 167: 17(int16_t) Load 57(i16)
413 168: 14(int16_t) Bitcast 167
414 169: 14(int16_t) Load 70(u16)
415 170: 14(int16_t) BitwiseOr 168 169
417 171: 17(int16_t) Load 57(i16)
418 172: 17(int16_t) Load 57(i16)
419 173: 17(int16_t) BitwiseAnd 172 171
421 174: 49(i16vec3) Load 51(u16v)
422 175: 49(i16vec3) Load 51(u16v)
423 176: 49(i16vec3) BitwiseAnd 174 175
425 177: 17(int16_t) Load 57(i16)
426 178: 14(int16_t) Bitcast 177
427 179: 49(i16vec3) Load 51(u16v)
428 180: 49(i16vec3) CompositeConstruct 178 178 178
429 181: 49(i16vec3) BitwiseXor 179 180
431 182: 49(i16vec3) Load 51(u16v)
432 183: 17(int16_t) Load 57(i16)
433 184: 14(int16_t) Bitcast 183
434 185: 49(i16vec3) CompositeConstruct 184 184 184
435 186: 49(i16vec3) BitwiseXor 182 185
439 10(typeCast(): 2 Function None 3
441 189(i16v): 188(ptr) Variable Function
442 192(bv): 191(ptr) Variable Function
443 200(u16v): 199(ptr) Variable Function
444 213(iv): 212(ptr) Variable Function
445 226(uv): 225(ptr) Variable Function
446 240(fv): 239(ptr) Variable Function
447 252(dv): 251(ptr) Variable Function
448 264(f16v): 263(ptr) Variable Function
449 276(i64v): 275(ptr) Variable Function
450 290(u64v): 289(ptr) Variable Function
451 193: 190(bvec2) Load 192(bv)
452 197:187(i16vec2) Select 193 196 195
454 201: 190(bvec2) Load 192(bv)
455 206:198(i16vec2) Select 201 205 204
457 207:187(i16vec2) Load 189(i16v)
458 208: 190(bvec2) INotEqual 207 204
460 209:198(i16vec2) Load 200(u16v)
461 210: 190(bvec2) INotEqual 209 204
463 214: 211(ivec2) Load 213(iv)
464 215:187(i16vec2) SConvert 214
466 216: 211(ivec2) Load 213(iv)
467 217:187(i16vec2) SConvert 216
468 218:198(i16vec2) Bitcast 217
470 219:187(i16vec2) Load 189(i16v)
471 220: 211(ivec2) SConvert 219
473 221:198(i16vec2) Load 200(u16v)
474 223: 222(ivec2) UConvert 221
475 224: 211(ivec2) Bitcast 223
477 227: 222(ivec2) Load 226(uv)
478 228:198(i16vec2) UConvert 227
479 229:187(i16vec2) Bitcast 228
481 230: 222(ivec2) Load 226(uv)
482 231:198(i16vec2) UConvert 230
484 232:187(i16vec2) Load 189(i16v)
485 233: 211(ivec2) SConvert 232
486 234: 222(ivec2) Bitcast 233
488 235:198(i16vec2) Load 200(u16v)
489 236: 222(ivec2) UConvert 235
491 241: 238(fvec2) Load 240(fv)
492 242:187(i16vec2) ConvertFToS 241
494 243: 238(fvec2) Load 240(fv)
495 244:198(i16vec2) ConvertFToU 243
497 245:187(i16vec2) Load 189(i16v)
498 246: 238(fvec2) ConvertSToF 245
500 247:198(i16vec2) Load 200(u16v)
501 248: 238(fvec2) ConvertUToF 247
503 253:250(f64vec2) Load 252(dv)
504 254:187(i16vec2) ConvertFToS 253
506 255:250(f64vec2) Load 252(dv)
507 256:198(i16vec2) ConvertFToU 255
509 257:187(i16vec2) Load 189(i16v)
510 258:250(f64vec2) ConvertSToF 257
512 259:198(i16vec2) Load 200(u16v)
513 260:250(f64vec2) ConvertUToF 259
515 265:262(f16vec2) Load 264(f16v)
516 266:187(i16vec2) ConvertFToS 265
518 267:262(f16vec2) Load 264(f16v)
519 268:198(i16vec2) ConvertFToU 267
521 269:187(i16vec2) Load 189(i16v)
522 270:262(f16vec2) ConvertSToF 269
524 271:198(i16vec2) Load 200(u16v)
525 272:262(f16vec2) ConvertUToF 271
527 277:274(i64vec2) Load 276(i64v)
528 278:187(i16vec2) SConvert 277
530 279:274(i64vec2) Load 276(i64v)
531 280:187(i16vec2) SConvert 279
532 281:198(i16vec2) Bitcast 280
534 282:187(i16vec2) Load 189(i16v)
535 283:274(i64vec2) SConvert 282
537 284:198(i16vec2) Load 200(u16v)
538 287:286(i64vec2) UConvert 284
539 288:274(i64vec2) Bitcast 287
541 291:286(i64vec2) Load 290(u64v)
542 292:198(i16vec2) UConvert 291
543 293:187(i16vec2) Bitcast 292
545 294:286(i64vec2) Load 290(u64v)
546 295:198(i16vec2) UConvert 294
548 296:187(i16vec2) Load 189(i16v)
549 297:274(i64vec2) SConvert 296
550 298:286(i64vec2) Bitcast 297
552 299:198(i16vec2) Load 200(u16v)
553 300:286(i64vec2) UConvert 299
555 301:198(i16vec2) Load 200(u16v)
556 302:187(i16vec2) Bitcast 301
558 303:187(i16vec2) Load 189(i16v)
559 304:198(i16vec2) Bitcast 303
563 12(builtinFuncs(): 2 Function None 3
565 305(i16v): 188(ptr) Variable Function
566 311(i16): 35(ptr) Variable Function
567 319(u16v): 50(ptr) Variable Function
568 321(u16): 15(ptr) Variable Function
569 393(f16v): 392(ptr) Variable Function
570 396(exp): 395(ptr) Variable Function
571 420(packi): 158(ptr) Variable Function
572 425(packu): 147(ptr) Variable Function
573 436(packi64): 435(ptr) Variable Function
574 445(packu64): 444(ptr) Variable Function
575 454(bv): 453(ptr) Variable Function
576 306:187(i16vec2) Load 305(i16v)
577 307:187(i16vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 306
579 308:187(i16vec2) Load 305(i16v)
580 309:187(i16vec2) ExtInst 1(GLSL.std.450) 7(SSign) 308
582 310:187(i16vec2) Load 305(i16v)
583 312: 17(int16_t) Load 311(i16)
584 313:187(i16vec2) CompositeConstruct 312 312
585 314:187(i16vec2) ExtInst 1(GLSL.std.450) 39(SMin) 310 313
587 315:187(i16vec2) Load 305(i16v)
588 318:187(i16vec2) ExtInst 1(GLSL.std.450) 39(SMin) 315 317
590 320: 49(i16vec3) Load 319(u16v)
591 322: 14(int16_t) Load 321(u16)
592 323: 49(i16vec3) CompositeConstruct 322 322 322
593 324: 49(i16vec3) ExtInst 1(GLSL.std.450) 38(UMin) 320 323
595 325: 49(i16vec3) Load 319(u16v)
596 327: 49(i16vec3) ExtInst 1(GLSL.std.450) 38(UMin) 325 326
598 328:187(i16vec2) Load 305(i16v)
599 329: 17(int16_t) Load 311(i16)
600 330:187(i16vec2) CompositeConstruct 329 329
601 331:187(i16vec2) ExtInst 1(GLSL.std.450) 42(SMax) 328 330
603 332:187(i16vec2) Load 305(i16v)
604 333:187(i16vec2) ExtInst 1(GLSL.std.450) 42(SMax) 332 317
606 334: 49(i16vec3) Load 319(u16v)
607 335: 14(int16_t) Load 321(u16)
608 336: 49(i16vec3) CompositeConstruct 335 335 335
609 337: 49(i16vec3) ExtInst 1(GLSL.std.450) 41(UMax) 334 336
611 338: 49(i16vec3) Load 319(u16v)
612 339: 49(i16vec3) ExtInst 1(GLSL.std.450) 41(UMax) 338 326
614 340:187(i16vec2) Load 305(i16v)
615 341: 17(int16_t) Load 311(i16)
616 342: 17(int16_t) SNegate 341
617 343: 17(int16_t) Load 311(i16)
618 344:187(i16vec2) CompositeConstruct 342 342
619 345:187(i16vec2) CompositeConstruct 343 343
620 346:187(i16vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 340 344 345
622 347:187(i16vec2) Load 305(i16v)
623 348:187(i16vec2) Load 305(i16v)
624 349:187(i16vec2) SNegate 348
625 350:187(i16vec2) Load 305(i16v)
626 351:187(i16vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 347 349 350
628 352: 49(i16vec3) Load 319(u16v)
629 353: 14(int16_t) Load 321(u16)
630 354: 14(int16_t) SNegate 353
631 355: 14(int16_t) Load 321(u16)
632 356: 49(i16vec3) CompositeConstruct 354 354 354
633 357: 49(i16vec3) CompositeConstruct 355 355 355
634 358: 49(i16vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 352 356 357
636 359: 49(i16vec3) Load 319(u16v)
637 360: 49(i16vec3) Load 319(u16v)
638 361: 49(i16vec3) SNegate 360
639 362: 49(i16vec3) Load 319(u16v)
640 363: 49(i16vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 359 361 362
642 364: 35(ptr) AccessChain 305(i16v) 128
643 365: 17(int16_t) Load 364
644 366: 35(ptr) AccessChain 305(i16v) 111
645 367: 17(int16_t) Load 366
646 369: 17(int16_t) Select 368 367 365
648 370: 17(int16_t) Load 311(i16)
649 371:187(i16vec2) CompositeConstruct 370 370
650 372: 17(int16_t) Load 311(i16)
651 373: 17(int16_t) SNegate 372
652 374:187(i16vec2) CompositeConstruct 373 373
653 377:187(i16vec2) Select 376 374 371
655 378: 15(ptr) AccessChain 319(u16v) 128
656 379: 14(int16_t) Load 378
657 380: 15(ptr) AccessChain 319(u16v) 111
658 381: 14(int16_t) Load 380
659 382: 14(int16_t) Select 368 381 379
661 383: 14(int16_t) Load 321(u16)
662 384: 49(i16vec3) CompositeConstruct 383 383 383
663 385: 14(int16_t) Load 321(u16)
664 386: 14(int16_t) SNegate 385
665 387: 49(i16vec3) CompositeConstruct 386 386 386
666 390: 49(i16vec3) Select 389 387 384
668 394:391(f16vec3) Load 393(f16v)
669 398:397(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 394
670 399: 54(i16vec3) CompositeExtract 398 1
672 400:391(f16vec3) CompositeExtract 398 0
674 401:391(f16vec3) Load 393(f16v)
675 402: 54(i16vec3) Load 396(exp)
676 403:391(f16vec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 401 402
678 404:391(f16vec3) Load 393(f16v)
679 405:262(f16vec2) VectorShuffle 404 404 0 1
680 406:187(i16vec2) Bitcast 405
682 408: 407(ptr) AccessChain 393(f16v) 117
683 409:261(float16_t) Load 408
684 410: 14(int16_t) Bitcast 409
685 411: 15(ptr) AccessChain 319(u16v) 128
687 412:187(i16vec2) Load 305(i16v)
688 413:262(f16vec2) Bitcast 412
689 414: 407(ptr) AccessChain 393(f16v) 128
690 415:261(float16_t) CompositeExtract 413 0
692 416: 407(ptr) AccessChain 393(f16v) 111
693 417:261(float16_t) CompositeExtract 413 1
695 418: 49(i16vec3) Load 319(u16v)
696 419:391(f16vec3) Bitcast 418
698 421:187(i16vec2) Load 305(i16v)
699 422: 28(int) Bitcast 421
701 423: 28(int) Load 420(packi)
702 424:187(i16vec2) Bitcast 423
704 426: 49(i16vec3) Load 319(u16v)
705 427:198(i16vec2) VectorShuffle 426 426 0 1
706 428: 18(int) Bitcast 427
708 429: 18(int) Load 425(packu)
709 430:198(i16vec2) Bitcast 429
710 431: 15(ptr) AccessChain 319(u16v) 128
711 432: 14(int16_t) CompositeExtract 430 0
713 433: 15(ptr) AccessChain 319(u16v) 111
714 434: 14(int16_t) CompositeExtract 430 1
716 437: 17(int16_t) Load 311(i16)
717 439:438(i16vec4) CompositeConstruct 437 437 437 437
718 440:273(int64_t) Bitcast 439
719 Store 436(packi64) 440
720 441:273(int64_t) Load 436(packi64)
721 442:438(i16vec4) Bitcast 441
722 443:187(i16vec2) VectorShuffle 442 442 0 1
724 446: 14(int16_t) Load 321(u16)
725 448:447(i16vec4) CompositeConstruct 446 446 446 446
726 449:285(int64_t) Bitcast 448
727 Store 445(packu64) 449
728 450:285(int64_t) Load 445(packu64)
729 451:447(i16vec4) Bitcast 450
730 452: 49(i16vec3) VectorShuffle 451 451 0 1 2
732 455: 49(i16vec3) Load 319(u16v)
733 456: 14(int16_t) Load 321(u16)
734 457: 49(i16vec3) CompositeConstruct 456 456 456
735 458: 388(bvec3) ULessThan 455 457
737 459:187(i16vec2) Load 305(i16v)
738 460: 17(int16_t) Load 311(i16)
739 461:187(i16vec2) CompositeConstruct 460 460
740 462: 190(bvec2) SLessThan 459 461
741 463: 126(ptr) AccessChain 454(bv) 128
742 464: 125(bool) CompositeExtract 462 0
744 465: 126(ptr) AccessChain 454(bv) 111
745 466: 125(bool) CompositeExtract 462 1
747 467: 49(i16vec3) Load 319(u16v)
748 468: 14(int16_t) Load 321(u16)
749 469: 49(i16vec3) CompositeConstruct 468 468 468
750 470: 388(bvec3) ULessThanEqual 467 469
752 471:187(i16vec2) Load 305(i16v)
753 472: 17(int16_t) Load 311(i16)
754 473:187(i16vec2) CompositeConstruct 472 472
755 474: 190(bvec2) SLessThanEqual 471 473
756 475: 126(ptr) AccessChain 454(bv) 128
757 476: 125(bool) CompositeExtract 474 0
759 477: 126(ptr) AccessChain 454(bv) 111
760 478: 125(bool) CompositeExtract 474 1
762 479: 49(i16vec3) Load 319(u16v)
763 480: 14(int16_t) Load 321(u16)
764 481: 49(i16vec3) CompositeConstruct 480 480 480
765 482: 388(bvec3) UGreaterThan 479 481
767 483:187(i16vec2) Load 305(i16v)
768 484: 17(int16_t) Load 311(i16)
769 485:187(i16vec2) CompositeConstruct 484 484
770 486: 190(bvec2) SGreaterThan 483 485
771 487: 126(ptr) AccessChain 454(bv) 128
772 488: 125(bool) CompositeExtract 486 0
774 489: 126(ptr) AccessChain 454(bv) 111
775 490: 125(bool) CompositeExtract 486 1
777 491: 49(i16vec3) Load 319(u16v)
778 492: 14(int16_t) Load 321(u16)
779 493: 49(i16vec3) CompositeConstruct 492 492 492
780 494: 388(bvec3) UGreaterThanEqual 491 493
782 495:187(i16vec2) Load 305(i16v)
783 496: 17(int16_t) Load 311(i16)
784 497:187(i16vec2) CompositeConstruct 496 496
785 498: 190(bvec2) SGreaterThanEqual 495 497
786 499: 126(ptr) AccessChain 454(bv) 128
787 500: 125(bool) CompositeExtract 498 0
789 501: 126(ptr) AccessChain 454(bv) 111
790 502: 125(bool) CompositeExtract 498 1
792 503: 49(i16vec3) Load 319(u16v)
793 504: 14(int16_t) Load 321(u16)
794 505: 49(i16vec3) CompositeConstruct 504 504 504
795 506: 388(bvec3) IEqual 503 505
797 507:187(i16vec2) Load 305(i16v)
798 508: 17(int16_t) Load 311(i16)
799 509:187(i16vec2) CompositeConstruct 508 508
800 510: 190(bvec2) IEqual 507 509
801 511: 126(ptr) AccessChain 454(bv) 128
802 512: 125(bool) CompositeExtract 510 0
804 513: 126(ptr) AccessChain 454(bv) 111
805 514: 125(bool) CompositeExtract 510 1
807 515: 49(i16vec3) Load 319(u16v)
808 516: 14(int16_t) Load 321(u16)
809 517: 49(i16vec3) CompositeConstruct 516 516 516
810 518: 388(bvec3) INotEqual 515 517
812 519:187(i16vec2) Load 305(i16v)
813 520: 17(int16_t) Load 311(i16)
814 521:187(i16vec2) CompositeConstruct 520 520
815 522: 190(bvec2) INotEqual 519 521
816 523: 126(ptr) AccessChain 454(bv) 128
817 524: 125(bool) CompositeExtract 522 0
819 525: 126(ptr) AccessChain 454(bv) 111
820 526: 125(bool) CompositeExtract 522 1