blob: 2c260dd2b15891e3ecdfc45764e3ed604d71cb43 (
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
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
|
spv.int32.frag
// Module Version 10300
// Generated by (magic number): 8000b
// Id's are bound by 505
Capability Shader
Capability Float16
Capability Float64
Capability Int64
Capability Int16
Capability Int8
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
SourceExtension "GL_EXT_shader_explicit_arithmetic_types"
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_float16"
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_float32"
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_float64"
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int16"
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int32"
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int64"
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int8"
Name 4 "main"
Name 6 "literal("
Name 8 "typeCast32("
Name 10 "operators("
Name 12 "builtinFuncs("
Name 16 "u32Max"
Name 20 "i32"
Name 27 "Uniforms"
MemberName 27(Uniforms) 0 "index"
Name 29 ""
Name 35 "indexable"
Name 39 "u32"
Name 46 "indexable"
Name 51 "u32v"
Name 54 "i32v"
Name 60 "i64v"
Name 66 "u64v"
Name 78 "f32v"
Name 84 "f64v"
Name 94 "i8v"
Name 105 "i16v"
Name 125 "u8v"
Name 132 "u16v"
Name 152 "f16v"
Name 168 "bv"
Name 186 "u32v"
Name 191 "i32"
Name 210 "i"
Name 214 "uv"
Name 227 "i64"
Name 260 "b"
Name 312 "i32v"
Name 315 "i32"
Name 325 "u32v"
Name 327 "u32"
Name 399 "i8v4"
Name 402 "i16v2"
Name 407 "u8v4"
Name 410 "u16v2"
Name 413 "i64"
Name 416 "u32v2"
Name 418 "u64"
Name 422 "bv"
Name 497 "Block"
MemberName 497(Block) 0 "i32"
MemberName 497(Block) 1 "i32v2"
MemberName 497(Block) 2 "i32v3"
MemberName 497(Block) 3 "i32v4"
MemberName 497(Block) 4 "u32"
MemberName 497(Block) 5 "u32v2"
MemberName 497(Block) 6 "u32v3"
MemberName 497(Block) 7 "u32v4"
Name 499 "block"
Name 500 "si32"
Name 501 "su32"
Name 502 "si"
Name 503 "su"
Name 504 "sb"
MemberDecorate 27(Uniforms) 0 Offset 0
Decorate 27(Uniforms) Block
Decorate 29 DescriptorSet 0
Decorate 29 Binding 0
MemberDecorate 497(Block) 0 Offset 0
MemberDecorate 497(Block) 1 Offset 8
MemberDecorate 497(Block) 2 Offset 16
MemberDecorate 497(Block) 3 Offset 32
MemberDecorate 497(Block) 4 Offset 48
MemberDecorate 497(Block) 5 Offset 56
MemberDecorate 497(Block) 6 Offset 64
MemberDecorate 497(Block) 7 Offset 80
Decorate 497(Block) Block
Decorate 499(block) DescriptorSet 0
Decorate 499(block) Binding 1
Decorate 500(si32) SpecId 100
Decorate 501(su32) SpecId 101
Decorate 502(si) SpecId 102
Decorate 503(su) SpecId 103
Decorate 504(sb) SpecId 104
2: TypeVoid
3: TypeFunction 2
14: TypeInt 32 0
15: TypePointer Private 14(int)
16(u32Max): 15(ptr) Variable Private
17: 14(int) Constant 4294967295
18: TypeInt 32 1
19: TypePointer Function 18(int)
21: 14(int) Constant 3
22: TypeArray 18(int) 21
23: 18(int) Constant 4008636143
24: 18(int) Constant 4294967295
25: 18(int) Constant 536870912
26: 22 ConstantComposite 23 24 25
27(Uniforms): TypeStruct 14(int)
28: TypePointer Uniform 27(Uniforms)
29: 28(ptr) Variable Uniform
30: 18(int) Constant 0
31: TypePointer Uniform 14(int)
34: TypePointer Function 22
38: TypePointer Function 14(int)
40: TypeArray 14(int) 21
41: 14(int) Constant 2147483647
42: 40 ConstantComposite 17 17 41
45: TypePointer Function 40
49: TypeVector 14(int) 2
50: TypePointer Function 49(ivec2)
52: TypeVector 18(int) 2
53: TypePointer Function 52(ivec2)
57: TypeInt 64 1
58: TypeVector 57(int64_t) 2
59: TypePointer Function 58(i64vec2)
63: TypeInt 64 0
64: TypeVector 63(int64_t) 2
65: TypePointer Function 64(i64vec2)
75: TypeFloat 32
76: TypeVector 75(float) 2
77: TypePointer Function 76(fvec2)
81: TypeFloat 64
82: TypeVector 81(float64_t) 2
83: TypePointer Function 82(f64vec2)
91: TypeInt 8 1
92: TypeVector 91(int8_t) 2
93: TypePointer Function 92(i8vec2)
98: TypeInt 8 0
99: TypeVector 98(int8_t) 2
102: TypeInt 16 1
103: TypeVector 102(int16_t) 2
104: TypePointer Function 103(i16vec2)
109: TypeInt 16 0
110: TypeVector 109(int16_t) 2
124: TypePointer Function 99(i8vec2)
131: TypePointer Function 110(i16vec2)
149: TypeFloat 16
150: TypeVector 149(float16_t) 2
151: TypePointer Function 150(f16vec2)
165: TypeBool
166: TypeVector 165(bool) 2
167: TypePointer Function 166(bvec2)
170: 18(int) Constant 1
171: 52(ivec2) ConstantComposite 30 30
172: 52(ivec2) ConstantComposite 170 170
175: 14(int) Constant 0
176: 14(int) Constant 1
177: 49(ivec2) ConstantComposite 175 175
178: 49(ivec2) ConstantComposite 176 176
184: TypeVector 14(int) 3
185: TypePointer Function 184(ivec3)
188: TypeVector 18(int) 3
226: TypePointer Function 57(int64_t)
251: 14(int) Constant 2
259: TypePointer Function 165(bool)
323: 52(ivec2) ConstantComposite 24 24
332: 184(ivec3) ConstantComposite 175 175 175
374: 165(bool) ConstantTrue
381: 165(bool) ConstantFalse
382: 166(bvec2) ConstantComposite 381 381
394: TypeVector 165(bool) 3
395: 394(bvec3) ConstantComposite 381 381 381
397: TypeVector 91(int8_t) 4
398: TypePointer Function 397(i8vec4)
405: TypeVector 98(int8_t) 4
406: TypePointer Function 405(i8vec4)
417: TypePointer Function 63(int64_t)
421: TypePointer Function 394(bvec3)
495: TypeVector 18(int) 4
496: TypeVector 14(int) 4
497(Block): TypeStruct 18(int) 52(ivec2) 188(ivec3) 495(ivec4) 14(int) 49(ivec2) 184(ivec3) 496(ivec4)
498: TypePointer Uniform 497(Block)
499(block): 498(ptr) Variable Uniform
500(si32): 18(int) SpecConstant 4294967286
501(su32): 14(int) SpecConstant 20
502(si): 18(int) SpecConstant 4294967291
503(su): 14(int) SpecConstant 4
504(sb): 165(bool) SpecConstantTrue
4(main): 2 Function None 3
5: Label
Store 16(u32Max) 17
Return
FunctionEnd
6(literal(): 2 Function None 3
7: Label
20(i32): 19(ptr) Variable Function
35(indexable): 34(ptr) Variable Function
39(u32): 38(ptr) Variable Function
46(indexable): 45(ptr) Variable Function
32: 31(ptr) AccessChain 29 30
33: 14(int) Load 32
Store 35(indexable) 26
36: 19(ptr) AccessChain 35(indexable) 33
37: 18(int) Load 36
Store 20(i32) 37
43: 31(ptr) AccessChain 29 30
44: 14(int) Load 43
Store 46(indexable) 42
47: 38(ptr) AccessChain 46(indexable) 44
48: 14(int) Load 47
Store 39(u32) 48
Return
FunctionEnd
8(typeCast32(): 2 Function None 3
9: Label
51(u32v): 50(ptr) Variable Function
54(i32v): 53(ptr) Variable Function
60(i64v): 59(ptr) Variable Function
66(u64v): 65(ptr) Variable Function
78(f32v): 77(ptr) Variable Function
84(f64v): 83(ptr) Variable Function
94(i8v): 93(ptr) Variable Function
105(i16v): 104(ptr) Variable Function
125(u8v): 124(ptr) Variable Function
132(u16v): 131(ptr) Variable Function
152(f16v): 151(ptr) Variable Function
168(bv): 167(ptr) Variable Function
55: 52(ivec2) Load 54(i32v)
56: 49(ivec2) Bitcast 55
Store 51(u32v) 56
61: 52(ivec2) Load 54(i32v)
62: 58(i64vec2) SConvert 61
Store 60(i64v) 62
67: 52(ivec2) Load 54(i32v)
68: 58(i64vec2) SConvert 67
69: 64(i64vec2) Bitcast 68
Store 66(u64v) 69
70: 49(ivec2) Load 51(u32v)
71: 64(i64vec2) UConvert 70
72: 58(i64vec2) Bitcast 71
Store 60(i64v) 72
73: 49(ivec2) Load 51(u32v)
74: 64(i64vec2) UConvert 73
Store 66(u64v) 74
79: 52(ivec2) Load 54(i32v)
80: 76(fvec2) ConvertSToF 79
Store 78(f32v) 80
85: 52(ivec2) Load 54(i32v)
86: 82(f64vec2) ConvertSToF 85
Store 84(f64v) 86
87: 49(ivec2) Load 51(u32v)
88: 76(fvec2) ConvertUToF 87
Store 78(f32v) 88
89: 49(ivec2) Load 51(u32v)
90: 82(f64vec2) ConvertUToF 89
Store 84(f64v) 90
95: 52(ivec2) Load 54(i32v)
96: 92(i8vec2) SConvert 95
Store 94(i8v) 96
97: 49(ivec2) Load 51(u32v)
100: 99(i8vec2) UConvert 97
101: 92(i8vec2) Bitcast 100
Store 94(i8v) 101
106: 52(ivec2) Load 54(i32v)
107:103(i16vec2) SConvert 106
Store 105(i16v) 107
108: 49(ivec2) Load 51(u32v)
111:110(i16vec2) UConvert 108
112:103(i16vec2) Bitcast 111
Store 105(i16v) 112
113: 52(ivec2) Load 54(i32v)
114: 18(int) CompositeExtract 113 0
115: 18(int) CompositeExtract 113 1
116: 52(ivec2) CompositeConstruct 114 115
Store 54(i32v) 116
117: 49(ivec2) Load 51(u32v)
118: 52(ivec2) Bitcast 117
Store 54(i32v) 118
119: 52(ivec2) Load 54(i32v)
120: 58(i64vec2) SConvert 119
Store 60(i64v) 120
121: 49(ivec2) Load 51(u32v)
122: 64(i64vec2) UConvert 121
123: 58(i64vec2) Bitcast 122
Store 60(i64v) 123
126: 52(ivec2) Load 54(i32v)
127: 92(i8vec2) SConvert 126
128: 99(i8vec2) Bitcast 127
Store 125(u8v) 128
129: 49(ivec2) Load 51(u32v)
130: 99(i8vec2) UConvert 129
Store 125(u8v) 130
133: 52(ivec2) Load 54(i32v)
134:103(i16vec2) SConvert 133
135:110(i16vec2) Bitcast 134
Store 132(u16v) 135
136: 49(ivec2) Load 51(u32v)
137:110(i16vec2) UConvert 136
Store 132(u16v) 137
138: 52(ivec2) Load 54(i32v)
139: 49(ivec2) Bitcast 138
Store 51(u32v) 139
140: 49(ivec2) Load 51(u32v)
141: 14(int) CompositeExtract 140 0
142: 14(int) CompositeExtract 140 1
143: 49(ivec2) CompositeConstruct 141 142
Store 51(u32v) 143
144: 52(ivec2) Load 54(i32v)
145: 58(i64vec2) SConvert 144
146: 64(i64vec2) Bitcast 145
Store 66(u64v) 146
147: 49(ivec2) Load 51(u32v)
148: 64(i64vec2) UConvert 147
Store 66(u64v) 148
153: 52(ivec2) Load 54(i32v)
154:150(f16vec2) ConvertSToF 153
Store 152(f16v) 154
155: 52(ivec2) Load 54(i32v)
156: 76(fvec2) ConvertSToF 155
Store 78(f32v) 156
157: 52(ivec2) Load 54(i32v)
158: 82(f64vec2) ConvertSToF 157
Store 84(f64v) 158
159: 49(ivec2) Load 51(u32v)
160:150(f16vec2) ConvertUToF 159
Store 152(f16v) 160
161: 49(ivec2) Load 51(u32v)
162: 76(fvec2) ConvertUToF 161
Store 78(f32v) 162
163: 49(ivec2) Load 51(u32v)
164: 82(f64vec2) ConvertUToF 163
Store 84(f64v) 164
169: 166(bvec2) Load 168(bv)
173: 52(ivec2) Select 169 172 171
Store 54(i32v) 173
174: 166(bvec2) Load 168(bv)
179: 49(ivec2) Select 174 178 177
Store 51(u32v) 179
180: 52(ivec2) Load 54(i32v)
181: 166(bvec2) INotEqual 180 177
Store 168(bv) 181
182: 49(ivec2) Load 51(u32v)
183: 166(bvec2) INotEqual 182 177
Store 168(bv) 183
Return
FunctionEnd
10(operators(): 2 Function None 3
11: Label
186(u32v): 185(ptr) Variable Function
191(i32): 19(ptr) Variable Function
210(i): 19(ptr) Variable Function
214(uv): 185(ptr) Variable Function
227(i64): 226(ptr) Variable Function
260(b): 259(ptr) Variable Function
187: 184(ivec3) Load 186(u32v)
189: 188(ivec3) CompositeConstruct 170 170 170
190: 184(ivec3) IAdd 187 189
Store 186(u32v) 190
192: 18(int) Load 191(i32)
193: 18(int) ISub 192 170
Store 191(i32) 193
194: 18(int) Load 191(i32)
195: 18(int) IAdd 194 170
Store 191(i32) 195
196: 184(ivec3) Load 186(u32v)
197: 188(ivec3) CompositeConstruct 170 170 170
198: 184(ivec3) ISub 196 197
Store 186(u32v) 198
199: 184(ivec3) Load 186(u32v)
200: 184(ivec3) Not 199
Store 186(u32v) 200
201: 18(int) Load 191(i32)
Store 191(i32) 201
202: 184(ivec3) Load 186(u32v)
203: 184(ivec3) SNegate 202
Store 186(u32v) 203
204: 18(int) Load 191(i32)
205: 18(int) Load 191(i32)
206: 18(int) IAdd 205 204
Store 191(i32) 206
207: 184(ivec3) Load 186(u32v)
208: 184(ivec3) Load 186(u32v)
209: 184(ivec3) ISub 208 207
Store 186(u32v) 209
211: 18(int) Load 191(i32)
212: 18(int) Load 210(i)
213: 18(int) IMul 212 211
Store 210(i) 213
215: 184(ivec3) Load 186(u32v)
216: 184(ivec3) Load 214(uv)
217: 184(ivec3) UDiv 216 215
Store 214(uv) 217
218: 18(int) Load 191(i32)
219: 14(int) Bitcast 218
220: 184(ivec3) Load 214(uv)
221: 184(ivec3) CompositeConstruct 219 219 219
222: 184(ivec3) UMod 220 221
Store 214(uv) 222
223: 184(ivec3) Load 186(u32v)
224: 184(ivec3) Load 214(uv)
225: 184(ivec3) IAdd 223 224
Store 214(uv) 225
228: 18(int) Load 191(i32)
229: 57(int64_t) SConvert 228
230: 57(int64_t) Load 227(i64)
231: 57(int64_t) ISub 229 230
Store 227(i64) 231
232: 184(ivec3) Load 186(u32v)
233: 184(ivec3) Load 214(uv)
234: 184(ivec3) IMul 232 233
Store 214(uv) 234
235: 18(int) Load 191(i32)
236: 57(int64_t) SConvert 235
237: 57(int64_t) Load 227(i64)
238: 57(int64_t) IMul 236 237
Store 227(i64) 238
239: 18(int) Load 191(i32)
240: 18(int) Load 210(i)
241: 18(int) SMod 239 240
Store 210(i) 241
242: 18(int) Load 191(i32)
243: 184(ivec3) Load 186(u32v)
244: 188(ivec3) CompositeConstruct 242 242 242
245: 184(ivec3) ShiftLeftLogical 243 244
Store 186(u32v) 245
246: 38(ptr) AccessChain 186(u32v) 176
247: 14(int) Load 246
248: 18(int) Load 191(i32)
249: 18(int) ShiftRightArithmetic 248 247
Store 191(i32) 249
250: 57(int64_t) Load 227(i64)
252: 38(ptr) AccessChain 186(u32v) 251
253: 14(int) Load 252
254: 57(int64_t) ShiftLeftLogical 250 253
Store 227(i64) 254
255: 184(ivec3) Load 186(u32v)
256: 18(int) Load 210(i)
257: 188(ivec3) CompositeConstruct 256 256 256
258: 184(ivec3) ShiftLeftLogical 255 257
Store 214(uv) 258
261: 38(ptr) AccessChain 186(u32v) 175
262: 14(int) Load 261
263: 18(int) Load 191(i32)
264: 14(int) Bitcast 263
265: 165(bool) INotEqual 262 264
Store 260(b) 265
266: 18(int) Load 191(i32)
267: 14(int) Bitcast 266
268: 38(ptr) AccessChain 186(u32v) 175
269: 14(int) Load 268
270: 165(bool) IEqual 267 269
Store 260(b) 270
271: 38(ptr) AccessChain 186(u32v) 175
272: 14(int) Load 271
273: 38(ptr) AccessChain 214(uv) 176
274: 14(int) Load 273
275: 165(bool) UGreaterThan 272 274
Store 260(b) 275
276: 18(int) Load 191(i32)
277: 18(int) Load 210(i)
278: 165(bool) SLessThan 276 277
Store 260(b) 278
279: 38(ptr) AccessChain 186(u32v) 176
280: 14(int) Load 279
281: 38(ptr) AccessChain 214(uv) 175
282: 14(int) Load 281
283: 165(bool) UGreaterThanEqual 280 282
Store 260(b) 283
284: 18(int) Load 191(i32)
285: 18(int) Load 210(i)
286: 165(bool) SLessThanEqual 284 285
Store 260(b) 286
287: 18(int) Load 191(i32)
288: 14(int) Bitcast 287
289: 184(ivec3) Load 214(uv)
290: 184(ivec3) CompositeConstruct 288 288 288
291: 184(ivec3) BitwiseOr 289 290
Store 214(uv) 291
292: 18(int) Load 191(i32)
293: 18(int) Load 210(i)
294: 18(int) BitwiseOr 292 293
Store 210(i) 294
295: 18(int) Load 191(i32)
296: 57(int64_t) SConvert 295
297: 57(int64_t) Load 227(i64)
298: 57(int64_t) BitwiseAnd 297 296
Store 227(i64) 298
299: 184(ivec3) Load 186(u32v)
300: 184(ivec3) Load 214(uv)
301: 184(ivec3) BitwiseAnd 299 300
Store 214(uv) 301
302: 18(int) Load 191(i32)
303: 14(int) Bitcast 302
304: 184(ivec3) Load 214(uv)
305: 184(ivec3) CompositeConstruct 303 303 303
306: 184(ivec3) BitwiseXor 304 305
Store 214(uv) 306
307: 184(ivec3) Load 186(u32v)
308: 18(int) Load 191(i32)
309: 14(int) Bitcast 308
310: 184(ivec3) CompositeConstruct 309 309 309
311: 184(ivec3) BitwiseXor 307 310
Store 186(u32v) 311
Return
FunctionEnd
12(builtinFuncs(): 2 Function None 3
13: Label
312(i32v): 53(ptr) Variable Function
315(i32): 19(ptr) Variable Function
325(u32v): 185(ptr) Variable Function
327(u32): 38(ptr) Variable Function
399(i8v4): 398(ptr) Variable Function
402(i16v2): 104(ptr) Variable Function
407(u8v4): 406(ptr) Variable Function
410(u16v2): 131(ptr) Variable Function
413(i64): 226(ptr) Variable Function
416(u32v2): 50(ptr) Variable Function
418(u64): 417(ptr) Variable Function
422(bv): 421(ptr) Variable Function
313: 52(ivec2) Load 312(i32v)
314: 52(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 313
Store 312(i32v) 314
316: 18(int) Load 315(i32)
317: 18(int) ExtInst 1(GLSL.std.450) 7(SSign) 316
Store 315(i32) 317
318: 52(ivec2) Load 312(i32v)
319: 18(int) Load 315(i32)
320: 52(ivec2) CompositeConstruct 319 319
321: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 318 320
Store 312(i32v) 321
322: 52(ivec2) Load 312(i32v)
324: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 322 323
Store 312(i32v) 324
326: 184(ivec3) Load 325(u32v)
328: 14(int) Load 327(u32)
329: 184(ivec3) CompositeConstruct 328 328 328
330: 184(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 326 329
Store 325(u32v) 330
331: 184(ivec3) Load 325(u32v)
333: 184(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 331 332
Store 325(u32v) 333
334: 52(ivec2) Load 312(i32v)
335: 18(int) Load 315(i32)
336: 52(ivec2) CompositeConstruct 335 335
337: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 334 336
Store 312(i32v) 337
338: 52(ivec2) Load 312(i32v)
339: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 338 323
Store 312(i32v) 339
340: 184(ivec3) Load 325(u32v)
341: 14(int) Load 327(u32)
342: 184(ivec3) CompositeConstruct 341 341 341
343: 184(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 340 342
Store 325(u32v) 343
344: 184(ivec3) Load 325(u32v)
345: 184(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 344 332
Store 325(u32v) 345
346: 52(ivec2) Load 312(i32v)
347: 18(int) Load 315(i32)
348: 18(int) SNegate 347
349: 18(int) Load 315(i32)
350: 52(ivec2) CompositeConstruct 348 348
351: 52(ivec2) CompositeConstruct 349 349
352: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 346 350 351
Store 312(i32v) 352
353: 52(ivec2) Load 312(i32v)
354: 52(ivec2) Load 312(i32v)
355: 52(ivec2) SNegate 354
356: 52(ivec2) Load 312(i32v)
357: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 353 355 356
Store 312(i32v) 357
358: 184(ivec3) Load 325(u32v)
359: 14(int) Load 327(u32)
360: 14(int) SNegate 359
361: 14(int) Load 327(u32)
362: 184(ivec3) CompositeConstruct 360 360 360
363: 184(ivec3) CompositeConstruct 361 361 361
364: 184(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 358 362 363
Store 325(u32v) 364
365: 184(ivec3) Load 325(u32v)
366: 184(ivec3) Load 325(u32v)
367: 184(ivec3) SNegate 366
368: 184(ivec3) Load 325(u32v)
369: 184(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 365 367 368
Store 325(u32v) 369
370: 19(ptr) AccessChain 312(i32v) 175
371: 18(int) Load 370
372: 19(ptr) AccessChain 312(i32v) 176
373: 18(int) Load 372
375: 18(int) Select 374 373 371
Store 315(i32) 375
376: 18(int) Load 315(i32)
377: 52(ivec2) CompositeConstruct 376 376
378: 18(int) Load 315(i32)
379: 18(int) SNegate 378
380: 52(ivec2) CompositeConstruct 379 379
383: 52(ivec2) Select 382 380 377
Store 312(i32v) 383
384: 38(ptr) AccessChain 325(u32v) 175
385: 14(int) Load 384
386: 38(ptr) AccessChain 325(u32v) 176
387: 14(int) Load 386
388: 14(int) Select 374 387 385
Store 327(u32) 388
389: 14(int) Load 327(u32)
390: 184(ivec3) CompositeConstruct 389 389 389
391: 14(int) Load 327(u32)
392: 14(int) SNegate 391
393: 184(ivec3) CompositeConstruct 392 392 392
396: 184(ivec3) Select 395 393 390
Store 325(u32v) 396
400: 397(i8vec4) Load 399(i8v4)
401: 18(int) Bitcast 400
Store 315(i32) 401
403:103(i16vec2) Load 402(i16v2)
404: 18(int) Bitcast 403
Store 315(i32) 404
408: 405(i8vec4) Load 407(u8v4)
409: 14(int) Bitcast 408
Store 327(u32) 409
411:110(i16vec2) Load 410(u16v2)
412: 14(int) Bitcast 411
Store 327(u32) 412
414: 57(int64_t) Load 413(i64)
415: 52(ivec2) Bitcast 414
Store 312(i32v) 415
419: 63(int64_t) Load 418(u64)
420: 49(ivec2) Bitcast 419
Store 416(u32v2) 420
423: 184(ivec3) Load 325(u32v)
424: 14(int) Load 327(u32)
425: 184(ivec3) CompositeConstruct 424 424 424
426: 394(bvec3) ULessThan 423 425
Store 422(bv) 426
427: 52(ivec2) Load 312(i32v)
428: 18(int) Load 315(i32)
429: 52(ivec2) CompositeConstruct 428 428
430: 166(bvec2) SLessThan 427 429
431: 259(ptr) AccessChain 422(bv) 175
432: 165(bool) CompositeExtract 430 0
Store 431 432
433: 259(ptr) AccessChain 422(bv) 176
434: 165(bool) CompositeExtract 430 1
Store 433 434
435: 184(ivec3) Load 325(u32v)
436: 14(int) Load 327(u32)
437: 184(ivec3) CompositeConstruct 436 436 436
438: 394(bvec3) ULessThanEqual 435 437
Store 422(bv) 438
439: 52(ivec2) Load 312(i32v)
440: 18(int) Load 315(i32)
441: 52(ivec2) CompositeConstruct 440 440
442: 166(bvec2) SLessThanEqual 439 441
443: 259(ptr) AccessChain 422(bv) 175
444: 165(bool) CompositeExtract 442 0
Store 443 444
445: 259(ptr) AccessChain 422(bv) 176
446: 165(bool) CompositeExtract 442 1
Store 445 446
447: 184(ivec3) Load 325(u32v)
448: 14(int) Load 327(u32)
449: 184(ivec3) CompositeConstruct 448 448 448
450: 394(bvec3) UGreaterThan 447 449
Store 422(bv) 450
451: 52(ivec2) Load 312(i32v)
452: 18(int) Load 315(i32)
453: 52(ivec2) CompositeConstruct 452 452
454: 166(bvec2) SGreaterThan 451 453
455: 259(ptr) AccessChain 422(bv) 175
456: 165(bool) CompositeExtract 454 0
Store 455 456
457: 259(ptr) AccessChain 422(bv) 176
458: 165(bool) CompositeExtract 454 1
Store 457 458
459: 184(ivec3) Load 325(u32v)
460: 14(int) Load 327(u32)
461: 184(ivec3) CompositeConstruct 460 460 460
462: 394(bvec3) UGreaterThanEqual 459 461
Store 422(bv) 462
463: 52(ivec2) Load 312(i32v)
464: 18(int) Load 315(i32)
465: 52(ivec2) CompositeConstruct 464 464
466: 166(bvec2) SGreaterThanEqual 463 465
467: 259(ptr) AccessChain 422(bv) 175
468: 165(bool) CompositeExtract 466 0
Store 467 468
469: 259(ptr) AccessChain 422(bv) 176
470: 165(bool) CompositeExtract 466 1
Store 469 470
471: 184(ivec3) Load 325(u32v)
472: 14(int) Load 327(u32)
473: 184(ivec3) CompositeConstruct 472 472 472
474: 394(bvec3) IEqual 471 473
Store 422(bv) 474
475: 52(ivec2) Load 312(i32v)
476: 18(int) Load 315(i32)
477: 52(ivec2) CompositeConstruct 476 476
478: 166(bvec2) IEqual 475 477
479: 259(ptr) AccessChain 422(bv) 175
480: 165(bool) CompositeExtract 478 0
Store 479 480
481: 259(ptr) AccessChain 422(bv) 176
482: 165(bool) CompositeExtract 478 1
Store 481 482
483: 184(ivec3) Load 325(u32v)
484: 14(int) Load 327(u32)
485: 184(ivec3) CompositeConstruct 484 484 484
486: 394(bvec3) INotEqual 483 485
Store 422(bv) 486
487: 52(ivec2) Load 312(i32v)
488: 18(int) Load 315(i32)
489: 52(ivec2) CompositeConstruct 488 488
490: 166(bvec2) INotEqual 487 489
491: 259(ptr) AccessChain 422(bv) 175
492: 165(bool) CompositeExtract 490 0
Store 491 492
493: 259(ptr) AccessChain 422(bv) 176
494: 165(bool) CompositeExtract 490 1
Store 493 494
Return
FunctionEnd
|