Sanitize debug source location tracking for implicit branch and return

This patch tries to attach debug location of a branch/return instruction to its predecessor or the closing brace. If none could be found, no debug info should be emitted.
This commit is contained in:
Qingyuan Zheng 2024-08-26 03:53:07 +00:00 committed by arcady-lunarg
parent b1fac200c4
commit a496a34b43
30 changed files with 4713 additions and 4253 deletions

View file

@ -3,14 +3,14 @@ WARNING: 0:158: '' : attribute does not apply to entry point
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 705
// Id's are bound by 706
Capability Tessellation
Extension "SPV_KHR_non_semantic_info"
1: ExtInstImport "NonSemantic.Shader.DebugInfo.100"
3: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint TessellationControl 6 "main" 597 604 611 645 654 661 668 683 698
EntryPoint TessellationControl 6 "main" 598 605 612 646 655 662 669 684 699
ExecutionMode 6 OutputVertices 4
ExecutionMode 6 Quads
ExecutionMode 6 SpacingEqual
@ -58,16 +58,16 @@ WARNING: 0:158: '' : attribute does not apply to entry point
217: String "int"
228: String "clip0"
246: String "clip1"
323: String "pos"
330: String "type.2d.image"
332: String "@type.2d.image"
338: String "textureHeight"
343: String "type.sampler"
344: String "@type.sampler"
349: String "samplerHeight"
353: String "type.sampled.image"
354: String "@type.sampled.image"
371: String "i"
324: String "pos"
331: String "type.2d.image"
333: String "@type.2d.image"
339: String "textureHeight"
344: String "type.sampler"
345: String "@type.sampler"
350: String "samplerHeight"
354: String "type.sampled.image"
355: String "@type.sampled.image"
372: String "i"
424: String "output"
Name 6 "main"
Name 28 "screenSpaceTessFactor(vf4;vf4;"
@ -109,10 +109,10 @@ WARNING: 0:158: '' : attribute does not apply to entry point
Name 213 ""
Name 226 "clip0"
Name 244 "clip1"
Name 321 "pos"
Name 336 "textureHeight"
Name 347 "samplerHeight"
Name 369 "i"
Name 322 "pos"
Name 337 "textureHeight"
Name 348 "samplerHeight"
Name 370 "i"
Name 422 "output"
Name 432 "param"
Name 437 "param"
@ -125,22 +125,22 @@ WARNING: 0:158: '' : attribute does not apply to entry point
Name 503 "param"
Name 508 "param"
Name 560 "output"
Name 594 "patch"
Name 597 "patch.Pos"
Name 604 "patch.Normal"
Name 611 "patch.UV"
Name 643 "InvocationID"
Name 645 "InvocationID"
Name 647 "flattenTemp"
Name 648 "param"
Name 650 "param"
Name 654 "@entryPointOutput.Pos"
Name 661 "@entryPointOutput.Normal"
Name 668 "@entryPointOutput.UV"
Name 678 "@patchConstantResult"
Name 679 "param"
Name 683 "@patchConstantOutput.TessLevelOuter"
Name 698 "@patchConstantOutput.TessLevelInner"
Name 595 "patch"
Name 598 "patch.Pos"
Name 605 "patch.Normal"
Name 612 "patch.UV"
Name 644 "InvocationID"
Name 646 "InvocationID"
Name 648 "flattenTemp"
Name 649 "param"
Name 651 "param"
Name 655 "@entryPointOutput.Pos"
Name 662 "@entryPointOutput.Normal"
Name 669 "@entryPointOutput.UV"
Name 679 "@patchConstantResult"
Name 680 "param"
Name 684 "@patchConstantOutput.TessLevelOuter"
Name 699 "@patchConstantOutput.TessLevelInner"
Decorate 181 ArrayStride 16
MemberDecorate 183(UBO) 0 RowMajor
MemberDecorate 183(UBO) 0 MatrixStride 16
@ -158,21 +158,21 @@ WARNING: 0:158: '' : attribute does not apply to entry point
MemberDecorate 206(ubo) 0 Offset 0
Decorate 213 Binding 0
Decorate 213 DescriptorSet 0
Decorate 336(textureHeight) Binding 1
Decorate 336(textureHeight) DescriptorSet 0
Decorate 347(samplerHeight) Binding 1
Decorate 347(samplerHeight) DescriptorSet 0
Decorate 597(patch.Pos) BuiltIn Position
Decorate 604(patch.Normal) Location 0
Decorate 611(patch.UV) Location 1
Decorate 645(InvocationID) BuiltIn InvocationId
Decorate 654(@entryPointOutput.Pos) BuiltIn Position
Decorate 661(@entryPointOutput.Normal) Location 0
Decorate 668(@entryPointOutput.UV) Location 1
Decorate 683(@patchConstantOutput.TessLevelOuter) BuiltIn TessLevelOuter
Decorate 683(@patchConstantOutput.TessLevelOuter) Patch
Decorate 698(@patchConstantOutput.TessLevelInner) BuiltIn TessLevelInner
Decorate 698(@patchConstantOutput.TessLevelInner) Patch
Decorate 337(textureHeight) Binding 1
Decorate 337(textureHeight) DescriptorSet 0
Decorate 348(samplerHeight) Binding 1
Decorate 348(samplerHeight) DescriptorSet 0
Decorate 598(patch.Pos) BuiltIn Position
Decorate 605(patch.Normal) Location 0
Decorate 612(patch.UV) Location 1
Decorate 646(InvocationID) BuiltIn InvocationId
Decorate 655(@entryPointOutput.Pos) BuiltIn Position
Decorate 662(@entryPointOutput.Normal) Location 0
Decorate 669(@entryPointOutput.UV) Location 1
Decorate 684(@patchConstantOutput.TessLevelOuter) BuiltIn TessLevelOuter
Decorate 684(@patchConstantOutput.TessLevelOuter) Patch
Decorate 699(@patchConstantOutput.TessLevelInner) BuiltIn TessLevelInner
Decorate 699(@patchConstantOutput.TessLevelInner) Patch
4: TypeVoid
5: TypeFunction 4
8: TypeFloat 32
@ -329,37 +329,37 @@ WARNING: 0:158: '' : attribute does not apply to entry point
310: 216(int) Constant 5
314: 8(float) Constant 1065353216
315: 8(float) Constant 1115684864
324: 11(int) Constant 98
322: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 323 20 32 324 16 62 19
328: TypeImage 8(float) 2D sampled format:Unknown
331: 11(int) Constant 99
333: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone)
329: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 330 16 32 331 16 35 332 333 17
334: TypePointer UniformConstant 328
335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 329 16 16
336(textureHeight): 334(ptr) Variable UniformConstant
337: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 338 329 32 331 16 35 338 336(textureHeight) 215
341: TypeSampler
342: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 343 36 32 331 16 35 344 333 17
345: TypePointer UniformConstant 341
346: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 342 16 16
347(samplerHeight): 345(ptr) Variable UniformConstant
348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 349 342 32 331 16 35 349 347(samplerHeight) 215
351: TypeSampledImage 328
352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 353 16 32 331 16 35 354 333 17
359: 216(int) Constant 4
367: TypePointer Function 216(int)
368: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 218 22 16
372: 11(int) Constant 102
370: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 371 218 32 372 16 62 19
389: 11(int) Constant 103
390: 216(int) Constant 3
392: TypePointer Uniform 18(fvec4)
393: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 46 16
397: 8(float) Constant 1090519040
402: 52(bool) ConstantFalse
405: 11(int) Constant 105
415: 11(int) Constant 108
325: 11(int) Constant 98
323: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 324 20 32 325 16 62 19
329: TypeImage 8(float) 2D sampled format:Unknown
332: 11(int) Constant 99
334: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone)
330: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 331 16 32 332 16 35 333 334 17
335: TypePointer UniformConstant 329
336: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 330 16 16
337(textureHeight): 335(ptr) Variable UniformConstant
338: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 339 330 32 332 16 35 339 337(textureHeight) 215
342: TypeSampler
343: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 344 36 32 332 16 35 345 334 17
346: TypePointer UniformConstant 342
347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 343 16 16
348(samplerHeight): 346(ptr) Variable UniformConstant
349: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 350 343 32 332 16 35 350 348(samplerHeight) 215
352: TypeSampledImage 329
353: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 354 16 32 332 16 35 355 334 17
360: 216(int) Constant 4
368: TypePointer Function 216(int)
369: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 218 22 16
373: 11(int) Constant 102
371: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 372 218 32 373 16 62 19
390: 11(int) Constant 103
391: 216(int) Constant 3
393: TypePointer Uniform 18(fvec4)
394: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 46 16
398: 8(float) Constant 1090519040
403: 52(bool) ConstantFalse
406: 11(int) Constant 105
414: 11(int) Constant 108
420: TypePointer Function 97(ConstantsHSOutput)
421: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 105 22 16
425: 11(int) Constant 113
@ -388,7 +388,7 @@ WARNING: 0:158: '' : attribute does not apply to entry point
542: 11(int) Constant 142
545: 11(int) Constant 143
548: 11(int) Constant 144
553: 11(int) Constant 148
552: 11(int) Constant 148
558: TypePointer Function 121(HSOutput)
559: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 128 22 16
562: 11(int) Constant 159
@ -402,150 +402,150 @@ WARNING: 0:158: '' : attribute does not apply to entry point
578: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 73 22 16
584: 11(int) Constant 162
590: 11(int) Constant 163
595: TypeArray 18(fvec4) 19
596: TypePointer Input 595
597(patch.Pos): 596(ptr) Variable Input
598: TypePointer Input 18(fvec4)
602: TypeArray 72(fvec3) 19
603: TypePointer Input 602
604(patch.Normal): 603(ptr) Variable Input
605: TypePointer Input 72(fvec3)
609: TypeArray 48(fvec2) 19
610: TypePointer Input 609
611(patch.UV): 610(ptr) Variable Input
612: TypePointer Input 48(fvec2)
644: TypePointer Input 11(int)
645(InvocationID): 644(ptr) Variable Input
653: TypePointer Output 595
654(@entryPointOutput.Pos): 653(ptr) Variable Output
658: TypePointer Output 18(fvec4)
660: TypePointer Output 602
661(@entryPointOutput.Normal): 660(ptr) Variable Output
665: TypePointer Output 72(fvec3)
667: TypePointer Output 609
668(@entryPointOutput.UV): 667(ptr) Variable Output
672: TypePointer Output 48(fvec2)
682: TypePointer Output 93
683(@patchConstantOutput.TessLevelOuter): 682(ptr) Variable Output
686: TypePointer Output 8(float)
697: TypePointer Output 95
698(@patchConstantOutput.TessLevelInner): 697(ptr) Variable Output
596: TypeArray 18(fvec4) 19
597: TypePointer Input 596
598(patch.Pos): 597(ptr) Variable Input
599: TypePointer Input 18(fvec4)
603: TypeArray 72(fvec3) 19
604: TypePointer Input 603
605(patch.Normal): 604(ptr) Variable Input
606: TypePointer Input 72(fvec3)
610: TypeArray 48(fvec2) 19
611: TypePointer Input 610
612(patch.UV): 611(ptr) Variable Input
613: TypePointer Input 48(fvec2)
645: TypePointer Input 11(int)
646(InvocationID): 645(ptr) Variable Input
654: TypePointer Output 596
655(@entryPointOutput.Pos): 654(ptr) Variable Output
659: TypePointer Output 18(fvec4)
661: TypePointer Output 603
662(@entryPointOutput.Normal): 661(ptr) Variable Output
666: TypePointer Output 72(fvec3)
668: TypePointer Output 610
669(@entryPointOutput.UV): 668(ptr) Variable Output
673: TypePointer Output 48(fvec2)
683: TypePointer Output 93
684(@patchConstantOutput.TessLevelOuter): 683(ptr) Variable Output
687: TypePointer Output 8(float)
698: TypePointer Output 95
699(@patchConstantOutput.TessLevelInner): 698(ptr) Variable Output
6(main): 4 Function None 5
7: Label
594(patch): 91(ptr) Variable Function
643(InvocationID): 119(ptr) Variable Function
647(flattenTemp): 558(ptr) Variable Function
648(param): 91(ptr) Variable Function
650(param): 119(ptr) Variable Function
678(@patchConstantResult): 420(ptr) Variable Function
679(param): 91(ptr) Variable Function
599: 598(ptr) AccessChain 597(patch.Pos) 219
600: 18(fvec4) Load 599
601: 21(ptr) AccessChain 594(patch) 219 219
Store 601 600
606: 605(ptr) AccessChain 604(patch.Normal) 219
607: 72(fvec3) Load 606
608: 577(ptr) AccessChain 594(patch) 219 220
Store 608 607
613: 612(ptr) AccessChain 611(patch.UV) 219
614: 48(fvec2) Load 613
615: 50(ptr) AccessChain 594(patch) 219 431
Store 615 614
616: 598(ptr) AccessChain 597(patch.Pos) 220
617: 18(fvec4) Load 616
618: 21(ptr) AccessChain 594(patch) 220 219
Store 618 617
619: 605(ptr) AccessChain 604(patch.Normal) 220
620: 72(fvec3) Load 619
621: 577(ptr) AccessChain 594(patch) 220 220
Store 621 620
622: 612(ptr) AccessChain 611(patch.UV) 220
623: 48(fvec2) Load 622
624: 50(ptr) AccessChain 594(patch) 220 431
Store 624 623
625: 598(ptr) AccessChain 597(patch.Pos) 431
626: 18(fvec4) Load 625
627: 21(ptr) AccessChain 594(patch) 431 219
Store 627 626
628: 605(ptr) AccessChain 604(patch.Normal) 431
629: 72(fvec3) Load 628
630: 577(ptr) AccessChain 594(patch) 431 220
Store 630 629
631: 612(ptr) AccessChain 611(patch.UV) 431
632: 48(fvec2) Load 631
633: 50(ptr) AccessChain 594(patch) 431 431
Store 633 632
634: 598(ptr) AccessChain 597(patch.Pos) 390
635: 18(fvec4) Load 634
636: 21(ptr) AccessChain 594(patch) 390 219
Store 636 635
637: 605(ptr) AccessChain 604(patch.Normal) 390
638: 72(fvec3) Load 637
639: 577(ptr) AccessChain 594(patch) 390 220
Store 639 638
640: 612(ptr) AccessChain 611(patch.UV) 390
641: 48(fvec2) Load 640
642: 50(ptr) AccessChain 594(patch) 390 431
Store 642 641
646: 11(int) Load 645(InvocationID)
Store 643(InvocationID) 646
649: 89 Load 594(patch)
Store 648(param) 649
651: 11(int) Load 643(InvocationID)
Store 650(param) 651
652:121(HSOutput) FunctionCall 135(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;) 648(param) 650(param)
Store 647(flattenTemp) 652
655: 11(int) Load 645(InvocationID)
656: 21(ptr) AccessChain 647(flattenTemp) 219
657: 18(fvec4) Load 656
659: 658(ptr) AccessChain 654(@entryPointOutput.Pos) 655
Store 659 657
662: 11(int) Load 645(InvocationID)
663: 577(ptr) AccessChain 647(flattenTemp) 220
664: 72(fvec3) Load 663
666: 665(ptr) AccessChain 661(@entryPointOutput.Normal) 662
Store 666 664
669: 11(int) Load 645(InvocationID)
670: 50(ptr) AccessChain 647(flattenTemp) 431
671: 48(fvec2) Load 670
673: 672(ptr) AccessChain 668(@entryPointOutput.UV) 669
Store 673 671
595(patch): 91(ptr) Variable Function
644(InvocationID): 119(ptr) Variable Function
648(flattenTemp): 558(ptr) Variable Function
649(param): 91(ptr) Variable Function
651(param): 119(ptr) Variable Function
679(@patchConstantResult): 420(ptr) Variable Function
680(param): 91(ptr) Variable Function
600: 599(ptr) AccessChain 598(patch.Pos) 219
601: 18(fvec4) Load 600
602: 21(ptr) AccessChain 595(patch) 219 219
Store 602 601
607: 606(ptr) AccessChain 605(patch.Normal) 219
608: 72(fvec3) Load 607
609: 577(ptr) AccessChain 595(patch) 219 220
Store 609 608
614: 613(ptr) AccessChain 612(patch.UV) 219
615: 48(fvec2) Load 614
616: 50(ptr) AccessChain 595(patch) 219 431
Store 616 615
617: 599(ptr) AccessChain 598(patch.Pos) 220
618: 18(fvec4) Load 617
619: 21(ptr) AccessChain 595(patch) 220 219
Store 619 618
620: 606(ptr) AccessChain 605(patch.Normal) 220
621: 72(fvec3) Load 620
622: 577(ptr) AccessChain 595(patch) 220 220
Store 622 621
623: 613(ptr) AccessChain 612(patch.UV) 220
624: 48(fvec2) Load 623
625: 50(ptr) AccessChain 595(patch) 220 431
Store 625 624
626: 599(ptr) AccessChain 598(patch.Pos) 431
627: 18(fvec4) Load 626
628: 21(ptr) AccessChain 595(patch) 431 219
Store 628 627
629: 606(ptr) AccessChain 605(patch.Normal) 431
630: 72(fvec3) Load 629
631: 577(ptr) AccessChain 595(patch) 431 220
Store 631 630
632: 613(ptr) AccessChain 612(patch.UV) 431
633: 48(fvec2) Load 632
634: 50(ptr) AccessChain 595(patch) 431 431
Store 634 633
635: 599(ptr) AccessChain 598(patch.Pos) 391
636: 18(fvec4) Load 635
637: 21(ptr) AccessChain 595(patch) 391 219
Store 637 636
638: 606(ptr) AccessChain 605(patch.Normal) 391
639: 72(fvec3) Load 638
640: 577(ptr) AccessChain 595(patch) 391 220
Store 640 639
641: 613(ptr) AccessChain 612(patch.UV) 391
642: 48(fvec2) Load 641
643: 50(ptr) AccessChain 595(patch) 391 431
Store 643 642
647: 11(int) Load 646(InvocationID)
Store 644(InvocationID) 647
650: 89 Load 595(patch)
Store 649(param) 650
652: 11(int) Load 644(InvocationID)
Store 651(param) 652
653:121(HSOutput) FunctionCall 135(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;) 649(param) 651(param)
Store 648(flattenTemp) 653
656: 11(int) Load 646(InvocationID)
657: 21(ptr) AccessChain 648(flattenTemp) 219
658: 18(fvec4) Load 657
660: 659(ptr) AccessChain 655(@entryPointOutput.Pos) 656
Store 660 658
663: 11(int) Load 646(InvocationID)
664: 577(ptr) AccessChain 648(flattenTemp) 220
665: 72(fvec3) Load 664
667: 666(ptr) AccessChain 662(@entryPointOutput.Normal) 663
Store 667 665
670: 11(int) Load 646(InvocationID)
671: 50(ptr) AccessChain 648(flattenTemp) 431
672: 48(fvec2) Load 671
674: 673(ptr) AccessChain 669(@entryPointOutput.UV) 670
Store 674 672
ControlBarrier 46 19 16
674: 11(int) Load 645(InvocationID)
675: 52(bool) IEqual 674 219
SelectionMerge 677 None
BranchConditional 675 676 677
676: Label
680: 89 Load 594(patch)
Store 679(param) 680
681:97(ConstantsHSOutput) FunctionCall 110(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];) 679(param)
Store 678(@patchConstantResult) 681
684: 158(ptr) AccessChain 678(@patchConstantResult) 219 219
685: 8(float) Load 684
687: 686(ptr) AccessChain 683(@patchConstantOutput.TessLevelOuter) 219
Store 687 685
688: 158(ptr) AccessChain 678(@patchConstantResult) 219 220
689: 8(float) Load 688
690: 686(ptr) AccessChain 683(@patchConstantOutput.TessLevelOuter) 220
Store 690 689
691: 158(ptr) AccessChain 678(@patchConstantResult) 219 431
692: 8(float) Load 691
693: 686(ptr) AccessChain 683(@patchConstantOutput.TessLevelOuter) 431
Store 693 692
694: 158(ptr) AccessChain 678(@patchConstantResult) 219 390
695: 8(float) Load 694
696: 686(ptr) AccessChain 683(@patchConstantOutput.TessLevelOuter) 390
Store 696 695
699: 158(ptr) AccessChain 678(@patchConstantResult) 220 219
700: 8(float) Load 699
701: 686(ptr) AccessChain 698(@patchConstantOutput.TessLevelInner) 219
Store 701 700
702: 158(ptr) AccessChain 678(@patchConstantResult) 220 220
703: 8(float) Load 702
704: 686(ptr) AccessChain 698(@patchConstantOutput.TessLevelInner) 220
Store 704 703
Branch 677
677: Label
675: 11(int) Load 646(InvocationID)
676: 52(bool) IEqual 675 219
SelectionMerge 678 None
BranchConditional 676 677 678
677: Label
681: 89 Load 595(patch)
Store 680(param) 681
682:97(ConstantsHSOutput) FunctionCall 110(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];) 680(param)
Store 679(@patchConstantResult) 682
685: 158(ptr) AccessChain 679(@patchConstantResult) 219 219
686: 8(float) Load 685
688: 687(ptr) AccessChain 684(@patchConstantOutput.TessLevelOuter) 219
Store 688 686
689: 158(ptr) AccessChain 679(@patchConstantResult) 219 220
690: 8(float) Load 689
691: 687(ptr) AccessChain 684(@patchConstantOutput.TessLevelOuter) 220
Store 691 690
692: 158(ptr) AccessChain 679(@patchConstantResult) 219 431
693: 8(float) Load 692
694: 687(ptr) AccessChain 684(@patchConstantOutput.TessLevelOuter) 431
Store 694 693
695: 158(ptr) AccessChain 679(@patchConstantResult) 219 391
696: 8(float) Load 695
697: 687(ptr) AccessChain 684(@patchConstantOutput.TessLevelOuter) 391
Store 697 696
700: 158(ptr) AccessChain 679(@patchConstantResult) 220 219
701: 8(float) Load 700
702: 687(ptr) AccessChain 699(@patchConstantOutput.TessLevelInner) 219
Store 702 701
703: 158(ptr) AccessChain 679(@patchConstantResult) 220 220
704: 8(float) Load 703
705: 687(ptr) AccessChain 699(@patchConstantOutput.TessLevelInner) 220
Store 705 704
Branch 678
678: Label
Return
FunctionEnd
28(screenSpaceTessFactor(vf4;vf4;): 8(float) Function None 24
@ -664,76 +664,75 @@ WARNING: 0:158: '' : attribute does not apply to entry point
57(Pos): 21(ptr) FunctionParameter
58(inUV): 50(ptr) FunctionParameter
60: Label
321(pos): 21(ptr) Variable Function
369(i): 367(ptr) Variable Function
322(pos): 21(ptr) Variable Function
370(i): 368(ptr) Variable Function
67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62
68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 63 63 16 16
66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 64 57(Pos) 41
71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 69 58(inUV) 41
320: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 62 59(frustumCheck(vf4;vf2;)
326: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 324 324 16 16
325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 322 321(pos) 41
327: 18(fvec4) Load 57(Pos)
Store 321(pos) 327
340: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 331 331 16 16
339: 328 Load 336(textureHeight)
350: 341 Load 347(samplerHeight)
355: 351 SampledImage 339 350
356: 48(fvec2) Load 58(inUV)
357: 18(fvec4) ImageSampleExplicitLod 355 356 Lod 234
358: 8(float) CompositeExtract 357 0
360: 305(ptr) AccessChain 213 219 359
361: 8(float) Load 360
362: 8(float) FMul 358 361
363: 158(ptr) AccessChain 321(pos) 36
364: 8(float) Load 363
365: 8(float) FSub 364 362
366: 158(ptr) AccessChain 321(pos) 36
Store 366 365
374: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 372 372 16 16
373: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 370 369(i) 41
Store 369(i) 219
Branch 375
375: Label
379: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62
380: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 372 372 16 16
LoopMerge 377 378 None
Branch 381
381: Label
383: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62
384: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 372 372 16 16
382: 216(int) Load 369(i)
385: 52(bool) SLessThan 382 274
BranchConditional 385 376 377
376: Label
387: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62
388: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 389 389 16 16
386: 18(fvec4) Load 321(pos)
391: 216(int) Load 369(i)
394: 392(ptr) AccessChain 213 219 390 391
395: 18(fvec4) Load 394
396: 8(float) Dot 386 395
398: 8(float) FAdd 396 397
399: 52(bool) FOrdLessThan 398 234
SelectionMerge 401 None
BranchConditional 399 400 401
400: Label
403: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62
404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 405 405 16 16
ReturnValue 402
401: Label
408: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62
Branch 378
378: Label
410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62
411: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 372 372 16 16
409: 216(int) Load 369(i)
412: 216(int) IAdd 409 220
Store 369(i) 412
Branch 375
377: Label
413: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62
414: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 415 415 16 16
321: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 62 59(frustumCheck(vf4;vf2;)
327: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 325 325 16 16
326: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 323 322(pos) 41
328: 18(fvec4) Load 57(Pos)
Store 322(pos) 328
341: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 332 332 16 16
340: 329 Load 337(textureHeight)
351: 342 Load 348(samplerHeight)
356: 352 SampledImage 340 351
357: 48(fvec2) Load 58(inUV)
358: 18(fvec4) ImageSampleExplicitLod 356 357 Lod 234
359: 8(float) CompositeExtract 358 0
361: 305(ptr) AccessChain 213 219 360
362: 8(float) Load 361
363: 8(float) FMul 359 362
364: 158(ptr) AccessChain 322(pos) 36
365: 8(float) Load 364
366: 8(float) FSub 365 363
367: 158(ptr) AccessChain 322(pos) 36
Store 367 366
375: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 373 373 16 16
374: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 371 370(i) 41
Store 370(i) 219
Branch 376
376: Label
380: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62
381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 373 373 16 16
LoopMerge 378 379 None
Branch 382
382: Label
384: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62
385: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 373 373 16 16
383: 216(int) Load 370(i)
386: 52(bool) SLessThan 383 274
BranchConditional 386 377 378
377: Label
388: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62
389: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 390 390 16 16
387: 18(fvec4) Load 322(pos)
392: 216(int) Load 370(i)
395: 393(ptr) AccessChain 213 219 391 392
396: 18(fvec4) Load 395
397: 8(float) Dot 387 396
399: 8(float) FAdd 397 398
400: 52(bool) FOrdLessThan 399 234
SelectionMerge 402 None
BranchConditional 400 401 402
401: Label
404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62
405: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 406 406 16 16
ReturnValue 403
402: Label
Branch 379
379: Label
409: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62
410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 373 373 16 16
408: 216(int) Load 370(i)
411: 216(int) IAdd 408 220
Store 370(i) 411
Branch 376
378: Label
412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62
413: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 414 414 16 16
ReturnValue 180
FunctionEnd
110(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];):97(ConstantsHSOutput) Function None 107
@ -786,7 +785,7 @@ WARNING: 0:158: '' : attribute does not apply to entry point
457: 158(ptr) AccessChain 422(output) 219 431
Store 457 234
461: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 462 462 16 16
460: 158(ptr) AccessChain 422(output) 219 390
460: 158(ptr) AccessChain 422(output) 219 391
Store 460 234
Branch 443
463: Label
@ -800,7 +799,7 @@ WARNING: 0:158: '' : attribute does not apply to entry point
470: Label
474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113
475: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 476 476 16 16
473: 21(ptr) AccessChain 109(patch) 390 219
473: 21(ptr) AccessChain 109(patch) 391 219
477: 18(fvec4) Load 473
Store 472(param) 477
479: 21(ptr) AccessChain 109(patch) 219 219
@ -833,16 +832,16 @@ WARNING: 0:158: '' : attribute does not apply to entry point
504: 21(ptr) AccessChain 109(patch) 431 219
507: 18(fvec4) Load 504
Store 503(param) 507
509: 21(ptr) AccessChain 109(patch) 390 219
509: 21(ptr) AccessChain 109(patch) 391 219
510: 18(fvec4) Load 509
Store 508(param) 510
511: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 503(param) 508(param)
512: 158(ptr) AccessChain 422(output) 219 390
512: 158(ptr) AccessChain 422(output) 219 391
Store 512 511
514: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 515 515 16 16
513: 158(ptr) AccessChain 422(output) 219 219
516: 8(float) Load 513
517: 158(ptr) AccessChain 422(output) 219 390
517: 158(ptr) AccessChain 422(output) 219 391
518: 8(float) Load 517
519: 8(float) ExtInst 3(GLSL.std.450) 46(FMix) 516 518 153
520: 158(ptr) AccessChain 422(output) 220 219
@ -874,17 +873,16 @@ WARNING: 0:158: '' : attribute does not apply to entry point
543: 158(ptr) AccessChain 422(output) 219 431
Store 543 314
547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 548 548 16 16
546: 158(ptr) AccessChain 422(output) 219 390
546: 158(ptr) AccessChain 422(output) 219 391
Store 546 314
Branch 471
471: Label
549: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113
Branch 443
443: Label
551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113
552: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 553 553 16 16
550:97(ConstantsHSOutput) Load 422(output)
ReturnValue 550
550: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113
551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 552 552 16 16
549:97(ConstantsHSOutput) Load 422(output)
ReturnValue 549
FunctionEnd
135(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;):121(HSOutput) Function None 131
133(patch): 91(ptr) FunctionParameter