blob: d2cc609458913640b207f282aa24dd9168728504 (
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
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
|
spv.float32.frag
// Module Version 10300
// Generated by (magic number): 8000b
// Id's are bound by 541
Capability Shader
Capability Float16
Capability Float64
Capability Int64
Capability Int16
Capability Int8
Capability DerivativeControl
Capability InterpolationFunction
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 471
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 "operators("
Name 10 "typeCast("
Name 12 "builtinAngleTrigFuncs("
Name 14 "builtinExpFuncs("
Name 16 "builtinCommonFuncs("
Name 18 "builtinGeometryFuncs("
Name 20 "builtinMatrixFuncs("
Name 22 "builtinVecRelFuncs("
Name 24 "builtinFragProcFuncs("
Name 29 "f32v"
Name 40 "f32v"
Name 62 "f32m"
Name 85 "f32"
Name 109 "b"
Name 152 "f64v"
Name 155 "f32v"
Name 160 "bv"
Name 175 "f16v"
Name 183 "i8v"
Name 189 "i16v"
Name 195 "i32v"
Name 201 "i64v"
Name 207 "u8v"
Name 213 "u16v"
Name 218 "u32v"
Name 224 "u64v"
Name 229 "f32v2"
Name 230 "f32v1"
Name 262 "f32v2"
Name 263 "f32v1"
Name 279 "f32v2"
Name 280 "f32v1"
Name 301 "f32"
Name 305 "f32v3"
Name 345 "bv"
Name 366 "b"
Name 376 "iv"
Name 377 "ResType"
Name 384 "f32"
Name 385 "f32v1"
Name 389 "f32v2"
Name 395 "f32v3"
Name 414 "f32m3"
Name 415 "f32m1"
Name 417 "f32m2"
Name 426 "f32v1"
Name 428 "f32v2"
Name 433 "f32m4"
Name 436 "f32"
Name 439 "f32m5"
Name 444 "f32m6"
Name 445 "f32m7"
Name 448 "bv"
Name 449 "f32v1"
Name 451 "f32v2"
Name 469 "f32v"
Name 471 "if32v"
Name 528 "S"
MemberName 528(S) 0 "x"
MemberName 528(S) 1 "y"
MemberName 528(S) 2 "z"
Name 530 "B1"
MemberName 530(B1) 0 "a"
MemberName 530(B1) 1 "b"
MemberName 530(B1) 2 "c"
MemberName 530(B1) 3 "d"
MemberName 530(B1) 4 "e"
MemberName 530(B1) 5 "f"
MemberName 530(B1) 6 "g"
MemberName 530(B1) 7 "h"
Name 532 ""
Name 533 "sf16"
Name 534 "sf"
Name 535 "sd"
Name 536 "f16_to_f"
Name 538 "f16_to_d"
Name 539 "f_to_f16"
Name 540 "d_to_f16"
Decorate 471(if32v) Location 0
Decorate 526 ArrayStride 16
Decorate 527 ArrayStride 32
MemberDecorate 528(S) 0 Offset 0
MemberDecorate 528(S) 1 Offset 8
MemberDecorate 528(S) 2 Offset 16
Decorate 529 ArrayStride 32
MemberDecorate 530(B1) 0 Offset 0
MemberDecorate 530(B1) 1 Offset 8
MemberDecorate 530(B1) 2 Offset 16
MemberDecorate 530(B1) 3 Offset 32
MemberDecorate 530(B1) 4 ColMajor
MemberDecorate 530(B1) 4 Offset 64
MemberDecorate 530(B1) 4 MatrixStride 16
MemberDecorate 530(B1) 5 ColMajor
MemberDecorate 530(B1) 5 Offset 96
MemberDecorate 530(B1) 5 MatrixStride 16
MemberDecorate 530(B1) 6 Offset 160
MemberDecorate 530(B1) 7 Offset 192
Decorate 530(B1) Block
Decorate 532 DescriptorSet 0
Decorate 532 Binding 0
Decorate 533(sf16) SpecId 100
Decorate 534(sf) SpecId 101
Decorate 535(sd) SpecId 102
2: TypeVoid
3: TypeFunction 2
26: TypeFloat 32
27: TypeVector 26(float) 2
28: TypePointer Function 27(fvec2)
30: 26(float) Constant 897988541
31: TypeInt 32 0
32: 31(int) Constant 0
33: TypePointer Function 26(float)
35: 26(float) Constant 3196059648
36: 26(float) Constant 1022739087
37: 27(fvec2) ConstantComposite 35 36
54: 26(float) Constant 1065353216
60: TypeMatrix 27(fvec2) 2
61: TypePointer Function 60
88: 31(int) Constant 1
107: TypeBool
108: TypePointer Function 107(bool)
149: TypeFloat 64
150: TypeVector 149(float64_t) 3
151: TypePointer Function 150(f64vec3)
153: TypeVector 26(float) 3
154: TypePointer Function 153(fvec3)
158: TypeVector 107(bool) 3
159: TypePointer Function 158(bvec3)
162: 26(float) Constant 0
163: 153(fvec3) ConstantComposite 162 162 162
164: 153(fvec3) ConstantComposite 54 54 54
172: TypeFloat 16
173: TypeVector 172(float16_t) 3
174: TypePointer Function 173(f16vec3)
180: TypeInt 8 1
181: TypeVector 180(int8_t) 3
182: TypePointer Function 181(i8vec3)
186: TypeInt 16 1
187: TypeVector 186(int16_t) 3
188: TypePointer Function 187(i16vec3)
192: TypeInt 32 1
193: TypeVector 192(int) 3
194: TypePointer Function 193(ivec3)
198: TypeInt 64 1
199: TypeVector 198(int64_t) 3
200: TypePointer Function 199(i64vec3)
204: TypeInt 8 0
205: TypeVector 204(int8_t) 3
206: TypePointer Function 205(i8vec3)
210: TypeInt 16 0
211: TypeVector 210(int16_t) 3
212: TypePointer Function 211(i16vec3)
216: TypeVector 31(int) 3
217: TypePointer Function 216(ivec3)
221: TypeInt 64 0
222: TypeVector 221(int64_t) 3
223: TypePointer Function 222(i64vec3)
227: TypeVector 26(float) 4
228: TypePointer Function 227(fvec4)
377(ResType): TypeStruct 153(fvec3) 193(ivec3)
412: TypeMatrix 153(fvec3) 2
413: TypePointer Function 412
431: TypeMatrix 27(fvec2) 3
432: TypePointer Function 431
437: TypeMatrix 153(fvec3) 3
438: TypePointer Function 437
442: TypeMatrix 227(fvec4) 4
443: TypePointer Function 442
470: TypePointer Input 153(fvec3)
471(if32v): 470(ptr) Variable Input
472: TypePointer Input 26(float)
515: 192(int) Constant 1
522: 26(float) Constant 1056964608
523: 27(fvec2) ConstantComposite 522 522
525: 31(int) Constant 2
526: TypeArray 26(float) 525
527: TypeArray 412 525
528(S): TypeStruct 26(float) 27(fvec2) 153(fvec3)
529: TypeArray 528(S) 525
530(B1): TypeStruct 26(float) 27(fvec2) 153(fvec3) 526 412 527 528(S) 529
531: TypePointer Uniform 530(B1)
532: 531(ptr) Variable Uniform
533(sf16):172(float16_t) SpecConstant 12288
534(sf): 26(float) SpecConstant 1048576000
535(sd):149(float64_t) SpecConstant 0 1071644672
536(f16_to_f): 26(float) SpecConstantOp 115 533(sf16)
537: 26(float) SpecConstantOp 115 533(sf16)
538(f16_to_d):149(float64_t) SpecConstantOp 115 537
539(f_to_f16):172(float16_t) SpecConstantOp 115 534(sf)
540(d_to_f16):172(float16_t) SpecConstantOp 115 535(sd)
4(main): 2 Function None 3
5: Label
Return
FunctionEnd
6(literal(): 2 Function None 3
7: Label
29(f32v): 28(ptr) Variable Function
34: 33(ptr) AccessChain 29(f32v) 32
Store 34 30
38: 27(fvec2) Load 29(f32v)
39: 27(fvec2) FAdd 38 37
Store 29(f32v) 39
Return
FunctionEnd
8(operators(): 2 Function None 3
9: Label
40(f32v): 28(ptr) Variable Function
62(f32m): 61(ptr) Variable Function
85(f32): 33(ptr) Variable Function
109(b): 108(ptr) Variable Function
41: 27(fvec2) Load 40(f32v)
42: 27(fvec2) Load 40(f32v)
43: 27(fvec2) FAdd 42 41
Store 40(f32v) 43
44: 27(fvec2) Load 40(f32v)
45: 27(fvec2) Load 40(f32v)
46: 27(fvec2) FSub 45 44
Store 40(f32v) 46
47: 27(fvec2) Load 40(f32v)
48: 27(fvec2) Load 40(f32v)
49: 27(fvec2) FMul 48 47
Store 40(f32v) 49
50: 27(fvec2) Load 40(f32v)
51: 27(fvec2) Load 40(f32v)
52: 27(fvec2) FDiv 51 50
Store 40(f32v) 52
53: 27(fvec2) Load 40(f32v)
55: 27(fvec2) CompositeConstruct 54 54
56: 27(fvec2) FAdd 53 55
Store 40(f32v) 56
57: 27(fvec2) Load 40(f32v)
58: 27(fvec2) CompositeConstruct 54 54
59: 27(fvec2) FSub 57 58
Store 40(f32v) 59
63: 60 Load 62(f32m)
64: 27(fvec2) CompositeConstruct 54 54
65: 27(fvec2) CompositeExtract 63 0
66: 27(fvec2) FAdd 65 64
67: 27(fvec2) CompositeExtract 63 1
68: 27(fvec2) FAdd 67 64
69: 60 CompositeConstruct 66 68
Store 62(f32m) 69
70: 60 Load 62(f32m)
71: 27(fvec2) CompositeConstruct 54 54
72: 27(fvec2) CompositeExtract 70 0
73: 27(fvec2) FSub 72 71
74: 27(fvec2) CompositeExtract 70 1
75: 27(fvec2) FSub 74 71
76: 60 CompositeConstruct 73 75
Store 62(f32m) 76
77: 27(fvec2) Load 40(f32v)
78: 27(fvec2) FNegate 77
Store 40(f32v) 78
79: 60 Load 62(f32m)
80: 27(fvec2) CompositeExtract 79 0
81: 27(fvec2) FNegate 80
82: 27(fvec2) CompositeExtract 79 1
83: 27(fvec2) FNegate 82
84: 60 CompositeConstruct 81 83
Store 62(f32m) 84
86: 33(ptr) AccessChain 40(f32v) 32
87: 26(float) Load 86
89: 33(ptr) AccessChain 40(f32v) 88
90: 26(float) Load 89
91: 26(float) FAdd 87 90
Store 85(f32) 91
92: 33(ptr) AccessChain 40(f32v) 32
93: 26(float) Load 92
94: 33(ptr) AccessChain 40(f32v) 88
95: 26(float) Load 94
96: 26(float) FSub 93 95
Store 85(f32) 96
97: 33(ptr) AccessChain 40(f32v) 32
98: 26(float) Load 97
99: 33(ptr) AccessChain 40(f32v) 88
100: 26(float) Load 99
101: 26(float) FMul 98 100
Store 85(f32) 101
102: 33(ptr) AccessChain 40(f32v) 32
103: 26(float) Load 102
104: 33(ptr) AccessChain 40(f32v) 88
105: 26(float) Load 104
106: 26(float) FDiv 103 105
Store 85(f32) 106
110: 33(ptr) AccessChain 40(f32v) 32
111: 26(float) Load 110
112: 26(float) Load 85(f32)
113: 107(bool) FUnordNotEqual 111 112
Store 109(b) 113
114: 33(ptr) AccessChain 40(f32v) 88
115: 26(float) Load 114
116: 26(float) Load 85(f32)
117: 107(bool) FOrdEqual 115 116
Store 109(b) 117
118: 33(ptr) AccessChain 40(f32v) 32
119: 26(float) Load 118
120: 26(float) Load 85(f32)
121: 107(bool) FOrdGreaterThan 119 120
Store 109(b) 121
122: 33(ptr) AccessChain 40(f32v) 88
123: 26(float) Load 122
124: 26(float) Load 85(f32)
125: 107(bool) FOrdLessThan 123 124
Store 109(b) 125
126: 33(ptr) AccessChain 40(f32v) 32
127: 26(float) Load 126
128: 26(float) Load 85(f32)
129: 107(bool) FOrdGreaterThanEqual 127 128
Store 109(b) 129
130: 33(ptr) AccessChain 40(f32v) 88
131: 26(float) Load 130
132: 26(float) Load 85(f32)
133: 107(bool) FOrdLessThanEqual 131 132
Store 109(b) 133
134: 27(fvec2) Load 40(f32v)
135: 26(float) Load 85(f32)
136: 27(fvec2) VectorTimesScalar 134 135
Store 40(f32v) 136
137: 60 Load 62(f32m)
138: 26(float) Load 85(f32)
139: 60 MatrixTimesScalar 137 138
Store 62(f32m) 139
140: 60 Load 62(f32m)
141: 27(fvec2) Load 40(f32v)
142: 27(fvec2) MatrixTimesVector 140 141
Store 40(f32v) 142
143: 27(fvec2) Load 40(f32v)
144: 60 Load 62(f32m)
145: 27(fvec2) VectorTimesMatrix 143 144
Store 40(f32v) 145
146: 60 Load 62(f32m)
147: 60 Load 62(f32m)
148: 60 MatrixTimesMatrix 146 147
Store 62(f32m) 148
Return
FunctionEnd
10(typeCast(): 2 Function None 3
11: Label
152(f64v): 151(ptr) Variable Function
155(f32v): 154(ptr) Variable Function
160(bv): 159(ptr) Variable Function
175(f16v): 174(ptr) Variable Function
183(i8v): 182(ptr) Variable Function
189(i16v): 188(ptr) Variable Function
195(i32v): 194(ptr) Variable Function
201(i64v): 200(ptr) Variable Function
207(u8v): 206(ptr) Variable Function
213(u16v): 212(ptr) Variable Function
218(u32v): 217(ptr) Variable Function
224(u64v): 223(ptr) Variable Function
156: 153(fvec3) Load 155(f32v)
157:150(f64vec3) FConvert 156
Store 152(f64v) 157
161: 158(bvec3) Load 160(bv)
165: 153(fvec3) Select 161 164 163
Store 155(f32v) 165
166: 153(fvec3) Load 155(f32v)
167: 158(bvec3) FUnordNotEqual 166 163
Store 160(bv) 167
168:150(f64vec3) Load 152(f64v)
169: 153(fvec3) FConvert 168
Store 155(f32v) 169
170: 153(fvec3) Load 155(f32v)
171:150(f64vec3) FConvert 170
Store 152(f64v) 171
176:173(f16vec3) Load 175(f16v)
177: 153(fvec3) FConvert 176
Store 155(f32v) 177
178: 153(fvec3) Load 155(f32v)
179:173(f16vec3) FConvert 178
Store 175(f16v) 179
184: 153(fvec3) Load 155(f32v)
185: 181(i8vec3) ConvertFToS 184
Store 183(i8v) 185
190: 153(fvec3) Load 155(f32v)
191:187(i16vec3) ConvertFToS 190
Store 189(i16v) 191
196: 153(fvec3) Load 155(f32v)
197: 193(ivec3) ConvertFToS 196
Store 195(i32v) 197
202: 153(fvec3) Load 155(f32v)
203:199(i64vec3) ConvertFToS 202
Store 201(i64v) 203
208: 153(fvec3) Load 155(f32v)
209: 205(i8vec3) ConvertFToU 208
Store 207(u8v) 209
214: 153(fvec3) Load 155(f32v)
215:211(i16vec3) ConvertFToU 214
Store 213(u16v) 215
219: 153(fvec3) Load 155(f32v)
220: 216(ivec3) ConvertFToU 219
Store 218(u32v) 220
225: 153(fvec3) Load 155(f32v)
226:222(i64vec3) ConvertFToU 225
Store 224(u64v) 226
Return
FunctionEnd
12(builtinAngleTrigFuncs(): 2 Function None 3
13: Label
229(f32v2): 228(ptr) Variable Function
230(f32v1): 228(ptr) Variable Function
231: 227(fvec4) Load 230(f32v1)
232: 227(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 231
Store 229(f32v2) 232
233: 227(fvec4) Load 230(f32v1)
234: 227(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 233
Store 229(f32v2) 234
235: 227(fvec4) Load 230(f32v1)
236: 227(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 235
Store 229(f32v2) 236
237: 227(fvec4) Load 230(f32v1)
238: 227(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 237
Store 229(f32v2) 238
239: 227(fvec4) Load 230(f32v1)
240: 227(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 239
Store 229(f32v2) 240
241: 227(fvec4) Load 230(f32v1)
242: 227(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 241
Store 229(f32v2) 242
243: 227(fvec4) Load 230(f32v1)
244: 227(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 243
Store 229(f32v2) 244
245: 227(fvec4) Load 230(f32v1)
246: 227(fvec4) Load 229(f32v2)
247: 227(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 245 246
Store 229(f32v2) 247
248: 227(fvec4) Load 230(f32v1)
249: 227(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 248
Store 229(f32v2) 249
250: 227(fvec4) Load 230(f32v1)
251: 227(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 250
Store 229(f32v2) 251
252: 227(fvec4) Load 230(f32v1)
253: 227(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 252
Store 229(f32v2) 253
254: 227(fvec4) Load 230(f32v1)
255: 227(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 254
Store 229(f32v2) 255
256: 227(fvec4) Load 230(f32v1)
257: 227(fvec4) ExtInst 1(GLSL.std.450) 22(Asinh) 256
Store 229(f32v2) 257
258: 227(fvec4) Load 230(f32v1)
259: 227(fvec4) ExtInst 1(GLSL.std.450) 23(Acosh) 258
Store 229(f32v2) 259
260: 227(fvec4) Load 230(f32v1)
261: 227(fvec4) ExtInst 1(GLSL.std.450) 24(Atanh) 260
Store 229(f32v2) 261
Return
FunctionEnd
14(builtinExpFuncs(): 2 Function None 3
15: Label
262(f32v2): 28(ptr) Variable Function
263(f32v1): 28(ptr) Variable Function
264: 27(fvec2) Load 263(f32v1)
265: 27(fvec2) Load 262(f32v2)
266: 27(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 264 265
Store 262(f32v2) 266
267: 27(fvec2) Load 263(f32v1)
268: 27(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 267
Store 262(f32v2) 268
269: 27(fvec2) Load 263(f32v1)
270: 27(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 269
Store 262(f32v2) 270
271: 27(fvec2) Load 263(f32v1)
272: 27(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 271
Store 262(f32v2) 272
273: 27(fvec2) Load 263(f32v1)
274: 27(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 273
Store 262(f32v2) 274
275: 27(fvec2) Load 263(f32v1)
276: 27(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 275
Store 262(f32v2) 276
277: 27(fvec2) Load 263(f32v1)
278: 27(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 277
Store 262(f32v2) 278
Return
FunctionEnd
16(builtinCommonFuncs(): 2 Function None 3
17: Label
279(f32v2): 154(ptr) Variable Function
280(f32v1): 154(ptr) Variable Function
301(f32): 33(ptr) Variable Function
305(f32v3): 154(ptr) Variable Function
345(bv): 159(ptr) Variable Function
366(b): 108(ptr) Variable Function
376(iv): 194(ptr) Variable Function
281: 153(fvec3) Load 280(f32v1)
282: 153(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 281
Store 279(f32v2) 282
283: 153(fvec3) Load 280(f32v1)
284: 153(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 283
Store 279(f32v2) 284
285: 153(fvec3) Load 280(f32v1)
286: 153(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 285
Store 279(f32v2) 286
287: 153(fvec3) Load 280(f32v1)
288: 153(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 287
Store 279(f32v2) 288
289: 153(fvec3) Load 280(f32v1)
290: 153(fvec3) ExtInst 1(GLSL.std.450) 1(Round) 289
Store 279(f32v2) 290
291: 153(fvec3) Load 280(f32v1)
292: 153(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 291
Store 279(f32v2) 292
293: 153(fvec3) Load 280(f32v1)
294: 153(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 293
Store 279(f32v2) 294
295: 153(fvec3) Load 280(f32v1)
296: 153(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 295
Store 279(f32v2) 296
297: 153(fvec3) Load 280(f32v1)
298: 153(fvec3) Load 279(f32v2)
299: 153(fvec3) FMod 297 298
Store 279(f32v2) 299
300: 153(fvec3) Load 280(f32v1)
302: 26(float) Load 301(f32)
303: 153(fvec3) CompositeConstruct 302 302 302
304: 153(fvec3) FMod 300 303
Store 279(f32v2) 304
306: 153(fvec3) Load 280(f32v1)
307: 153(fvec3) ExtInst 1(GLSL.std.450) 35(Modf) 306 279(f32v2)
Store 305(f32v3) 307
308: 153(fvec3) Load 280(f32v1)
309: 153(fvec3) Load 279(f32v2)
310: 153(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 308 309
Store 305(f32v3) 310
311: 153(fvec3) Load 280(f32v1)
312: 26(float) Load 301(f32)
313: 153(fvec3) CompositeConstruct 312 312 312
314: 153(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 311 313
Store 305(f32v3) 314
315: 153(fvec3) Load 280(f32v1)
316: 153(fvec3) Load 279(f32v2)
317: 153(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 315 316
Store 305(f32v3) 317
318: 153(fvec3) Load 280(f32v1)
319: 26(float) Load 301(f32)
320: 153(fvec3) CompositeConstruct 319 319 319
321: 153(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 318 320
Store 305(f32v3) 321
322: 153(fvec3) Load 280(f32v1)
323: 26(float) Load 301(f32)
324: 33(ptr) AccessChain 279(f32v2) 32
325: 26(float) Load 324
326: 153(fvec3) CompositeConstruct 323 323 323
327: 153(fvec3) CompositeConstruct 325 325 325
328: 153(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 322 326 327
Store 305(f32v3) 328
329: 153(fvec3) Load 280(f32v1)
330: 153(fvec3) Load 279(f32v2)
331: 26(float) Load 301(f32)
332: 153(fvec3) CompositeConstruct 331 331 331
333: 153(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 329 330 332
Store 305(f32v3) 333
334: 153(fvec3) Load 280(f32v1)
335: 153(fvec3) Load 279(f32v2)
336: 26(float) Load 301(f32)
337: 153(fvec3) CompositeConstruct 336 336 336
338: 153(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 334 335 337
Store 305(f32v3) 338
339: 153(fvec3) Load 280(f32v1)
340: 153(fvec3) Load 279(f32v2)
341: 153(fvec3) Load 305(f32v3)
342: 153(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 339 340 341
Store 305(f32v3) 342
343: 153(fvec3) Load 280(f32v1)
344: 153(fvec3) Load 279(f32v2)
346: 158(bvec3) Load 345(bv)
347: 153(fvec3) Select 346 344 343
Store 305(f32v3) 347
348: 153(fvec3) Load 280(f32v1)
349: 153(fvec3) Load 279(f32v2)
350: 153(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 348 349
Store 305(f32v3) 350
351: 26(float) Load 301(f32)
352: 153(fvec3) Load 305(f32v3)
353: 153(fvec3) CompositeConstruct 351 351 351
354: 153(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 353 352
Store 305(f32v3) 354
355: 153(fvec3) Load 280(f32v1)
356: 153(fvec3) Load 279(f32v2)
357: 153(fvec3) Load 305(f32v3)
358: 153(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 355 356 357
Store 305(f32v3) 358
359: 26(float) Load 301(f32)
360: 33(ptr) AccessChain 280(f32v1) 32
361: 26(float) Load 360
362: 153(fvec3) Load 279(f32v2)
363: 153(fvec3) CompositeConstruct 359 359 359
364: 153(fvec3) CompositeConstruct 361 361 361
365: 153(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 363 364 362
Store 305(f32v3) 365
367: 26(float) Load 301(f32)
368: 107(bool) IsNan 367
Store 366(b) 368
369: 153(fvec3) Load 280(f32v1)
370: 158(bvec3) IsInf 369
Store 345(bv) 370
371: 153(fvec3) Load 280(f32v1)
372: 153(fvec3) Load 279(f32v2)
373: 153(fvec3) Load 305(f32v3)
374: 153(fvec3) ExtInst 1(GLSL.std.450) 50(Fma) 371 372 373
Store 305(f32v3) 374
375: 153(fvec3) Load 280(f32v1)
378:377(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 375
379: 193(ivec3) CompositeExtract 378 1
Store 376(iv) 379
380: 153(fvec3) CompositeExtract 378 0
Store 279(f32v2) 380
381: 153(fvec3) Load 280(f32v1)
382: 193(ivec3) Load 376(iv)
383: 153(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 381 382
Store 279(f32v2) 383
Return
FunctionEnd
18(builtinGeometryFuncs(): 2 Function None 3
19: Label
384(f32): 33(ptr) Variable Function
385(f32v1): 154(ptr) Variable Function
389(f32v2): 154(ptr) Variable Function
395(f32v3): 154(ptr) Variable Function
386: 153(fvec3) Load 385(f32v1)
387: 26(float) ExtInst 1(GLSL.std.450) 66(Length) 386
Store 384(f32) 387
388: 153(fvec3) Load 385(f32v1)
390: 153(fvec3) Load 389(f32v2)
391: 26(float) ExtInst 1(GLSL.std.450) 67(Distance) 388 390
Store 384(f32) 391
392: 153(fvec3) Load 385(f32v1)
393: 153(fvec3) Load 389(f32v2)
394: 26(float) Dot 392 393
Store 384(f32) 394
396: 153(fvec3) Load 385(f32v1)
397: 153(fvec3) Load 389(f32v2)
398: 153(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 396 397
Store 395(f32v3) 398
399: 153(fvec3) Load 385(f32v1)
400: 153(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 399
Store 389(f32v2) 400
401: 153(fvec3) Load 385(f32v1)
402: 153(fvec3) Load 389(f32v2)
403: 153(fvec3) Load 395(f32v3)
404: 153(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 401 402 403
Store 395(f32v3) 404
405: 153(fvec3) Load 385(f32v1)
406: 153(fvec3) Load 389(f32v2)
407: 153(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 405 406
Store 395(f32v3) 407
408: 153(fvec3) Load 385(f32v1)
409: 153(fvec3) Load 389(f32v2)
410: 26(float) Load 384(f32)
411: 153(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 408 409 410
Store 395(f32v3) 411
Return
FunctionEnd
20(builtinMatrixFuncs(): 2 Function None 3
21: Label
414(f32m3): 413(ptr) Variable Function
415(f32m1): 413(ptr) Variable Function
417(f32m2): 413(ptr) Variable Function
426(f32v1): 154(ptr) Variable Function
428(f32v2): 28(ptr) Variable Function
433(f32m4): 432(ptr) Variable Function
436(f32): 33(ptr) Variable Function
439(f32m5): 438(ptr) Variable Function
444(f32m6): 443(ptr) Variable Function
445(f32m7): 443(ptr) Variable Function
416: 412 Load 415(f32m1)
418: 412 Load 417(f32m2)
419: 153(fvec3) CompositeExtract 416 0
420: 153(fvec3) CompositeExtract 418 0
421: 153(fvec3) FMul 419 420
422: 153(fvec3) CompositeExtract 416 1
423: 153(fvec3) CompositeExtract 418 1
424: 153(fvec3) FMul 422 423
425: 412 CompositeConstruct 421 424
Store 414(f32m3) 425
427: 153(fvec3) Load 426(f32v1)
429: 27(fvec2) Load 428(f32v2)
430: 412 OuterProduct 427 429
Store 415(f32m1) 430
434: 412 Load 415(f32m1)
435: 431 Transpose 434
Store 433(f32m4) 435
440: 437 Load 439(f32m5)
441: 26(float) ExtInst 1(GLSL.std.450) 33(Determinant) 440
Store 436(f32) 441
446: 442 Load 445(f32m7)
447: 442 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 446
Store 444(f32m6) 447
Return
FunctionEnd
22(builtinVecRelFuncs(): 2 Function None 3
23: Label
448(bv): 159(ptr) Variable Function
449(f32v1): 154(ptr) Variable Function
451(f32v2): 154(ptr) Variable Function
450: 153(fvec3) Load 449(f32v1)
452: 153(fvec3) Load 451(f32v2)
453: 158(bvec3) FOrdLessThan 450 452
Store 448(bv) 453
454: 153(fvec3) Load 449(f32v1)
455: 153(fvec3) Load 451(f32v2)
456: 158(bvec3) FOrdLessThanEqual 454 455
Store 448(bv) 456
457: 153(fvec3) Load 449(f32v1)
458: 153(fvec3) Load 451(f32v2)
459: 158(bvec3) FOrdGreaterThan 457 458
Store 448(bv) 459
460: 153(fvec3) Load 449(f32v1)
461: 153(fvec3) Load 451(f32v2)
462: 158(bvec3) FOrdGreaterThanEqual 460 461
Store 448(bv) 462
463: 153(fvec3) Load 449(f32v1)
464: 153(fvec3) Load 451(f32v2)
465: 158(bvec3) FOrdEqual 463 464
Store 448(bv) 465
466: 153(fvec3) Load 449(f32v1)
467: 153(fvec3) Load 451(f32v2)
468: 158(bvec3) FUnordNotEqual 466 467
Store 448(bv) 468
Return
FunctionEnd
24(builtinFragProcFuncs(): 2 Function None 3
25: Label
469(f32v): 154(ptr) Variable Function
473: 472(ptr) AccessChain 471(if32v) 32
474: 26(float) Load 473
475: 26(float) DPdx 474
476: 33(ptr) AccessChain 469(f32v) 32
Store 476 475
477: 472(ptr) AccessChain 471(if32v) 88
478: 26(float) Load 477
479: 26(float) DPdy 478
480: 33(ptr) AccessChain 469(f32v) 88
Store 480 479
481: 153(fvec3) Load 471(if32v)
482: 27(fvec2) VectorShuffle 481 481 0 1
483: 27(fvec2) DPdxFine 482
484: 33(ptr) AccessChain 469(f32v) 32
485: 26(float) CompositeExtract 483 0
Store 484 485
486: 33(ptr) AccessChain 469(f32v) 88
487: 26(float) CompositeExtract 483 1
Store 486 487
488: 153(fvec3) Load 471(if32v)
489: 27(fvec2) VectorShuffle 488 488 0 1
490: 27(fvec2) DPdyFine 489
491: 33(ptr) AccessChain 469(f32v) 32
492: 26(float) CompositeExtract 490 0
Store 491 492
493: 33(ptr) AccessChain 469(f32v) 88
494: 26(float) CompositeExtract 490 1
Store 493 494
495: 153(fvec3) Load 471(if32v)
496: 153(fvec3) DPdxCoarse 495
Store 469(f32v) 496
497: 153(fvec3) Load 471(if32v)
498: 153(fvec3) DPdxCoarse 497
Store 469(f32v) 498
499: 472(ptr) AccessChain 471(if32v) 32
500: 26(float) Load 499
501: 26(float) Fwidth 500
502: 33(ptr) AccessChain 469(f32v) 32
Store 502 501
503: 153(fvec3) Load 471(if32v)
504: 27(fvec2) VectorShuffle 503 503 0 1
505: 27(fvec2) FwidthFine 504
506: 33(ptr) AccessChain 469(f32v) 32
507: 26(float) CompositeExtract 505 0
Store 506 507
508: 33(ptr) AccessChain 469(f32v) 88
509: 26(float) CompositeExtract 505 1
Store 508 509
510: 153(fvec3) Load 471(if32v)
511: 153(fvec3) FwidthCoarse 510
Store 469(f32v) 511
512: 472(ptr) AccessChain 471(if32v) 32
513: 26(float) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 512
514: 33(ptr) AccessChain 469(f32v) 32
Store 514 513
516: 153(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 471(if32v) 515
517: 27(fvec2) VectorShuffle 516 516 0 1
518: 33(ptr) AccessChain 469(f32v) 32
519: 26(float) CompositeExtract 517 0
Store 518 519
520: 33(ptr) AccessChain 469(f32v) 88
521: 26(float) CompositeExtract 517 1
Store 520 521
524: 153(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 471(if32v) 523
Store 469(f32v) 524
Return
FunctionEnd
|