Skip to content

Instantly share code, notes, and snippets.

@expenses
Created December 5, 2021 16:08
Show Gist options
  • Save expenses/c9ac3bad847cbcfeb709e9db0a5305a0 to your computer and use it in GitHub Desktop.
Save expenses/c9ac3bad847cbcfeb709e9db0a5305a0 to your computer and use it in GitHub Desktop.
; SPIR-V
; Version: 1.3
; Generator: Embark Studios Rust GPU Compiler Backend; 0
; Bound: 3028
; Schema: 0
OpCapability RuntimeDescriptorArray
OpCapability Shader
OpExtension "SPV_EXT_descriptor_indexing"
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical Simple
OpEntryPoint Fragment %2 "fragment_transmission" %3 %4 %5 %6 %7 %8
OpExecutionMode %2 OriginUpperLeft
OpMemberDecorate %75 0 Offset 0
OpMemberDecorate %75 1 Offset 16
OpDecorate %134 ArrayStride 32
OpMemberDecorate %76 0 Offset 0
OpMemberDecorate %76 1 Offset 4
OpMemberDecorate %76 2 Offset 8
OpMemberDecorate %76 3 Offset 12
OpMemberDecorate %76 4 Offset 16
OpMemberDecorate %76 5 Offset 20
OpMemberDecorate %76 6 Offset 24
OpMemberDecorate %76 7 Offset 28
OpMemberDecorate %76 8 Offset 32
OpMemberDecorate %77 0 Offset 0
OpMemberDecorate %77 1 Offset 36
OpMemberDecorate %77 2 Offset 40
OpMemberDecorate %77 3 Offset 44
OpMemberDecorate %77 4 Offset 48
OpMemberDecorate %77 5 Offset 64
OpMemberDecorate %77 6 Offset 80
OpMemberDecorate %77 7 Offset 84
OpMemberDecorate %77 8 Offset 88
OpMemberDecorate %77 9 Offset 92
OpMemberDecorate %77 10 Offset 96
OpMemberDecorate %77 11 Offset 100
OpMemberDecorate %77 12 Offset 112
OpMemberDecorate %77 13 Offset 128
OpMemberDecorate %77 14 Offset 144
OpDecorate %135 ArrayStride 160
OpDecorate %136 ArrayStride 4
OpMemberDecorate %82 0 Offset 0
OpMemberDecorate %82 1 Offset 16
OpMemberDecorate %82 2 Offset 32
OpMemberDecorate %82 3 Offset 40
OpMemberDecorate %82 4 Offset 48
OpMemberDecorate %82 5 Offset 52
OpMemberDecorate %91 0 Offset 0
OpMemberDecorate %91 1 Offset 16
OpMemberDecorate %91 2 Offset 32
OpMemberDecorate %91 3 Offset 48
OpMemberDecorate %92 0 Offset 0
OpMemberDecorate %93 0 Offset 0
OpMemberDecorate %93 1 Offset 64
OpMemberDecorate %93 2 Offset 80
OpMemberDecorate %93 3 Offset 88
OpDecorate %3 Location 0
OpDecorate %4 Location 1
OpDecorate %5 Location 2
OpDecorate %6 Flat
OpDecorate %6 Location 3
OpDecorate %7 Flat
OpDecorate %7 Location 4
OpDecorate %137 Block
OpMemberDecorate %137 0 Offset 0
OpDecorate %95 DescriptorSet 0
OpDecorate %95 Binding 0
OpDecorate %96 DescriptorSet 0
OpDecorate %96 Binding 1
OpDecorate %138 Block
OpMemberDecorate %138 0 Offset 0
OpDecorate %97 DescriptorSet 0
OpDecorate %97 Binding 2
OpDecorate %139 Block
OpMemberDecorate %139 0 Offset 0
OpDecorate %98 DescriptorSet 0
OpDecorate %98 Binding 3
OpDecorate %99 DescriptorSet 0
OpDecorate %99 Binding 4
OpDecorate %140 Block
OpMemberDecorate %140 0 Offset 0
OpDecorate %100 DescriptorSet 2
OpDecorate %100 Binding 0
OpDecorate %101 DescriptorSet 3
OpDecorate %101 Binding 0
OpDecorate %8 Location 0
%141 = OpTypeFloat 32
%142 = OpTypeVector %141 4
%143 = OpTypeImage %141 2D 2 0 0 1 Unknown
%144 = OpTypePointer UniformConstant %143
%145 = OpTypeSampler
%146 = OpTypeVector %141 2
%149 = OpTypePointer UniformConstant %145
%150 = OpTypePointer Input %146
%151 = OpTypePointer Input %141
%153 = OpTypePointer StorageBuffer %141
%154 = OpTypePointer Output %142
%155 = OpTypePointer StorageBuffer %142
%156 = OpTypeSampledImage %143
%157 = OpConstant %141 0
%158 = OpTypeInt 32 0
%159 = OpTypePointer Input %158
%160 = OpTypePointer Uniform %158
%161 = OpTypePointer PushConstant %158
%162 = OpConstant %158 4
%163 = OpConstant %158 0
%164 = OpConstant %158 1
%166 = OpTypeVector %141 3
%170 = OpTypePointer Input %166
%173 = OpTypePointer PushConstant %166
%174 = OpTypePointer StorageBuffer %166
%175 = OpConstant %158 2
%176 = OpConstant %158 3
%177 = OpConstant %158 5
%178 = OpConstant %158 6
%179 = OpConstant %141 1
%75 = OpTypeStruct %166 %142
%134 = OpTypeRuntimeArray %75
%184 = OpTypeInt 32 1
%76 = OpTypeStruct %184 %184 %184 %184 %184 %184 %184 %184 %184
%77 = OpTypeStruct %76 %141 %141 %141 %142 %166 %141 %141 %141 %141 %141 %141 %166 %141 %166
%135 = OpTypeRuntimeArray %77
%136 = OpTypeRuntimeArray %143
%187 = OpTypePointer UniformConstant %136
%189 = OpTypeVoid
%190 = OpTypeVector %158 2
%82 = OpTypeStruct %166 %166 %146 %190 %158 %158
%195 = OpTypeBool
%199 = OpTypePointer StorageBuffer %184
%200 = OpConstant %184 -1
%203 = OpConstant %141 1.00787401
%205 = OpConstant %158 14
%206 = OpConstant %158 8
%207 = OpConstant %158 13
%208 = OpConstant %158 7
%91 = OpTypeStruct %142 %142 %142 %142
%92 = OpTypeStruct %91
%93 = OpTypeStruct %92 %166 %190 %190
%211 = OpTypeFunction %189
%3 = OpVariable %170 Input
%4 = OpVariable %170 Input
%5 = OpVariable %150 Input
%6 = OpVariable %159 Input
%7 = OpVariable %151 Input
%137 = OpTypeStruct %93
%212 = OpTypePointer PushConstant %137
%94 = OpVariable %212 PushConstant
%95 = OpVariable %187 UniformConstant
%96 = OpVariable %149 UniformConstant
%138 = OpTypeStruct %135
%213 = OpTypePointer StorageBuffer %138
%97 = OpVariable %213 StorageBuffer
%139 = OpTypeStruct %82
%214 = OpTypePointer Uniform %139
%98 = OpVariable %214 Uniform
%99 = OpVariable %149 UniformConstant
%140 = OpTypeStruct %134
%215 = OpTypePointer StorageBuffer %140
%100 = OpVariable %215 StorageBuffer
%101 = OpVariable %144 UniformConstant
%8 = OpVariable %154 Output
%216 = OpConstant %141 2
%217 = OpTypePointer PushConstant %92
%218 = OpConstant %158 9
%219 = OpConstant %158 10
%220 = OpConstant %158 11
%221 = OpConstant %158 12
%236 = OpConstant %141 0x1p+128
%3024 = OpConstantComposite %166 %203 %203 %203
%3026 = OpConstant %141 2.00787401
%3027 = OpConstant %141 0.5
%2 = OpFunction %189 None %211
%364 = OpLabel
%365 = OpLoad %166 %3
%366 = OpLoad %166 %4
%367 = OpLoad %146 %5
%368 = OpLoad %158 %6
%369 = OpLoad %141 %7
%374 = OpArrayLength %158 %100 0
%376 = OpLoad %145 %96
%377 = OpAccessChain %155 %97 %163 %368 %162
%378 = OpLoad %142 %377
%380 = OpAccessChain %199 %97 %163 %368 %163 %163
%381 = OpLoad %184 %380
%382 = OpIEqual %195 %381 %200
OpSelectionMerge %383 None
OpBranchConditional %382 %384 %385
%385 = OpLabel
%388 = OpLoad %184 %380
%389 = OpBitcast %158 %388
%390 = OpAccessChain %144 %95 %389
%1412 = OpLoad %143 %390
%1413 = OpSampledImage %156 %1412 %376
%1414 = OpImageSampleImplicitLod %142 %1413 %367
%392 = OpFMul %142 %378 %1414
OpBranch %383
%384 = OpLabel
OpBranch %383
%383 = OpLabel
%393 = OpPhi %142 %378 %384 %392 %385
%394 = OpAccessChain %153 %97 %163 %368 %218
%395 = OpLoad %141 %394
%397 = OpAccessChain %199 %97 %163 %368 %163 %177
%398 = OpLoad %184 %397
%399 = OpIEqual %195 %398 %200
OpSelectionMerge %400 None
OpBranchConditional %399 %401 %402
%402 = OpLabel
%405 = OpLoad %184 %397
%406 = OpBitcast %158 %405
%407 = OpAccessChain %144 %95 %406
%1417 = OpLoad %143 %407
%1418 = OpSampledImage %156 %1417 %376
%1419 = OpImageSampleImplicitLod %142 %1418 %367
%409 = OpCompositeExtract %141 %1419 0
%410 = OpFMul %141 %395 %409
OpBranch %400
%401 = OpLabel
OpBranch %400
%400 = OpLabel
%411 = OpPhi %141 %395 %401 %410 %402
%412 = OpAccessChain %173 %94 %163 %164
%413 = OpLoad %166 %412
%415 = OpCompositeExtract %141 %413 0
%416 = OpCompositeExtract %141 %365 0
%417 = OpFSub %141 %415 %416
%418 = OpCompositeExtract %141 %413 1
%419 = OpCompositeExtract %141 %365 1
%420 = OpFSub %141 %418 %419
%421 = OpCompositeExtract %141 %413 2
%422 = OpCompositeExtract %141 %365 2
%423 = OpFSub %141 %421 %422
%424 = OpFMul %141 %417 %417
%425 = OpFMul %141 %420 %420
%426 = OpFAdd %141 %424 %425
%427 = OpFMul %141 %423 %423
%428 = OpFAdd %141 %426 %427
%429 = OpExtInst %141 %1 Sqrt %428
%430 = OpFDiv %141 %179 %429
%431 = OpFMul %141 %417 %430
%432 = OpFMul %141 %420 %430
%433 = OpFMul %141 %423 %430
%434 = OpCompositeConstruct %166 %431 %432 %433
%435 = OpCompositeExtract %141 %366 0
%437 = OpFMul %141 %435 %435
%438 = OpCompositeExtract %141 %366 1
%440 = OpFMul %141 %438 %438
%441 = OpFAdd %141 %437 %440
%442 = OpCompositeExtract %141 %366 2
%444 = OpFMul %141 %442 %442
%445 = OpFAdd %141 %441 %444
%446 = OpExtInst %141 %1 Sqrt %445
%447 = OpFDiv %141 %179 %446
%448 = OpVectorTimesScalar %166 %366 %447
%450 = OpAccessChain %199 %97 %163 %368 %163 %175
%451 = OpLoad %184 %450
%452 = OpIEqual %195 %451 %200
OpSelectionMerge %453 None
OpBranchConditional %452 %454 %455
%455 = OpLabel
%458 = OpLoad %184 %450
%459 = OpBitcast %158 %458
%460 = OpAccessChain %144 %95 %459
%1428 = OpLoad %143 %460
%1429 = OpSampledImage %156 %1428 %376
%1430 = OpImageSampleImplicitLod %142 %1429 %367
%462 = OpCompositeExtract %141 %1430 0
%463 = OpCompositeExtract %141 %1430 1
%464 = OpCompositeExtract %141 %1430 2
%468 = OpFMul %141 %462 %3026
%469 = OpFMul %141 %463 %3026
%470 = OpFMul %141 %464 %3026
%471 = OpCompositeConstruct %166 %468 %469 %470
%1434 = OpFSub %166 %471 %3024
%473 = OpFNegate %141 %417
%474 = OpFNegate %141 %420
%475 = OpFNegate %141 %423
%476 = OpCompositeConstruct %166 %473 %474 %475
%1531 = OpDPdx %166 %476
%1534 = OpDPdy %166 %476
%1538 = OpDPdx %146 %367
%1541 = OpDPdy %146 %367
%1442 = OpCompositeExtract %141 %1534 1
%1443 = OpCompositeExtract %141 %448 2
%1444 = OpFMul %141 %1442 %1443
%1445 = OpCompositeExtract %141 %448 1
%1446 = OpCompositeExtract %141 %1534 2
%1447 = OpFMul %141 %1445 %1446
%1448 = OpFSub %141 %1444 %1447
%1450 = OpCompositeExtract %141 %448 0
%1451 = OpFMul %141 %1446 %1450
%1453 = OpCompositeExtract %141 %1534 0
%1454 = OpFMul %141 %1443 %1453
%1455 = OpFSub %141 %1451 %1454
%1458 = OpFMul %141 %1453 %1445
%1461 = OpFMul %141 %1450 %1442
%1462 = OpFSub %141 %1458 %1461
%1464 = OpCompositeExtract %141 %1531 2
%1465 = OpFMul %141 %1445 %1464
%1466 = OpCompositeExtract %141 %1531 1
%1468 = OpFMul %141 %1466 %1443
%1469 = OpFSub %141 %1465 %1468
%1471 = OpCompositeExtract %141 %1531 0
%1472 = OpFMul %141 %1443 %1471
%1475 = OpFMul %141 %1464 %1450
%1476 = OpFSub %141 %1472 %1475
%1479 = OpFMul %141 %1450 %1466
%1482 = OpFMul %141 %1471 %1445
%1483 = OpFSub %141 %1479 %1482
%1484 = OpCompositeExtract %141 %1538 0
%1485 = OpFMul %141 %1448 %1484
%1486 = OpFMul %141 %1455 %1484
%1487 = OpFMul %141 %1462 %1484
%1488 = OpCompositeExtract %141 %1541 0
%1489 = OpFMul %141 %1469 %1488
%1490 = OpFMul %141 %1476 %1488
%1491 = OpFMul %141 %1483 %1488
%1492 = OpFAdd %141 %1485 %1489
%1493 = OpFAdd %141 %1486 %1490
%1494 = OpFAdd %141 %1487 %1491
%1495 = OpCompositeExtract %141 %1538 1
%1496 = OpFMul %141 %1448 %1495
%1497 = OpFMul %141 %1455 %1495
%1498 = OpFMul %141 %1462 %1495
%1499 = OpCompositeExtract %141 %1541 1
%1500 = OpFMul %141 %1469 %1499
%1501 = OpFMul %141 %1476 %1499
%1502 = OpFMul %141 %1483 %1499
%1503 = OpFAdd %141 %1496 %1500
%1504 = OpFAdd %141 %1497 %1501
%1505 = OpFAdd %141 %1498 %1502
%1506 = OpFMul %141 %1492 %1492
%1507 = OpFMul %141 %1493 %1493
%1508 = OpFAdd %141 %1506 %1507
%1509 = OpFMul %141 %1494 %1494
%1510 = OpFAdd %141 %1508 %1509
%1511 = OpFMul %141 %1503 %1503
%1512 = OpFMul %141 %1504 %1504
%1513 = OpFAdd %141 %1511 %1512
%1514 = OpFMul %141 %1505 %1505
%1515 = OpFAdd %141 %1513 %1514
%1516 = OpExtInst %141 %1 FMax %1510 %1515
%1517 = OpExtInst %141 %1 Sqrt %1516
%1518 = OpFDiv %141 %179 %1517
%1519 = OpFMul %141 %1492 %1518
%1520 = OpFMul %141 %1493 %1518
%1521 = OpFMul %141 %1494 %1518
%1523 = OpFMul %141 %1503 %1518
%1524 = OpFMul %141 %1504 %1518
%1525 = OpFMul %141 %1505 %1518
%479 = OpCompositeExtract %141 %1434 0
%481 = OpFMul %141 %1519 %479
%483 = OpFMul %141 %1520 %479
%485 = OpFMul %141 %1521 %479
%487 = OpCompositeExtract %141 %1434 1
%489 = OpFMul %141 %1523 %487
%491 = OpFMul %141 %1524 %487
%493 = OpFMul %141 %1525 %487
%494 = OpFAdd %141 %489 %481
%495 = OpFAdd %141 %491 %483
%496 = OpFAdd %141 %493 %485
%498 = OpCompositeExtract %141 %1434 2
%500 = OpFMul %141 %1450 %498
%502 = OpFMul %141 %1445 %498
%504 = OpFMul %141 %1443 %498
%505 = OpFAdd %141 %500 %494
%506 = OpFAdd %141 %502 %495
%507 = OpFAdd %141 %504 %496
%508 = OpFMul %141 %505 %505
%509 = OpFMul %141 %506 %506
%510 = OpFAdd %141 %508 %509
%511 = OpFMul %141 %507 %507
%512 = OpFAdd %141 %510 %511
%513 = OpExtInst %141 %1 Sqrt %512
%514 = OpFDiv %141 %179 %513
%515 = OpFMul %141 %505 %514
%516 = OpFMul %141 %506 %514
%517 = OpFMul %141 %507 %514
%518 = OpCompositeConstruct %166 %515 %516 %517
OpBranch %453
%454 = OpLabel
OpBranch %453
%453 = OpLabel
%519 = OpPhi %166 %448 %454 %518 %455
%520 = OpAccessChain %153 %97 %163 %368 %164
%521 = OpLoad %141 %520
%522 = OpAccessChain %153 %97 %163 %368 %175
%523 = OpLoad %141 %522
%525 = OpAccessChain %199 %97 %163 %368 %163 %164
%526 = OpLoad %184 %525
%527 = OpIEqual %195 %526 %200
OpSelectionMerge %528 None
OpBranchConditional %527 %529 %530
%530 = OpLabel
%533 = OpLoad %184 %525
%534 = OpBitcast %158 %533
%535 = OpAccessChain %144 %95 %534
%1544 = OpLoad %143 %535
%1545 = OpSampledImage %156 %1544 %376
%1546 = OpImageSampleImplicitLod %142 %1545 %367
%537 = OpCompositeExtract %141 %1546 2
%538 = OpCompositeExtract %141 %1546 1
%539 = OpFMul %141 %521 %537
%540 = OpFMul %141 %523 %538
OpBranch %528
%529 = OpLabel
OpBranch %528
%528 = OpLabel
%541 = OpPhi %141 %523 %529 %540 %530
%542 = OpPhi %141 %521 %529 %539 %530
%543 = OpAccessChain %174 %97 %163 %368 %205
%544 = OpLoad %166 %543
%547 = OpAccessChain %199 %97 %163 %368 %163 %206
%548 = OpLoad %184 %547
%549 = OpIEqual %195 %548 %200
OpSelectionMerge %550 None
OpBranchConditional %549 %551 %552
%552 = OpLabel
%555 = OpLoad %184 %547
%556 = OpBitcast %158 %555
%557 = OpAccessChain %144 %95 %556
%1555 = OpLoad %143 %557
%1556 = OpSampledImage %156 %1555 %376
%1557 = OpImageSampleImplicitLod %142 %1556 %367
%559 = OpCompositeExtract %141 %1557 0
%560 = OpCompositeExtract %141 %1557 1
%561 = OpCompositeExtract %141 %1557 2
%562 = OpCompositeConstruct %166 %559 %560 %561
%563 = OpFMul %166 %544 %562
OpBranch %550
%551 = OpLabel
OpBranch %550
%550 = OpLabel
%564 = OpPhi %166 %544 %551 %563 %552
%565 = OpAccessChain %153 %97 %163 %368 %207
%566 = OpLoad %141 %565
%568 = OpAccessChain %199 %97 %163 %368 %163 %208
%569 = OpLoad %184 %568
%570 = OpIEqual %195 %569 %200
OpSelectionMerge %571 None
OpBranchConditional %570 %572 %573
%573 = OpLabel
%576 = OpLoad %184 %568
%577 = OpBitcast %158 %576
%578 = OpAccessChain %144 %95 %577
%1560 = OpLoad %143 %578
%1561 = OpSampledImage %156 %1560 %376
%1562 = OpImageSampleImplicitLod %142 %1561 %367
%580 = OpCompositeExtract %141 %1562 3
%581 = OpFMul %141 %566 %580
OpBranch %571
%572 = OpLabel
OpBranch %571
%571 = OpLabel
%582 = OpPhi %141 %566 %572 %581 %573
%583 = OpCompositeExtract %141 %393 0
%584 = OpCompositeExtract %141 %393 1
%585 = OpCompositeExtract %141 %393 2
%587 = OpAccessChain %153 %97 %163 %368 %206
%588 = OpLoad %141 %587
%590 = OpAccessChain %174 %97 %163 %368 %177
%591 = OpLoad %166 %590
%594 = OpAccessChain %199 %97 %163 %368 %163 %176
%595 = OpLoad %184 %594
%596 = OpIEqual %195 %595 %200
OpSelectionMerge %597 None
OpBranchConditional %596 %598 %599
%599 = OpLabel
%602 = OpLoad %184 %594
%603 = OpBitcast %158 %602
%604 = OpAccessChain %144 %95 %603
%1571 = OpLoad %143 %604
%1572 = OpSampledImage %156 %1571 %376
%1573 = OpImageSampleImplicitLod %142 %1572 %367
%606 = OpCompositeExtract %141 %1573 0
%607 = OpCompositeExtract %141 %1573 1
%608 = OpCompositeExtract %141 %1573 2
%609 = OpCompositeConstruct %166 %606 %607 %608
%610 = OpFMul %166 %591 %609
OpBranch %597
%598 = OpLabel
OpBranch %597
%597 = OpLabel
%611 = OpPhi %166 %591 %598 %610 %599
OpBranch %626
%626 = OpLabel
%627 = OpPhi %158 %163 %597 %628 %629
OpLoopMerge %634 %629 None
OpBranch %635
%635 = OpLabel
%636 = OpULessThan %195 %627 %374
OpSelectionMerge %638 None
OpBranchConditional %636 %638 %639
%639 = OpLabel
%662 = OpAccessChain %153 %97 %163 %368 %219
%663 = OpLoad %141 %662
%665 = OpAccessChain %199 %97 %163 %368 %163 %178
%666 = OpLoad %184 %665
%667 = OpIEqual %195 %666 %200
OpSelectionMerge %668 None
OpBranchConditional %667 %669 %670
%670 = OpLabel
%673 = OpLoad %184 %665
%674 = OpBitcast %158 %673
%675 = OpAccessChain %144 %95 %674
%2827 = OpLoad %143 %675
%2828 = OpSampledImage %156 %2827 %376
%2829 = OpImageSampleImplicitLod %142 %2828 %367
%677 = OpCompositeExtract %141 %2829 1
%678 = OpFMul %141 %663 %677
OpBranch %668
%669 = OpLabel
OpBranch %668
%668 = OpLabel
%679 = OpPhi %141 %663 %669 %678 %670
%680 = OpAccessChain %217 %94 %163 %163
%681 = OpLoad %92 %680
%683 = OpAccessChain %161 %94 %163 %175 %163
%684 = OpLoad %158 %683
%685 = OpAccessChain %153 %97 %163 %368 %220
%686 = OpLoad %141 %685
%687 = OpAccessChain %174 %97 %163 %368 %221
%688 = OpLoad %166 %687
%2842 = OpFNegate %166 %434
%2871 = OpFDiv %141 %179 %588
%2872 = OpCompositeExtract %141 %519 0
%2873 = OpCompositeExtract %141 %2842 0
%2874 = OpFMul %141 %2872 %2873
%2875 = OpCompositeExtract %141 %519 1
%2876 = OpCompositeExtract %141 %2842 1
%2877 = OpFMul %141 %2875 %2876
%2878 = OpFAdd %141 %2874 %2877
%2879 = OpCompositeExtract %141 %519 2
%2880 = OpCompositeExtract %141 %2842 2
%2881 = OpFMul %141 %2879 %2880
%2882 = OpFAdd %141 %2878 %2881
%2883 = OpFMul %141 %2871 %2871
%2884 = OpFMul %141 %2882 %2882
%2885 = OpFSub %141 %179 %2884
%2886 = OpFMul %141 %2883 %2885
%2887 = OpFSub %141 %179 %2886
%2889 = OpFMul %141 %2871 %2873
%2891 = OpFMul %141 %2871 %2876
%2893 = OpFMul %141 %2871 %2880
%2894 = OpFMul %141 %2871 %2882
%2895 = OpExtInst %141 %1 Sqrt %2887
%2896 = OpFAdd %141 %2894 %2895
%2898 = OpFMul %141 %2896 %2872
%2900 = OpFMul %141 %2896 %2875
%2902 = OpFMul %141 %2896 %2879
%2903 = OpFSub %141 %2889 %2898
%2904 = OpFSub %141 %2891 %2900
%2905 = OpFSub %141 %2893 %2902
%2844 = OpFMul %141 %679 %369
%2847 = OpFMul %141 %2903 %2903
%2850 = OpFMul %141 %2904 %2904
%2851 = OpFAdd %141 %2847 %2850
%2854 = OpFMul %141 %2905 %2905
%2855 = OpFAdd %141 %2851 %2854
%2856 = OpExtInst %141 %1 Sqrt %2855
%2857 = OpFDiv %141 %179 %2856
%2859 = OpFMul %141 %2903 %2857
%2861 = OpFMul %141 %2904 %2857
%2863 = OpFMul %141 %2905 %2857
%2864 = OpFMul %141 %2859 %2844
%2865 = OpFMul %141 %2861 %2844
%2866 = OpFMul %141 %2863 %2844
%699 = OpFAdd %141 %416 %2864
%702 = OpFAdd %141 %419 %2865
%705 = OpFAdd %141 %422 %2866
%706 = OpCompositeExtract %142 %681 0 0
%707 = OpCompositeExtract %141 %706 0
%708 = OpFMul %141 %707 %699
%709 = OpCompositeExtract %141 %706 1
%710 = OpFMul %141 %709 %699
%711 = OpCompositeExtract %141 %706 3
%712 = OpFMul %141 %711 %699
%713 = OpCompositeExtract %142 %681 0 1
%714 = OpCompositeExtract %141 %713 0
%715 = OpFMul %141 %714 %702
%716 = OpFAdd %141 %715 %708
%717 = OpCompositeExtract %141 %713 1
%718 = OpFMul %141 %717 %702
%719 = OpFAdd %141 %718 %710
%720 = OpCompositeExtract %141 %713 3
%721 = OpFMul %141 %720 %702
%722 = OpFAdd %141 %721 %712
%723 = OpCompositeExtract %142 %681 0 2
%724 = OpCompositeExtract %141 %723 0
%725 = OpFMul %141 %724 %705
%726 = OpFAdd %141 %725 %716
%727 = OpCompositeExtract %141 %723 1
%728 = OpFMul %141 %727 %705
%729 = OpFAdd %141 %728 %719
%730 = OpCompositeExtract %141 %723 3
%731 = OpFMul %141 %730 %705
%732 = OpFAdd %141 %731 %722
%733 = OpCompositeExtract %142 %681 0 3
%734 = OpCompositeExtract %141 %733 0
%736 = OpFAdd %141 %734 %726
%737 = OpCompositeExtract %141 %733 1
%739 = OpFAdd %141 %737 %729
%740 = OpCompositeExtract %141 %733 3
%742 = OpFAdd %141 %740 %732
%743 = OpFDiv %141 %736 %742
%744 = OpFDiv %141 %739 %742
%745 = OpFAdd %141 %743 %179
%746 = OpFAdd %141 %744 %179
%747 = OpFMul %141 %745 %3027
%748 = OpFMul %141 %746 %3027
%749 = OpCompositeConstruct %146 %747 %748
%750 = OpConvertUToF %141 %684
%751 = OpExtInst %141 %1 Log2 %750
%2909 = OpFMul %141 %588 %216
%2910 = OpFSub %141 %2909 %216
%2915 = OpExtInst %141 %1 FMax %2910 %157
%2916 = OpExtInst %141 %1 FMin %2915 %179
%2912 = OpFMul %141 %541 %2916
%753 = OpFMul %141 %751 %2912
%754 = OpLoad %145 %99
%2919 = OpLoad %143 %101
%2920 = OpSampledImage %156 %2919 %754
%2921 = OpImageSampleExplicitLod %142 %2920 %749 Lod %753
%756 = OpCompositeExtract %141 %2921 0
%757 = OpCompositeExtract %141 %2921 1
%758 = OpCompositeExtract %141 %2921 2
%759 = OpCompositeConstruct %166 %756 %757 %758
%2924 = OpFOrdEqual %195 %686 %236
OpSelectionMerge %2948 None
OpBranchConditional %2924 %2925 %2926
%2926 = OpLabel
%2958 = OpExtInst %166 %1 Log %688
%2928 = OpCompositeExtract %141 %2958 0
%2929 = OpFNegate %141 %2928
%2930 = OpCompositeExtract %141 %2958 1
%2931 = OpFNegate %141 %2930
%2932 = OpCompositeExtract %141 %2958 2
%2933 = OpFNegate %141 %2932
%2934 = OpFDiv %141 %2929 %686
%2935 = OpFDiv %141 %2931 %686
%2936 = OpFDiv %141 %2933 %686
%2937 = OpFNegate %141 %2934
%2938 = OpFNegate %141 %2935
%2939 = OpFNegate %141 %2936
%2940 = OpFMul %141 %2937 %2844
%2941 = OpFMul %141 %2938 %2844
%2942 = OpFMul %141 %2939 %2844
%2943 = OpExtInst %141 %1 Exp %2940
%2944 = OpExtInst %141 %1 Exp %2941
%2945 = OpExtInst %141 %1 Exp %2942
%2946 = OpCompositeConstruct %166 %2943 %2944 %2945
%2947 = OpFMul %166 %2946 %759
OpBranch %2948
%2925 = OpLabel
OpBranch %2948
%2948 = OpLabel
%2949 = OpPhi %166 %759 %2925 %2947 %2926
%763 = OpFMul %141 %2872 %431
%766 = OpFMul %141 %2875 %432
%767 = OpFAdd %141 %763 %766
%770 = OpFMul %141 %2879 %433
%771 = OpFAdd %141 %767 %770
%772 = OpCompositeConstruct %146 %771 %541
%773 = OpAccessChain %160 %98 %163 %177
%774 = OpLoad %158 %773
%775 = OpAccessChain %144 %95 %774
%2961 = OpLoad %143 %775
%2962 = OpSampledImage %156 %2961 %754
%2963 = OpImageSampleImplicitLod %142 %2962 %772
%778 = OpCompositeExtract %141 %2963 0
%779 = OpCompositeExtract %141 %2963 1
%2967 = OpFSub %141 %588 %179
%2969 = OpFAdd %141 %588 %179
%2970 = OpFDiv %141 %2967 %2969
%2971 = OpFMul %141 %2970 %2970
%2973 = OpCompositeExtract %141 %564 0
%2974 = OpFMul %141 %2971 %2973
%2975 = OpCompositeExtract %141 %564 1
%2976 = OpFMul %141 %2971 %2975
%2977 = OpCompositeExtract %141 %564 2
%2978 = OpFMul %141 %2971 %2977
%2980 = OpFMul %141 %2974 %582
%2981 = OpFMul %141 %2976 %582
%2982 = OpFMul %141 %2978 %582
%2986 = OpFSub %141 %583 %2980
%2988 = OpFSub %141 %584 %2981
%2990 = OpFSub %141 %585 %2982
%2991 = OpFMul %141 %2986 %542
%2992 = OpFMul %141 %2988 %542
%2993 = OpFMul %141 %2990 %542
%2994 = OpFAdd %141 %2980 %2991
%2995 = OpFAdd %141 %2981 %2992
%2996 = OpFAdd %141 %2982 %2993
%3003 = OpFSub %141 %179 %582
%3008 = OpFMul %141 %3003 %542
%3011 = OpFAdd %141 %582 %3008
%783 = OpFMul %141 %2994 %778
%785 = OpFMul %141 %2995 %778
%787 = OpFMul %141 %2996 %778
%789 = OpFMul %141 %3011 %779
%794 = OpFAdd %141 %783 %789
%795 = OpFAdd %141 %785 %789
%796 = OpFAdd %141 %787 %789
%797 = OpFSub %141 %179 %794
%798 = OpFSub %141 %179 %795
%799 = OpFSub %141 %179 %796
%800 = OpCompositeExtract %141 %2949 0
%801 = OpFMul %141 %797 %800
%802 = OpCompositeExtract %141 %2949 1
%803 = OpFMul %141 %798 %802
%804 = OpCompositeExtract %141 %2949 2
%805 = OpFMul %141 %799 %804
%807 = OpFMul %141 %801 %583
%809 = OpFMul %141 %803 %584
%811 = OpFMul %141 %805 %585
%818 = OpFMul %141 %411 %807
%819 = OpFMul %141 %411 %809
%820 = OpFMul %141 %411 %811
%827 = OpFMul %141 %818 %411
%828 = OpFMul %141 %819 %411
%829 = OpFMul %141 %820 %411
%842 = OpCompositeExtract %141 %611 0
%843 = OpFAdd %141 %827 %842
%844 = OpCompositeExtract %141 %611 1
%845 = OpFAdd %141 %828 %844
%846 = OpCompositeExtract %141 %611 2
%847 = OpFAdd %141 %829 %846
%848 = OpCompositeConstruct %142 %843 %845 %847 %179
OpStore %8 %848
OpBranch %634
%638 = OpLabel
%628 = OpIAdd %158 %627 %164
OpBranch %629
%629 = OpLabel
OpBranch %626
%634 = OpLabel
OpReturn
OpFunctionEnd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment