From a496a34b439022750d41d2ba04fbbe416ef81c9a Mon Sep 17 00:00:00 2001 From: Qingyuan Zheng Date: Mon, 26 Aug 2024 03:53:07 +0000 Subject: [PATCH] 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. --- SPIRV/GlslangToSpv.cpp | 26 +- SPIRV/SpvBuilder.cpp | 36 +- SPIRV/SpvBuilder.h | 16 +- Test/baseResults/hlsl.round.dx9.frag.out | 1 + Test/baseResults/spv.debugInfo.1.1.frag.out | 2 + Test/baseResults/spv.debugInfo.frag.out | 2 + .../spv.debuginfo.bufferref.glsl.frag.out | 4 +- .../spv.debuginfo.const_params.glsl.comp.out | 4 +- Test/baseResults/spv.debuginfo.glsl.comp.out | 1735 +++++++-------- Test/baseResults/spv.debuginfo.glsl.frag.out | 1249 +++++------ Test/baseResults/spv.debuginfo.glsl.geom.out | 4 +- Test/baseResults/spv.debuginfo.glsl.tesc.out | 723 +++---- Test/baseResults/spv.debuginfo.glsl.tese.out | 4 +- Test/baseResults/spv.debuginfo.glsl.vert.out | 4 +- Test/baseResults/spv.debuginfo.hlsl.comp.out | 1851 ++++++++--------- Test/baseResults/spv.debuginfo.hlsl.frag.out | 990 +++++---- Test/baseResults/spv.debuginfo.hlsl.tesc.out | 592 +++--- Test/baseResults/spv.debuginfo.hlsl.tese.out | 354 ++-- Test/baseResults/spv.debuginfo.hlsl.vert.out | 204 +- .../spv.debuginfo.implicit_br.glsl.frag.out | 325 +++ .../spv.debuginfo.include.glsl.frag.out | 110 +- .../spv.debuginfo.multiline.glsl.frag.out | 103 +- .../spv.debuginfo.rt_types.glsl.rgen.out | 4 +- .../spv.debuginfo.scalar_types.glsl.frag.out | 4 +- Test/baseResults/spv.pp.line.frag.out | 1 + Test/spv.debuginfo.implicit_br.glsl.frag | 60 + glslang/Include/intermediate.h | 15 +- glslang/MachineIndependent/glslang.y | 8 +- glslang/MachineIndependent/glslang_tab.cpp | 534 ++--- gtests/Spv.FromFile.cpp | 1 + 30 files changed, 4713 insertions(+), 4253 deletions(-) create mode 100644 Test/baseResults/spv.debuginfo.implicit_br.glsl.frag.out create mode 100644 Test/spv.debuginfo.implicit_br.glsl.frag diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp index 2ca475c2c..50851889e 100644 --- a/SPIRV/GlslangToSpv.cpp +++ b/SPIRV/GlslangToSpv.cpp @@ -1558,7 +1558,7 @@ TGlslangToSpvTraverser::TGlslangToSpvTraverser(unsigned int spvVersion, else { builder.setEmitSpirvDebugInfo(); } - builder.setDebugSourceFile(glslangIntermediate->getSourceFile()); + builder.setDebugMainSourceFile(glslangIntermediate->getSourceFile()); // Set the source shader's text. If for SPV version 1.0, include // a preamble in comments stating the OpModuleProcessed instructions. @@ -2967,6 +2967,12 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt currentFunction->setDebugLineInfo(sourceFileId, loc.line, loc.column); } } else { + if (options.generateDebugInfo) { + if (glslangIntermediate->getSource() == glslang::EShSourceGlsl && node->getSequence().size() > 1) { + auto endLoc = node->getSequence()[1]->getAsAggregate()->getEndLoc(); + builder.setDebugSourceLocation(endLoc.line, endLoc.getFilename()); + } + } if (inEntryPoint) entryPointTerminated = true; builder.leaveFunction(); @@ -4120,7 +4126,7 @@ bool TGlslangToSpvTraverser::visitSwitch(glslang::TVisit /* visit */, glslang::T if (codeSegments[s]) codeSegments[s]->traverse(this); else - builder.addSwitchBreak(); + builder.addSwitchBreak(true); } breakForLoop.pop(); @@ -4144,7 +4150,7 @@ void TGlslangToSpvTraverser::visitConstantUnion(glslang::TIntermConstantUnion* n bool TGlslangToSpvTraverser::visitLoop(glslang::TVisit /* visit */, glslang::TIntermLoop* node) { auto blocks = builder.makeNewLoop(); - builder.createBranch(&blocks.head); + builder.createBranch(true, &blocks.head); // Loop control: std::vector operands; @@ -4161,7 +4167,7 @@ bool TGlslangToSpvTraverser::visitLoop(glslang::TVisit /* visit */, glslang::TIn builder.createLoopMerge(&blocks.merge, &blocks.continue_target, control, operands); if (node->testFirst() && node->getTest()) { spv::Block& test = builder.makeNewBlock(); - builder.createBranch(&test); + builder.createBranch(true, &test); builder.setBuildPoint(&test); node->getTest()->traverse(this); @@ -4172,22 +4178,22 @@ bool TGlslangToSpvTraverser::visitLoop(glslang::TVisit /* visit */, glslang::TIn breakForLoop.push(true); if (node->getBody()) node->getBody()->traverse(this); - builder.createBranch(&blocks.continue_target); + builder.createBranch(true, &blocks.continue_target); breakForLoop.pop(); builder.setBuildPoint(&blocks.continue_target); if (node->getTerminal()) node->getTerminal()->traverse(this); - builder.createBranch(&blocks.head); + builder.createBranch(true, &blocks.head); } else { builder.setDebugSourceLocation(node->getLoc().line, node->getLoc().getFilename()); - builder.createBranch(&blocks.body); + builder.createBranch(true, &blocks.body); breakForLoop.push(true); builder.setBuildPoint(&blocks.body); if (node->getBody()) node->getBody()->traverse(this); - builder.createBranch(&blocks.continue_target); + builder.createBranch(true, &blocks.continue_target); breakForLoop.pop(); builder.setBuildPoint(&blocks.continue_target); @@ -4202,7 +4208,7 @@ bool TGlslangToSpvTraverser::visitLoop(glslang::TVisit /* visit */, glslang::TIn // TODO: unless there was a break/return/discard instruction // somewhere in the body, this is an infinite loop, so we should // issue a warning. - builder.createBranch(&blocks.head); + builder.createBranch(true, &blocks.head); } } builder.setBuildPoint(&blocks.merge); @@ -4238,7 +4244,7 @@ bool TGlslangToSpvTraverser::visitBranch(glslang::TVisit /* visit */, glslang::T if (breakForLoop.top()) builder.createLoopExit(); else - builder.addSwitchBreak(); + builder.addSwitchBreak(false); break; case glslang::EOpContinue: builder.createLoopContinue(); diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp index caff5c114..41a6b3db0 100644 --- a/SPIRV/SpvBuilder.cpp +++ b/SPIRV/SpvBuilder.cpp @@ -2182,6 +2182,10 @@ void Builder::addInstruction(std::unique_ptr inst) { buildPoint->addInstruction(std::move(inst)); } +void Builder::addInstructionNoDebugInfo(std::unique_ptr inst) { + buildPoint->addInstruction(std::move(inst)); +} + // Comments in header Function* Builder::makeEntryPoint(const char* entryPoint) { @@ -3659,6 +3663,7 @@ Builder::If::If(Id cond, unsigned int ctrl, Builder& gb) : // Save the current block, so that we can add in the flow control split when // makeEndIf is called. headerBlock = builder.getBuildPoint(); + builder.createSelectionMerge(mergeBlock, control); function->addBlock(thenBlock); builder.setBuildPoint(thenBlock); @@ -3668,7 +3673,7 @@ Builder::If::If(Id cond, unsigned int ctrl, Builder& gb) : void Builder::If::makeBeginElse() { // Close out the "then" by having it jump to the mergeBlock - builder.createBranch(mergeBlock); + builder.createBranch(true, mergeBlock); // Make the first else block and add it to the function elseBlock = new Block(builder.getUniqueId(), *function); @@ -3682,11 +3687,10 @@ void Builder::If::makeBeginElse() void Builder::If::makeEndIf() { // jump to the merge block - builder.createBranch(mergeBlock); + builder.createBranch(true, mergeBlock); // Go back to the headerBlock and make the flow control split builder.setBuildPoint(headerBlock); - builder.createSelectionMerge(mergeBlock, control); if (elseBlock) builder.createConditionalBranch(condition, thenBlock, elseBlock); else @@ -3732,10 +3736,10 @@ void Builder::makeSwitch(Id selector, unsigned int control, int numSegments, con } // Comments in header -void Builder::addSwitchBreak() +void Builder::addSwitchBreak(bool implicit) { // branch to the top of the merge block stack - createBranch(switchMerges.top()); + createBranch(implicit, switchMerges.top()); createAndSetNoPredecessorBlock("post-switch-break"); } @@ -3746,7 +3750,7 @@ void Builder::nextSwitchSegment(std::vector& segmentBlock, int nextSegme if (lastSegment >= 0) { // Close out previous segment by jumping, if necessary, to next segment if (! buildPoint->isTerminated()) - createBranch(segmentBlock[nextSegment]); + createBranch(true, segmentBlock[nextSegment]); } Block* block = segmentBlock[nextSegment]; block->getParent().addBlock(block); @@ -3758,7 +3762,7 @@ void Builder::endSwitch(std::vector& /*segmentBlock*/) { // Close out previous segment by jumping, if necessary, to next segment if (! buildPoint->isTerminated()) - addSwitchBreak(); + addSwitchBreak(true); switchMerges.top()->getParent().addBlock(switchMerges.top()); setBuildPoint(switchMerges.top()); @@ -3791,14 +3795,14 @@ Builder::LoopBlocks& Builder::makeNewLoop() void Builder::createLoopContinue() { - createBranch(&loops.top().continue_target); + createBranch(false, &loops.top().continue_target); // Set up a block for dead code. createAndSetNoPredecessorBlock("post-loop-continue"); } void Builder::createLoopExit() { - createBranch(&loops.top().merge); + createBranch(false, &loops.top().merge); // Set up a block for dead code. createAndSetNoPredecessorBlock("post-loop-break"); } @@ -4240,11 +4244,16 @@ void Builder::createAndSetNoPredecessorBlock(const char* /*name*/) } // Comments in header -void Builder::createBranch(Block* block) +void Builder::createBranch(bool implicit, Block* block) { Instruction* branch = new Instruction(OpBranch); branch->addIdOperand(block->getId()); - addInstruction(std::unique_ptr(branch)); + if (implicit) { + addInstructionNoDebugInfo(std::unique_ptr(branch)); + } + else { + addInstruction(std::unique_ptr(branch)); + } block->addPredecessor(buildPoint); } @@ -4277,7 +4286,10 @@ void Builder::createConditionalBranch(Id condition, Block* thenBlock, Block* els branch->addIdOperand(condition); branch->addIdOperand(thenBlock->getId()); branch->addIdOperand(elseBlock->getId()); - addInstruction(std::unique_ptr(branch)); + + // A conditional branch is always attached to a condition expression + addInstructionNoDebugInfo(std::unique_ptr(branch)); + thenBlock->addPredecessor(buildPoint); elseBlock->addPredecessor(buildPoint); } diff --git a/SPIRV/SpvBuilder.h b/SPIRV/SpvBuilder.h index d688436a6..61b6aa57e 100644 --- a/SPIRV/SpvBuilder.h +++ b/SPIRV/SpvBuilder.h @@ -108,7 +108,7 @@ public: spv::Id getMainFileId() const { return mainFileId; } // Initialize the main source file name - void setDebugSourceFile(const std::string& file) + void setDebugMainSourceFile(const std::string& file) { if (trackDebugInfo) { dirtyLineTracker = true; @@ -420,8 +420,7 @@ public: // Also reset current last DebugScope and current source line to unknown void setBuildPoint(Block* bp) { buildPoint = bp; - // TODO: Technically, change of build point should set line tracker dirty. But we'll have bad line info for - // branch instructions. Commenting this for now because at least this matches the old behavior. + dirtyLineTracker = true; dirtyScopeTracker = true; } Block* getBuildPoint() const { return buildPoint; } @@ -430,6 +429,11 @@ public: // Optionally, additional debug info instructions may also be prepended. void addInstruction(std::unique_ptr inst); + // Append an instruction to the end of the current build point without prepending any debug instructions. + // This is useful for insertion of some debug info instructions themselves or some control flow instructions + // that are attached to its predecessor instruction. + void addInstructionNoDebugInfo(std::unique_ptr inst); + // Make the entry-point function. The returned pointer is only valid // for the lifetime of this builder. Function* makeEntryPoint(const char*); @@ -643,7 +647,7 @@ public: const std::vector& valueToSegment, int defaultSegment, std::vector& segmentBB); // Add a branch to the innermost switch's merge block. - void addSwitchBreak(); + void addSwitchBreak(bool implicit); // Move to the next code segment, passing in the return argument in makeSwitch() void nextSwitchSegment(std::vector& segmentBB, int segment); @@ -865,7 +869,9 @@ public: void dump(std::vector&) const; - void createBranch(Block* block); + // Add a branch to the target block. + // If set implicit, the branch instruction shouldn't have debug source location. + void createBranch(bool implicit, Block* block); void createConditionalBranch(Id condition, Block* thenBlock, Block* elseBlock); void createLoopMerge(Block* mergeBlock, Block* continueBlock, unsigned int control, const std::vector& operands); diff --git a/Test/baseResults/hlsl.round.dx9.frag.out b/Test/baseResults/hlsl.round.dx9.frag.out index d4ff02a2c..5f539bb8c 100644 --- a/Test/baseResults/hlsl.round.dx9.frag.out +++ b/Test/baseResults/hlsl.round.dx9.frag.out @@ -58,6 +58,7 @@ gl_FragCoord origin is upper left 10: TypeFunction 8(fvec4) 9(ptr) 5(main): 3 Function None 4 6: Label + Line 1 3 0 Return FunctionEnd Line 1 2 1 diff --git a/Test/baseResults/spv.debugInfo.1.1.frag.out b/Test/baseResults/spv.debugInfo.1.1.frag.out index 77fae6118..30543d665 100644 --- a/Test/baseResults/spv.debugInfo.1.1.frag.out +++ b/Test/baseResults/spv.debugInfo.1.1.frag.out @@ -296,6 +296,7 @@ void main() Store 179 186 Branch 181 181: Label + Line 1 83 0 Return FunctionEnd Line 1 16 13 @@ -411,6 +412,7 @@ void main() Store 90 96 Branch 92 92: Label + Line 1 53 0 97: 10(float) Load 90 Line 1 51 0 98: 10(float) Load 56(result) diff --git a/Test/baseResults/spv.debugInfo.frag.out b/Test/baseResults/spv.debugInfo.frag.out index 2595211f1..05621a662 100644 --- a/Test/baseResults/spv.debugInfo.frag.out +++ b/Test/baseResults/spv.debugInfo.frag.out @@ -297,6 +297,7 @@ void main() Store 179 186 Branch 181 181: Label + Line 1 83 0 Return FunctionEnd Line 1 16 13 @@ -412,6 +413,7 @@ void main() Store 90 96 Branch 92 92: Label + Line 1 53 0 97: 10(float) Load 90 Line 1 51 0 98: 10(float) Load 56(result) diff --git a/Test/baseResults/spv.debuginfo.bufferref.glsl.frag.out b/Test/baseResults/spv.debuginfo.bufferref.glsl.frag.out index 8dc692052..a117fd79f 100644 --- a/Test/baseResults/spv.debuginfo.bufferref.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.bufferref.glsl.frag.out @@ -1,7 +1,7 @@ spv.debuginfo.bufferref.glsl.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 146 +// Id's are bound by 148 Capability Shader Capability PhysicalStorageBufferAddressesEXT @@ -177,6 +177,7 @@ void main() { 138: 7(int) Constant 27 136: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 137 132 18 138 12 21 137 135(out_fragColor) 67 141: 39(float) Constant 1065353216 + 147: 7(int) Constant 28 14(main): 4 Function None 5 15: Label 53(meshData): 50(ptr) Variable Function @@ -226,5 +227,6 @@ void main() { 144: 39(float) CompositeExtract 139 2 145: 131(fvec4) CompositeConstruct 142 143 144 141 Store 135(out_fragColor) 145 + 146: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 147 147 12 12 Return FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.const_params.glsl.comp.out b/Test/baseResults/spv.debuginfo.const_params.glsl.comp.out index 5676d1c82..c36a72de2 100644 --- a/Test/baseResults/spv.debuginfo.const_params.glsl.comp.out +++ b/Test/baseResults/spv.debuginfo.const_params.glsl.comp.out @@ -1,7 +1,7 @@ spv.debuginfo.const_params.glsl.comp // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 71 +// Id's are bound by 73 Capability Shader Extension "SPV_KHR_non_semantic_info" @@ -85,6 +85,7 @@ void main() 66: 22(fvec3) ConstantComposite 64 64 64 67: 24(fvec4) ConstantComposite 64 64 64 64 70: 7(int) Constant 13 + 72: 7(int) Constant 14 14(main): 4 Function None 5 15: Label 62: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 58 @@ -92,6 +93,7 @@ void main() 61: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 58 14(main) 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 37 70 70 12 12 68: 4 FunctionCall 33(function(f1;vf2;vf3;vf4;) 64 65 66 67 + 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 37 72 72 12 12 Return FunctionEnd 33(function(f1;vf2;vf3;vf4;): 4 Function None 27 diff --git a/Test/baseResults/spv.debuginfo.glsl.comp.out b/Test/baseResults/spv.debuginfo.glsl.comp.out index 177054cad..af0433044 100644 --- a/Test/baseResults/spv.debuginfo.glsl.comp.out +++ b/Test/baseResults/spv.debuginfo.glsl.comp.out @@ -1,14 +1,14 @@ spv.debuginfo.glsl.comp // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 975 +// Id's are bound by 979 Capability Shader Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 14 "main" 133 + EntryPoint GLCompute 14 "main" 135 ExecutionMode 14 LocalSize 10 10 1 2: String "spv.debuginfo.glsl.comp" 8: String "uint" @@ -210,29 +210,29 @@ void main() 95: String "particleCount" 98: String "UBO" 103: String "params" - 127: String "id" - 135: String "gl_GlobalInvocationID" - 141: String "index" - 167: String "bool" - 179: String "normal" - 185: String "pinned" - 187: String "Particle" - 193: String "particleIn" - 197: String "ParticleIn" - 202: String "" - 218: String "particleOut" - 221: String "ParticleOut" + 129: String "id" + 137: String "gl_GlobalInvocationID" + 143: String "index" + 169: String "bool" + 180: String "normal" + 186: String "pinned" + 188: String "Particle" + 194: String "particleIn" + 198: String "ParticleIn" + 203: String "" + 219: String "particleOut" + 222: String "ParticleOut" 249: String "force" 263: String "pos" 273: String "vel" - 577: String "f" - 626: String "sphereDist" - 677: String "calculateNormals" - 680: String "PushConsts" - 687: String "pushConsts" - 721: String "a" - 735: String "b" - 752: String "c" + 581: String "f" + 630: String "sphereDist" + 681: String "calculateNormals" + 684: String "PushConsts" + 691: String "pushConsts" + 725: String "a" + 739: String "b" + 756: String "c" Name 14 "main" Name 31 "springForce(vf3;vf3;f1;" Name 28 "p0" @@ -252,21 +252,21 @@ void main() MemberName 78(UBO) 9 "gravity" MemberName 78(UBO) 10 "particleCount" Name 101 "params" - Name 125 "id" - Name 133 "gl_GlobalInvocationID" - Name 139 "index" - Name 177 "Particle" - MemberName 177(Particle) 0 "pos" - MemberName 177(Particle) 1 "vel" - MemberName 177(Particle) 2 "uv" - MemberName 177(Particle) 3 "normal" - MemberName 177(Particle) 4 "pinned" - Name 191 "ParticleIn" - MemberName 191(ParticleIn) 0 "particleIn" - Name 200 "" - Name 216 "ParticleOut" - MemberName 216(ParticleOut) 0 "particleOut" - Name 225 "" + Name 127 "id" + Name 135 "gl_GlobalInvocationID" + Name 141 "index" + Name 178 "Particle" + MemberName 178(Particle) 0 "pos" + MemberName 178(Particle) 1 "vel" + MemberName 178(Particle) 2 "uv" + MemberName 178(Particle) 3 "normal" + MemberName 178(Particle) 4 "pinned" + Name 192 "ParticleIn" + MemberName 192(ParticleIn) 0 "particleIn" + Name 201 "" + Name 217 "ParticleOut" + MemberName 217(ParticleOut) 0 "particleOut" + Name 226 "" Name 247 "force" Name 261 "pos" Name 271 "vel" @@ -282,27 +282,27 @@ void main() Name 383 "param" Name 387 "param" Name 389 "param" - Name 425 "param" - Name 429 "param" + Name 427 "param" Name 431 "param" - Name 463 "param" - Name 467 "param" - Name 469 "param" - Name 509 "param" + Name 433 "param" + Name 466 "param" + Name 470 "param" + Name 472 "param" Name 513 "param" - Name 515 "param" - Name 551 "param" - Name 555 "param" - Name 557 "param" - Name 575 "f" - Name 624 "sphereDist" - Name 675 "PushConsts" - MemberName 675(PushConsts) 0 "calculateNormals" - Name 685 "pushConsts" - Name 697 "normal" - Name 719 "a" - Name 733 "b" - Name 750 "c" + Name 517 "param" + Name 519 "param" + Name 556 "param" + Name 560 "param" + Name 562 "param" + Name 579 "f" + Name 628 "sphereDist" + Name 679 "PushConsts" + MemberName 679(PushConsts) 0 "calculateNormals" + Name 689 "pushConsts" + Name 701 "normal" + Name 723 "a" + Name 737 "b" + Name 754 "c" Decorate 78(UBO) Block MemberDecorate 78(UBO) 0 Offset 0 MemberDecorate 78(UBO) 1 Offset 4 @@ -317,25 +317,25 @@ void main() MemberDecorate 78(UBO) 10 Offset 64 Decorate 101(params) Binding 2 Decorate 101(params) DescriptorSet 0 - Decorate 133(gl_GlobalInvocationID) BuiltIn GlobalInvocationId - MemberDecorate 177(Particle) 0 Offset 0 - MemberDecorate 177(Particle) 1 Offset 16 - MemberDecorate 177(Particle) 2 Offset 32 - MemberDecorate 177(Particle) 3 Offset 48 - MemberDecorate 177(Particle) 4 Offset 64 - Decorate 189 ArrayStride 80 - Decorate 191(ParticleIn) BufferBlock - MemberDecorate 191(ParticleIn) 0 Offset 0 - Decorate 200 Binding 0 - Decorate 200 DescriptorSet 0 - Decorate 214 ArrayStride 80 - Decorate 216(ParticleOut) BufferBlock - MemberDecorate 216(ParticleOut) 0 Offset 0 - Decorate 225 Binding 1 - Decorate 225 DescriptorSet 0 - Decorate 675(PushConsts) Block - MemberDecorate 675(PushConsts) 0 Offset 0 - Decorate 974 BuiltIn WorkgroupSize + Decorate 135(gl_GlobalInvocationID) BuiltIn GlobalInvocationId + MemberDecorate 178(Particle) 0 Offset 0 + MemberDecorate 178(Particle) 1 Offset 16 + MemberDecorate 178(Particle) 2 Offset 32 + MemberDecorate 178(Particle) 3 Offset 48 + MemberDecorate 178(Particle) 4 Offset 64 + Decorate 190 ArrayStride 80 + Decorate 192(ParticleIn) BufferBlock + MemberDecorate 192(ParticleIn) 0 Offset 0 + Decorate 201 Binding 0 + Decorate 201 DescriptorSet 0 + Decorate 215 ArrayStride 80 + Decorate 217(ParticleOut) BufferBlock + MemberDecorate 217(ParticleOut) 0 Offset 0 + Decorate 226 Binding 1 + Decorate 226 DescriptorSet 0 + Decorate 679(PushConsts) Block + MemberDecorate 679(PushConsts) 0 Offset 0 + Decorate 978 BuiltIn WorkgroupSize 4: TypeVoid 5: TypeFunction 4 7: TypeInt 32 0 @@ -402,68 +402,69 @@ void main() 104: 73(int) Constant 2 105: TypePointer Uniform 16(float) 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 41 12 - 121: TypeVector 7(int) 3 - 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 9 13 - 123: TypePointer Function 121(ivec3) - 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 122 22 12 - 128: 7(int) Constant 74 - 126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 127 122 35 128 12 55 40 - 131: TypePointer Input 121(ivec3) - 132: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 122 39 12 -133(gl_GlobalInvocationID): 131(ptr) Variable Input - 134: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 135 122 35 128 12 38 135 133(gl_GlobalInvocationID) 82 - 137: TypePointer Function 7(int) - 138: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 9 22 12 - 142: 7(int) Constant 76 - 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 141 9 35 142 12 55 40 - 147: 73(int) Constant 10 - 148: TypePointer Uniform 73(int) - 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 75 41 12 - 159: 7(int) Constant 77 - 166: TypeBool - 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 167 10 41 12 - 174: 7(int) Constant 78 - 177(Particle): TypeStruct 71(fvec4) 71(fvec4) 71(fvec4) 71(fvec4) 16(float) - 180: 7(int) Constant 31 - 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 179 72 35 180 22 12 12 13 - 181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 179 72 35 180 22 12 12 13 - 182: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 179 72 35 180 22 12 12 13 - 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 179 72 35 180 22 12 12 13 - 184: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 185 18 35 10 82 12 12 13 - 188: 7(int) Constant 81 - 186: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 187 39 35 188 12 38 187 12 13 178 181 182 183 184 - 189: TypeRuntimeArray 177(Particle) - 190: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 186 12 - 191(ParticleIn): TypeStruct 189 - 194: 7(int) Constant 36 - 195: 7(int) Constant 11 - 192: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 193 190 35 194 195 12 12 13 - 196: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 197 39 35 188 12 38 197 12 13 192 - 198: TypePointer Uniform 191(ParticleIn) - 199: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 196 41 12 - 200: 198(ptr) Variable Uniform - 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 202 196 35 188 12 38 202 200 82 - 203: 73(int) Constant 0 - 207: 73(int) Constant 4 - 210: 16(float) Constant 1065353216 - 214: TypeRuntimeArray 177(Particle) - 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 186 12 -216(ParticleOut): TypeStruct 214 - 219: 7(int) Constant 40 - 217: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 218 215 35 219 195 12 12 13 - 222: 7(int) Constant 82 - 220: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 221 39 35 222 12 38 221 12 13 217 - 223: TypePointer Uniform 216(ParticleOut) - 224: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 220 41 12 - 225: 223(ptr) Variable Uniform - 226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 202 220 35 222 12 38 202 225 82 - 231: TypePointer Uniform 71(fvec4) - 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 72 41 12 - 238: 7(int) Constant 83 - 239: 73(int) Constant 1 - 240: 16(float) Constant 0 - 241: 71(fvec4) ConstantComposite 240 240 240 240 - 244: 7(int) Constant 84 + 119: 7(int) Constant 70 + 123: TypeVector 7(int) 3 + 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 9 13 + 125: TypePointer Function 123(ivec3) + 126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 124 22 12 + 130: 7(int) Constant 74 + 128: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 129 124 35 130 12 55 40 + 133: TypePointer Input 123(ivec3) + 134: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 124 39 12 +135(gl_GlobalInvocationID): 133(ptr) Variable Input + 136: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 137 124 35 130 12 38 137 135(gl_GlobalInvocationID) 82 + 139: TypePointer Function 7(int) + 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 9 22 12 + 144: 7(int) Constant 76 + 142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 143 9 35 144 12 55 40 + 149: 73(int) Constant 10 + 150: TypePointer Uniform 73(int) + 151: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 75 41 12 + 161: 7(int) Constant 77 + 168: TypeBool + 170: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 169 10 41 12 + 176: 7(int) Constant 78 + 178(Particle): TypeStruct 71(fvec4) 71(fvec4) 71(fvec4) 71(fvec4) 16(float) + 181: 7(int) Constant 31 + 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 180 72 35 181 22 12 12 13 + 182: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 180 72 35 181 22 12 12 13 + 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 180 72 35 181 22 12 12 13 + 184: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 180 72 35 181 22 12 12 13 + 185: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 186 18 35 10 82 12 12 13 + 189: 7(int) Constant 81 + 187: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 188 39 35 189 12 38 188 12 13 179 182 183 184 185 + 190: TypeRuntimeArray 178(Particle) + 191: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 187 12 + 192(ParticleIn): TypeStruct 190 + 195: 7(int) Constant 36 + 196: 7(int) Constant 11 + 193: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 194 191 35 195 196 12 12 13 + 197: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 198 39 35 189 12 38 198 12 13 193 + 199: TypePointer Uniform 192(ParticleIn) + 200: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 197 41 12 + 201: 199(ptr) Variable Uniform + 202: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 203 197 35 189 12 38 203 201 82 + 204: 73(int) Constant 0 + 208: 73(int) Constant 4 + 211: 16(float) Constant 1065353216 + 215: TypeRuntimeArray 178(Particle) + 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 187 12 +217(ParticleOut): TypeStruct 215 + 220: 7(int) Constant 40 + 218: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 219 216 35 220 196 12 12 13 + 223: 7(int) Constant 82 + 221: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 222 39 35 223 12 38 222 12 13 218 + 224: TypePointer Uniform 217(ParticleOut) + 225: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 221 41 12 + 226: 224(ptr) Variable Uniform + 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 203 221 35 223 12 38 203 226 82 + 232: TypePointer Uniform 71(fvec4) + 233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 72 41 12 + 239: 7(int) Constant 83 + 240: 73(int) Constant 1 + 241: 16(float) Constant 0 + 242: 71(fvec4) ConstantComposite 241 241 241 241 + 245: 7(int) Constant 84 250: 7(int) Constant 88 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 249 20 35 250 12 55 40 254: 73(int) Constant 9 @@ -481,76 +482,77 @@ void main() 370: 7(int) Constant 107 378: 7(int) Constant 108 398: 7(int) Constant 111 - 418: 7(int) Constant 112 - 424: 73(int) Constant 6 - 441: 7(int) Constant 115 - 457: 7(int) Constant 116 - 479: 7(int) Constant 119 - 503: 7(int) Constant 120 - 525: 7(int) Constant 123 - 545: 7(int) Constant 124 - 564: 73(int) Constant 3 - 568: 7(int) Constant 127 - 578: 7(int) Constant 130 - 576: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 577 20 35 578 12 55 40 - 588: 7(int) Constant 131 - 595: 16(float) Constant 1056964608 - 612: 7(int) Constant 132 - 627: 7(int) Constant 135 - 625: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 626 20 35 627 12 55 40 - 634: 73(int) Constant 8 - 641: 7(int) Constant 136 - 643: 73(int) Constant 7 - 646: 16(float) Constant 1008981770 - 654: 7(int) Constant 138 - 673: 7(int) Constant 140 - 675(PushConsts): TypeStruct 7(int) - 678: 7(int) Constant 63 - 676: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 677 9 35 678 22 12 12 13 - 681: 7(int) Constant 144 - 679: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 680 39 35 681 12 38 680 12 13 676 - 682: TypePointer PushConstant 675(PushConsts) - 683: 7(int) Constant 9 - 684: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 679 683 12 - 685(pushConsts): 682(ptr) Variable PushConstant - 686: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 687 679 35 681 12 38 687 685(pushConsts) 82 - 688: TypePointer PushConstant 7(int) - 689: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 9 683 12 - 699: 7(int) Constant 145 - 698: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 179 20 35 699 12 55 40 - 703: 19(fvec3) ConstantComposite 240 240 240 - 706: 7(int) Constant 147 - 714: 7(int) Constant 148 - 722: 7(int) Constant 149 - 720: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 721 20 35 722 12 55 40 - 736: 7(int) Constant 150 - 734: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 735 20 35 736 12 55 40 - 753: 7(int) Constant 151 - 751: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 752 20 35 753 12 55 40 - 768: 7(int) Constant 152 - 780: 7(int) Constant 154 - 792: 7(int) Constant 155 - 804: 7(int) Constant 156 - 817: 7(int) Constant 157 - 826: 7(int) Constant 158 - 839: 7(int) Constant 161 - 851: 7(int) Constant 162 - 859: 7(int) Constant 163 - 871: 7(int) Constant 164 - 884: 7(int) Constant 165 - 893: 7(int) Constant 166 - 905: 7(int) Constant 168 - 917: 7(int) Constant 169 - 926: 7(int) Constant 170 - 939: 7(int) Constant 171 - 951: 7(int) Constant 172 - 964: 7(int) Constant 175 - 973: 7(int) Constant 10 - 974: 121(ivec3) ConstantComposite 973 973 39 + 420: 7(int) Constant 112 + 426: 73(int) Constant 6 + 442: 7(int) Constant 115 + 460: 7(int) Constant 116 + 481: 7(int) Constant 119 + 507: 7(int) Constant 120 + 528: 7(int) Constant 123 + 550: 7(int) Constant 124 + 568: 73(int) Constant 3 + 572: 7(int) Constant 127 + 582: 7(int) Constant 130 + 580: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 581 20 35 582 12 55 40 + 592: 7(int) Constant 131 + 599: 16(float) Constant 1056964608 + 616: 7(int) Constant 132 + 631: 7(int) Constant 135 + 629: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 630 20 35 631 12 55 40 + 638: 73(int) Constant 8 + 645: 7(int) Constant 136 + 647: 73(int) Constant 7 + 650: 16(float) Constant 1008981770 + 658: 7(int) Constant 138 + 677: 7(int) Constant 140 + 679(PushConsts): TypeStruct 7(int) + 682: 7(int) Constant 63 + 680: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 681 9 35 682 22 12 12 13 + 685: 7(int) Constant 144 + 683: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 684 39 35 685 12 38 684 12 13 680 + 686: TypePointer PushConstant 679(PushConsts) + 687: 7(int) Constant 9 + 688: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 683 687 12 + 689(pushConsts): 686(ptr) Variable PushConstant + 690: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 691 683 35 685 12 38 691 689(pushConsts) 82 + 692: TypePointer PushConstant 7(int) + 693: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 9 687 12 + 703: 7(int) Constant 145 + 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 180 20 35 703 12 55 40 + 707: 19(fvec3) ConstantComposite 241 241 241 + 710: 7(int) Constant 147 + 718: 7(int) Constant 148 + 726: 7(int) Constant 149 + 724: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 725 20 35 726 12 55 40 + 740: 7(int) Constant 150 + 738: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 739 20 35 740 12 55 40 + 757: 7(int) Constant 151 + 755: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 756 20 35 757 12 55 40 + 772: 7(int) Constant 152 + 784: 7(int) Constant 154 + 796: 7(int) Constant 155 + 808: 7(int) Constant 156 + 821: 7(int) Constant 157 + 830: 7(int) Constant 158 + 842: 7(int) Constant 161 + 854: 7(int) Constant 162 + 862: 7(int) Constant 163 + 874: 7(int) Constant 164 + 887: 7(int) Constant 165 + 896: 7(int) Constant 166 + 908: 7(int) Constant 168 + 920: 7(int) Constant 169 + 929: 7(int) Constant 170 + 942: 7(int) Constant 171 + 954: 7(int) Constant 172 + 966: 7(int) Constant 175 + 976: 7(int) Constant 177 + 977: 7(int) Constant 10 + 978: 123(ivec3) ConstantComposite 977 977 39 14(main): 4 Function None 5 15: Label - 125(id): 123(ptr) Variable Function - 139(index): 137(ptr) Variable Function + 127(id): 125(ptr) Variable Function + 141(index): 139(ptr) Variable Function 247(force): 21(ptr) Variable Function 261(pos): 21(ptr) Variable Function 271(vel): 21(ptr) Variable Function @@ -566,125 +568,125 @@ void main() 383(param): 21(ptr) Variable Function 387(param): 21(ptr) Variable Function 389(param): 24(ptr) Variable Function - 425(param): 21(ptr) Variable Function - 429(param): 21(ptr) Variable Function - 431(param): 24(ptr) Variable Function - 463(param): 21(ptr) Variable Function - 467(param): 21(ptr) Variable Function - 469(param): 24(ptr) Variable Function - 509(param): 21(ptr) Variable Function + 427(param): 21(ptr) Variable Function + 431(param): 21(ptr) Variable Function + 433(param): 24(ptr) Variable Function + 466(param): 21(ptr) Variable Function + 470(param): 21(ptr) Variable Function + 472(param): 24(ptr) Variable Function 513(param): 21(ptr) Variable Function - 515(param): 24(ptr) Variable Function - 551(param): 21(ptr) Variable Function - 555(param): 21(ptr) Variable Function - 557(param): 24(ptr) Variable Function - 575(f): 21(ptr) Variable Function - 624(sphereDist): 21(ptr) Variable Function - 697(normal): 21(ptr) Variable Function - 719(a): 21(ptr) Variable Function - 733(b): 21(ptr) Variable Function - 750(c): 21(ptr) Variable Function - 119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 56 56 12 12 - 118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 55 14(main) - 130: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 128 128 12 12 - 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 126 125(id) 45 - 136: 121(ivec3) Load 133(gl_GlobalInvocationID) - Store 125(id) 136 - 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 142 142 12 12 - 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 140 139(index) 45 - 145: 137(ptr) AccessChain 125(id) 39 - 146: 7(int) Load 145 - 150: 148(ptr) AccessChain 101(params) 147 12 - 151: 73(int) Load 150 - 152: 7(int) Bitcast 151 - 153: 7(int) IMul 146 152 - 154: 137(ptr) AccessChain 125(id) 12 - 155: 7(int) Load 154 - 156: 7(int) IAdd 153 155 - Store 139(index) 156 - 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 159 159 12 12 - 157: 7(int) Load 139(index) - 160: 148(ptr) AccessChain 101(params) 147 12 - 161: 73(int) Load 160 - 162: 148(ptr) AccessChain 101(params) 147 39 + 517(param): 21(ptr) Variable Function + 519(param): 24(ptr) Variable Function + 556(param): 21(ptr) Variable Function + 560(param): 21(ptr) Variable Function + 562(param): 24(ptr) Variable Function + 579(f): 21(ptr) Variable Function + 628(sphereDist): 21(ptr) Variable Function + 701(normal): 21(ptr) Variable Function + 723(a): 21(ptr) Variable Function + 737(b): 21(ptr) Variable Function + 754(c): 21(ptr) Variable Function + 121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 56 56 12 12 + 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 55 14(main) + 132: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 130 130 12 12 + 131: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 128 127(id) 45 + 138: 123(ivec3) Load 135(gl_GlobalInvocationID) + Store 127(id) 138 + 146: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 144 144 12 12 + 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 142 141(index) 45 + 147: 139(ptr) AccessChain 127(id) 39 + 148: 7(int) Load 147 + 152: 150(ptr) AccessChain 101(params) 149 12 + 153: 73(int) Load 152 + 154: 7(int) Bitcast 153 + 155: 7(int) IMul 148 154 + 156: 139(ptr) AccessChain 127(id) 12 + 157: 7(int) Load 156 + 158: 7(int) IAdd 155 157 + Store 141(index) 158 + 160: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 161 161 12 12 + 159: 7(int) Load 141(index) + 162: 150(ptr) AccessChain 101(params) 149 12 163: 73(int) Load 162 - 164: 73(int) IMul 161 163 - 165: 7(int) Bitcast 164 - 169: 166(bool) UGreaterThan 157 165 - SelectionMerge 171 None - BranchConditional 169 170 171 - 170: Label - 172: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 174 174 12 12 + 164: 150(ptr) AccessChain 101(params) 149 39 + 165: 73(int) Load 164 + 166: 73(int) IMul 163 165 + 167: 7(int) Bitcast 166 + 171: 168(bool) UGreaterThan 159 167 + SelectionMerge 173 None + BranchConditional 171 172 173 + 172: Label + 174: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 175: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 176 176 12 12 Return - 171: Label - 205: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 188 188 12 12 - 204: 7(int) Load 139(index) - 208: 105(ptr) AccessChain 200 203 204 207 - 209: 16(float) Load 208 - 211: 166(bool) FOrdEqual 209 210 - SelectionMerge 213 None - BranchConditional 211 212 213 - 212: Label - 228: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 222 222 12 12 - 227: 7(int) Load 139(index) - 230: 7(int) Load 139(index) - 233: 231(ptr) AccessChain 225 203 230 203 - 234: 71(fvec4) Load 233 - 235: 231(ptr) AccessChain 225 203 227 203 - Store 235 234 - 237: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 238 238 12 12 - 236: 7(int) Load 139(index) - 242: 231(ptr) AccessChain 225 203 236 239 - Store 242 241 - 243: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 244 244 12 12 + 173: Label + 206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 207: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 189 189 12 12 + 205: 7(int) Load 141(index) + 209: 105(ptr) AccessChain 201 204 205 208 + 210: 16(float) Load 209 + 212: 168(bool) FOrdEqual 210 211 + SelectionMerge 214 None + BranchConditional 212 213 214 + 213: Label + 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 230: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 223 223 12 12 + 228: 7(int) Load 141(index) + 231: 7(int) Load 141(index) + 234: 232(ptr) AccessChain 226 204 231 204 + 235: 71(fvec4) Load 234 + 236: 232(ptr) AccessChain 226 204 228 204 + Store 236 235 + 238: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 239 239 12 12 + 237: 7(int) Load 141(index) + 243: 232(ptr) AccessChain 226 204 237 240 + Store 243 242 + 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 245 245 12 12 Return - 213: Label + 214: Label 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 253: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 250 250 12 12 251: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 248 247(force) 45 - 255: 231(ptr) AccessChain 101(params) 254 + 255: 232(ptr) AccessChain 101(params) 254 256: 71(fvec4) Load 255 257: 19(fvec3) VectorShuffle 256 256 0 1 2 - 258: 105(ptr) AccessChain 101(params) 239 + 258: 105(ptr) AccessChain 101(params) 240 259: 16(float) Load 258 260: 19(fvec3) VectorTimesScalar 257 259 Store 247(force) 260 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 264 264 12 12 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 262 261(pos) 45 - 267: 7(int) Load 139(index) - 268: 231(ptr) AccessChain 200 203 267 203 + 267: 7(int) Load 141(index) + 268: 232(ptr) AccessChain 201 204 267 204 269: 71(fvec4) Load 268 270: 19(fvec3) VectorShuffle 269 269 0 1 2 Store 261(pos) 270 276: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 274 274 12 12 275: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 272 271(vel) 45 - 277: 7(int) Load 139(index) - 278: 231(ptr) AccessChain 200 203 277 239 + 277: 7(int) Load 141(index) + 278: 232(ptr) AccessChain 201 204 277 240 279: 71(fvec4) Load 278 280: 19(fvec3) VectorShuffle 279 279 0 1 2 Store 271(vel) 280 282: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 283 283 12 12 - 281: 137(ptr) AccessChain 125(id) 12 + 281: 139(ptr) AccessChain 127(id) 12 284: 7(int) Load 281 - 285: 166(bool) UGreaterThan 284 12 + 285: 168(bool) UGreaterThan 284 12 SelectionMerge 287 None BranchConditional 285 286 287 286: Label 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 291 291 12 12 - 288: 7(int) Load 139(index) + 288: 7(int) Load 141(index) 292: 7(int) ISub 288 39 - 294: 231(ptr) AccessChain 200 203 292 203 + 294: 232(ptr) AccessChain 201 204 292 204 295: 71(fvec4) Load 294 296: 19(fvec3) VectorShuffle 295 295 0 1 2 Store 293(param) 296 298: 19(fvec3) Load 261(pos) Store 297(param) 298 - 300: 105(ptr) AccessChain 101(params) 207 + 300: 105(ptr) AccessChain 101(params) 208 301: 16(float) Load 300 Store 299(param) 301 302: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 293(param) 297(param) 299(param) @@ -695,27 +697,27 @@ void main() 287: Label 306: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 308 308 12 12 - 305: 137(ptr) AccessChain 125(id) 12 + 305: 139(ptr) AccessChain 127(id) 12 309: 7(int) Load 305 - 310: 148(ptr) AccessChain 101(params) 147 12 + 310: 150(ptr) AccessChain 101(params) 149 12 311: 73(int) Load 310 - 312: 73(int) ISub 311 239 + 312: 73(int) ISub 311 240 313: 7(int) Bitcast 312 - 314: 166(bool) ULessThan 309 313 + 314: 168(bool) ULessThan 309 313 SelectionMerge 316 None BranchConditional 314 315 316 315: Label 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 320 320 12 12 - 317: 7(int) Load 139(index) + 317: 7(int) Load 141(index) 321: 7(int) IAdd 317 39 - 323: 231(ptr) AccessChain 200 203 321 203 + 323: 232(ptr) AccessChain 201 204 321 204 324: 71(fvec4) Load 323 325: 19(fvec3) VectorShuffle 324 324 0 1 2 Store 322(param) 325 327: 19(fvec3) Load 261(pos) Store 326(param) 327 - 329: 105(ptr) AccessChain 101(params) 207 + 329: 105(ptr) AccessChain 101(params) 208 330: 16(float) Load 329 Store 328(param) 330 331: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 322(param) 326(param) 328(param) @@ -726,24 +728,24 @@ void main() 316: Label 335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 336: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 337 337 12 12 - 334: 137(ptr) AccessChain 125(id) 39 + 334: 139(ptr) AccessChain 127(id) 39 338: 7(int) Load 334 - 339: 148(ptr) AccessChain 101(params) 147 39 + 339: 150(ptr) AccessChain 101(params) 149 39 340: 73(int) Load 339 - 341: 73(int) ISub 340 239 + 341: 73(int) ISub 340 240 342: 7(int) Bitcast 341 - 343: 166(bool) ULessThan 338 342 + 343: 168(bool) ULessThan 338 342 SelectionMerge 345 None BranchConditional 343 344 345 344: Label 347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 349 349 12 12 - 346: 7(int) Load 139(index) - 350: 148(ptr) AccessChain 101(params) 147 12 + 346: 7(int) Load 141(index) + 350: 150(ptr) AccessChain 101(params) 149 12 351: 73(int) Load 350 352: 7(int) Bitcast 351 353: 7(int) IAdd 346 352 - 356: 231(ptr) AccessChain 200 203 353 203 + 356: 232(ptr) AccessChain 201 204 353 204 357: 71(fvec4) Load 356 358: 19(fvec3) VectorShuffle 357 357 0 1 2 Store 355(param) 358 @@ -760,20 +762,20 @@ void main() 345: Label 368: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 369: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 370 370 12 12 - 367: 137(ptr) AccessChain 125(id) 39 + 367: 139(ptr) AccessChain 127(id) 39 371: 7(int) Load 367 - 372: 166(bool) UGreaterThan 371 12 + 372: 168(bool) UGreaterThan 371 12 SelectionMerge 374 None BranchConditional 372 373 374 373: Label 376: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 377: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 378 378 12 12 - 375: 7(int) Load 139(index) - 379: 148(ptr) AccessChain 101(params) 147 12 + 375: 7(int) Load 141(index) + 379: 150(ptr) AccessChain 101(params) 149 12 380: 73(int) Load 379 381: 7(int) Bitcast 380 382: 7(int) ISub 375 381 - 384: 231(ptr) AccessChain 200 203 382 203 + 384: 232(ptr) AccessChain 201 204 382 204 385: 71(fvec4) Load 384 386: 19(fvec3) VectorShuffle 385 385 0 1 2 Store 383(param) 386 @@ -790,582 +792,585 @@ void main() 374: Label 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 397: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 398 398 12 12 - 395: 137(ptr) AccessChain 125(id) 12 + 395: 139(ptr) AccessChain 127(id) 12 399: 7(int) Load 395 - 400: 166(bool) UGreaterThan 399 12 + 400: 168(bool) UGreaterThan 399 12 SelectionMerge 402 None BranchConditional 400 401 402 401: Label 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 405: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 398 398 12 12 - 403: 137(ptr) AccessChain 125(id) 39 + 403: 139(ptr) AccessChain 127(id) 39 406: 7(int) Load 403 - 407: 148(ptr) AccessChain 101(params) 147 39 + 407: 150(ptr) AccessChain 101(params) 149 39 408: 73(int) Load 407 - 409: 73(int) ISub 408 239 + 409: 73(int) ISub 408 240 410: 7(int) Bitcast 409 - 411: 166(bool) ULessThan 406 410 + 411: 168(bool) ULessThan 406 410 Branch 402 402: Label - 412: 166(bool) Phi 400 374 411 401 - 437: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 412: 168(bool) Phi 400 374 411 401 + 415: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 416: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 398 398 12 12 SelectionMerge 414 None BranchConditional 412 413 414 413: Label - 416: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 418 418 12 12 - 415: 7(int) Load 139(index) - 419: 148(ptr) AccessChain 101(params) 147 12 - 420: 73(int) Load 419 - 421: 7(int) Bitcast 420 - 422: 7(int) IAdd 415 421 - 423: 7(int) ISub 422 39 - 426: 231(ptr) AccessChain 200 203 423 203 - 427: 71(fvec4) Load 426 - 428: 19(fvec3) VectorShuffle 427 427 0 1 2 - Store 425(param) 428 - 430: 19(fvec3) Load 261(pos) - Store 429(param) 430 - 432: 105(ptr) AccessChain 101(params) 424 - 433: 16(float) Load 432 - Store 431(param) 433 - 434: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 425(param) 429(param) 431(param) - 435: 19(fvec3) Load 247(force) - 436: 19(fvec3) FAdd 435 434 - Store 247(force) 436 + 418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 420 420 12 12 + 417: 7(int) Load 141(index) + 421: 150(ptr) AccessChain 101(params) 149 12 + 422: 73(int) Load 421 + 423: 7(int) Bitcast 422 + 424: 7(int) IAdd 417 423 + 425: 7(int) ISub 424 39 + 428: 232(ptr) AccessChain 201 204 425 204 + 429: 71(fvec4) Load 428 + 430: 19(fvec3) VectorShuffle 429 429 0 1 2 + Store 427(param) 430 + 432: 19(fvec3) Load 261(pos) + Store 431(param) 432 + 434: 105(ptr) AccessChain 101(params) 426 + 435: 16(float) Load 434 + Store 433(param) 435 + 436: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 427(param) 431(param) 433(param) + 437: 19(fvec3) Load 247(force) + 438: 19(fvec3) FAdd 437 436 + Store 247(force) 438 Branch 414 414: Label - 439: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 440: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 441 441 12 12 - 438: 137(ptr) AccessChain 125(id) 12 - 442: 7(int) Load 438 - 443: 166(bool) UGreaterThan 442 12 - SelectionMerge 445 None - BranchConditional 443 444 445 - 444: Label - 447: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 448: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 441 441 12 12 - 446: 137(ptr) AccessChain 125(id) 39 - 449: 7(int) Load 446 - 450: 166(bool) UGreaterThan 449 12 - Branch 445 - 445: Label - 451: 166(bool) Phi 443 414 450 444 - 475: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - SelectionMerge 453 None - BranchConditional 451 452 453 - 452: Label - 455: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 456: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 457 457 12 12 - 454: 7(int) Load 139(index) - 458: 148(ptr) AccessChain 101(params) 147 12 - 459: 73(int) Load 458 - 460: 7(int) Bitcast 459 - 461: 7(int) ISub 454 460 - 462: 7(int) ISub 461 39 - 464: 231(ptr) AccessChain 200 203 462 203 - 465: 71(fvec4) Load 464 - 466: 19(fvec3) VectorShuffle 465 465 0 1 2 - Store 463(param) 466 - 468: 19(fvec3) Load 261(pos) - Store 467(param) 468 - 470: 105(ptr) AccessChain 101(params) 424 - 471: 16(float) Load 470 - Store 469(param) 471 - 472: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 463(param) 467(param) 469(param) - 473: 19(fvec3) Load 247(force) - 474: 19(fvec3) FAdd 473 472 - Store 247(force) 474 - Branch 453 - 453: Label - 477: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 478: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 479 479 12 12 - 476: 137(ptr) AccessChain 125(id) 12 - 480: 7(int) Load 476 - 481: 148(ptr) AccessChain 101(params) 147 12 - 482: 73(int) Load 481 - 483: 73(int) ISub 482 239 - 484: 7(int) Bitcast 483 - 485: 166(bool) ULessThan 480 484 - SelectionMerge 487 None - BranchConditional 485 486 487 - 486: Label - 489: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 490: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 479 479 12 12 - 488: 137(ptr) AccessChain 125(id) 39 - 491: 7(int) Load 488 - 492: 148(ptr) AccessChain 101(params) 147 39 - 493: 73(int) Load 492 - 494: 73(int) ISub 493 239 - 495: 7(int) Bitcast 494 - 496: 166(bool) ULessThan 491 495 - Branch 487 - 487: Label - 497: 166(bool) Phi 485 453 496 486 - 521: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - SelectionMerge 499 None - BranchConditional 497 498 499 - 498: Label - 501: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 502: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 503 503 12 12 - 500: 7(int) Load 139(index) - 504: 148(ptr) AccessChain 101(params) 147 12 - 505: 73(int) Load 504 - 506: 7(int) Bitcast 505 - 507: 7(int) IAdd 500 506 - 508: 7(int) IAdd 507 39 - 510: 231(ptr) AccessChain 200 203 508 203 - 511: 71(fvec4) Load 510 - 512: 19(fvec3) VectorShuffle 511 511 0 1 2 - Store 509(param) 512 - 514: 19(fvec3) Load 261(pos) - Store 513(param) 514 - 516: 105(ptr) AccessChain 101(params) 424 - 517: 16(float) Load 516 - Store 515(param) 517 - 518: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 509(param) 513(param) 515(param) - 519: 19(fvec3) Load 247(force) - 520: 19(fvec3) FAdd 519 518 - Store 247(force) 520 - Branch 499 - 499: Label - 523: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 524: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 525 525 12 12 - 522: 137(ptr) AccessChain 125(id) 12 - 526: 7(int) Load 522 - 527: 148(ptr) AccessChain 101(params) 147 12 - 528: 73(int) Load 527 - 529: 73(int) ISub 528 239 - 530: 7(int) Bitcast 529 - 531: 166(bool) ULessThan 526 530 - SelectionMerge 533 None - BranchConditional 531 532 533 - 532: Label - 535: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 536: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 525 525 12 12 - 534: 137(ptr) AccessChain 125(id) 39 - 537: 7(int) Load 534 - 538: 166(bool) UGreaterThan 537 12 - Branch 533 - 533: Label - 539: 166(bool) Phi 531 499 538 532 - 563: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - SelectionMerge 541 None - BranchConditional 539 540 541 - 540: Label - 543: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 544: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 545 545 12 12 - 542: 7(int) Load 139(index) - 546: 148(ptr) AccessChain 101(params) 147 12 - 547: 73(int) Load 546 - 548: 7(int) Bitcast 547 - 549: 7(int) ISub 542 548 - 550: 7(int) IAdd 549 39 - 552: 231(ptr) AccessChain 200 203 550 203 - 553: 71(fvec4) Load 552 - 554: 19(fvec3) VectorShuffle 553 553 0 1 2 - Store 551(param) 554 - 556: 19(fvec3) Load 261(pos) - Store 555(param) 556 - 558: 105(ptr) AccessChain 101(params) 424 - 559: 16(float) Load 558 - Store 557(param) 559 - 560: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 551(param) 555(param) 557(param) - 561: 19(fvec3) Load 247(force) - 562: 19(fvec3) FAdd 561 560 - Store 247(force) 562 - Branch 541 - 541: Label - 566: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 567: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 568 568 12 12 - 565: 105(ptr) AccessChain 101(params) 564 - 569: 16(float) Load 565 - 570: 16(float) FNegate 569 - 571: 19(fvec3) Load 271(vel) - 572: 19(fvec3) VectorTimesScalar 571 570 - 573: 19(fvec3) Load 247(force) - 574: 19(fvec3) FAdd 573 572 - Store 247(force) 574 - 580: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 578 578 12 12 - 579: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 576 575(f) 45 - 581: 19(fvec3) Load 247(force) - 582: 105(ptr) AccessChain 101(params) 239 - 583: 16(float) Load 582 - 584: 16(float) FDiv 210 583 - 585: 19(fvec3) VectorTimesScalar 581 584 - Store 575(f) 585 - 587: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 588 588 12 12 - 586: 7(int) Load 139(index) - 589: 19(fvec3) Load 261(pos) - 590: 19(fvec3) Load 271(vel) - 591: 105(ptr) AccessChain 101(params) 203 - 592: 16(float) Load 591 - 593: 19(fvec3) VectorTimesScalar 590 592 - 594: 19(fvec3) FAdd 589 593 - 596: 19(fvec3) Load 575(f) - 597: 19(fvec3) VectorTimesScalar 596 595 - 598: 105(ptr) AccessChain 101(params) 203 - 599: 16(float) Load 598 - 600: 19(fvec3) VectorTimesScalar 597 599 - 601: 105(ptr) AccessChain 101(params) 203 - 602: 16(float) Load 601 - 603: 19(fvec3) VectorTimesScalar 600 602 - 604: 19(fvec3) FAdd 594 603 - 605: 16(float) CompositeExtract 604 0 - 606: 16(float) CompositeExtract 604 1 - 607: 16(float) CompositeExtract 604 2 - 608: 71(fvec4) CompositeConstruct 605 606 607 210 - 609: 231(ptr) AccessChain 225 203 586 203 - Store 609 608 - 611: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 612 612 12 12 - 610: 7(int) Load 139(index) - 613: 19(fvec3) Load 271(vel) - 614: 19(fvec3) Load 575(f) - 615: 105(ptr) AccessChain 101(params) 203 - 616: 16(float) Load 615 - 617: 19(fvec3) VectorTimesScalar 614 616 - 618: 19(fvec3) FAdd 613 617 - 619: 16(float) CompositeExtract 618 0 - 620: 16(float) CompositeExtract 618 1 - 621: 16(float) CompositeExtract 618 2 - 622: 71(fvec4) CompositeConstruct 619 620 621 240 - 623: 231(ptr) AccessChain 225 203 610 239 - Store 623 622 - 629: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 627 627 12 12 - 628: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 625 624(sphereDist) 45 - 630: 7(int) Load 139(index) - 631: 231(ptr) AccessChain 225 203 630 203 - 632: 71(fvec4) Load 631 - 633: 19(fvec3) VectorShuffle 632 632 0 1 2 - 635: 231(ptr) AccessChain 101(params) 634 + 440: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 441: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 442 442 12 12 + 439: 139(ptr) AccessChain 127(id) 12 + 443: 7(int) Load 439 + 444: 168(bool) UGreaterThan 443 12 + SelectionMerge 446 None + BranchConditional 444 445 446 + 445: Label + 448: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 449: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 442 442 12 12 + 447: 139(ptr) AccessChain 127(id) 39 + 450: 7(int) Load 447 + 451: 168(bool) UGreaterThan 450 12 + Branch 446 + 446: Label + 452: 168(bool) Phi 444 414 451 445 + 455: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 456: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 442 442 12 12 + SelectionMerge 454 None + BranchConditional 452 453 454 + 453: Label + 458: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 459: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 460 460 12 12 + 457: 7(int) Load 141(index) + 461: 150(ptr) AccessChain 101(params) 149 12 + 462: 73(int) Load 461 + 463: 7(int) Bitcast 462 + 464: 7(int) ISub 457 463 + 465: 7(int) ISub 464 39 + 467: 232(ptr) AccessChain 201 204 465 204 + 468: 71(fvec4) Load 467 + 469: 19(fvec3) VectorShuffle 468 468 0 1 2 + Store 466(param) 469 + 471: 19(fvec3) Load 261(pos) + Store 470(param) 471 + 473: 105(ptr) AccessChain 101(params) 426 + 474: 16(float) Load 473 + Store 472(param) 474 + 475: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 466(param) 470(param) 472(param) + 476: 19(fvec3) Load 247(force) + 477: 19(fvec3) FAdd 476 475 + Store 247(force) 477 + Branch 454 + 454: Label + 479: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 480: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 481 481 12 12 + 478: 139(ptr) AccessChain 127(id) 12 + 482: 7(int) Load 478 + 483: 150(ptr) AccessChain 101(params) 149 12 + 484: 73(int) Load 483 + 485: 73(int) ISub 484 240 + 486: 7(int) Bitcast 485 + 487: 168(bool) ULessThan 482 486 + SelectionMerge 489 None + BranchConditional 487 488 489 + 488: Label + 491: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 481 481 12 12 + 490: 139(ptr) AccessChain 127(id) 39 + 493: 7(int) Load 490 + 494: 150(ptr) AccessChain 101(params) 149 39 + 495: 73(int) Load 494 + 496: 73(int) ISub 495 240 + 497: 7(int) Bitcast 496 + 498: 168(bool) ULessThan 493 497 + Branch 489 + 489: Label + 499: 168(bool) Phi 487 454 498 488 + 502: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 503: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 481 481 12 12 + SelectionMerge 501 None + BranchConditional 499 500 501 + 500: Label + 505: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 507 507 12 12 + 504: 7(int) Load 141(index) + 508: 150(ptr) AccessChain 101(params) 149 12 + 509: 73(int) Load 508 + 510: 7(int) Bitcast 509 + 511: 7(int) IAdd 504 510 + 512: 7(int) IAdd 511 39 + 514: 232(ptr) AccessChain 201 204 512 204 + 515: 71(fvec4) Load 514 + 516: 19(fvec3) VectorShuffle 515 515 0 1 2 + Store 513(param) 516 + 518: 19(fvec3) Load 261(pos) + Store 517(param) 518 + 520: 105(ptr) AccessChain 101(params) 426 + 521: 16(float) Load 520 + Store 519(param) 521 + 522: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 513(param) 517(param) 519(param) + 523: 19(fvec3) Load 247(force) + 524: 19(fvec3) FAdd 523 522 + Store 247(force) 524 + Branch 501 + 501: Label + 526: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 527: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 528 528 12 12 + 525: 139(ptr) AccessChain 127(id) 12 + 529: 7(int) Load 525 + 530: 150(ptr) AccessChain 101(params) 149 12 + 531: 73(int) Load 530 + 532: 73(int) ISub 531 240 + 533: 7(int) Bitcast 532 + 534: 168(bool) ULessThan 529 533 + SelectionMerge 536 None + BranchConditional 534 535 536 + 535: Label + 538: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 539: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 528 528 12 12 + 537: 139(ptr) AccessChain 127(id) 39 + 540: 7(int) Load 537 + 541: 168(bool) UGreaterThan 540 12 + Branch 536 + 536: Label + 542: 168(bool) Phi 534 501 541 535 + 545: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 546: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 528 528 12 12 + SelectionMerge 544 None + BranchConditional 542 543 544 + 543: Label + 548: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 549: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 550 550 12 12 + 547: 7(int) Load 141(index) + 551: 150(ptr) AccessChain 101(params) 149 12 + 552: 73(int) Load 551 + 553: 7(int) Bitcast 552 + 554: 7(int) ISub 547 553 + 555: 7(int) IAdd 554 39 + 557: 232(ptr) AccessChain 201 204 555 204 + 558: 71(fvec4) Load 557 + 559: 19(fvec3) VectorShuffle 558 558 0 1 2 + Store 556(param) 559 + 561: 19(fvec3) Load 261(pos) + Store 560(param) 561 + 563: 105(ptr) AccessChain 101(params) 426 + 564: 16(float) Load 563 + Store 562(param) 564 + 565: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 556(param) 560(param) 562(param) + 566: 19(fvec3) Load 247(force) + 567: 19(fvec3) FAdd 566 565 + Store 247(force) 567 + Branch 544 + 544: Label + 570: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 571: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 572 572 12 12 + 569: 105(ptr) AccessChain 101(params) 568 + 573: 16(float) Load 569 + 574: 16(float) FNegate 573 + 575: 19(fvec3) Load 271(vel) + 576: 19(fvec3) VectorTimesScalar 575 574 + 577: 19(fvec3) Load 247(force) + 578: 19(fvec3) FAdd 577 576 + Store 247(force) 578 + 584: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 582 582 12 12 + 583: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 580 579(f) 45 + 585: 19(fvec3) Load 247(force) + 586: 105(ptr) AccessChain 101(params) 240 + 587: 16(float) Load 586 + 588: 16(float) FDiv 211 587 + 589: 19(fvec3) VectorTimesScalar 585 588 + Store 579(f) 589 + 591: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 592 592 12 12 + 590: 7(int) Load 141(index) + 593: 19(fvec3) Load 261(pos) + 594: 19(fvec3) Load 271(vel) + 595: 105(ptr) AccessChain 101(params) 204 + 596: 16(float) Load 595 + 597: 19(fvec3) VectorTimesScalar 594 596 + 598: 19(fvec3) FAdd 593 597 + 600: 19(fvec3) Load 579(f) + 601: 19(fvec3) VectorTimesScalar 600 599 + 602: 105(ptr) AccessChain 101(params) 204 + 603: 16(float) Load 602 + 604: 19(fvec3) VectorTimesScalar 601 603 + 605: 105(ptr) AccessChain 101(params) 204 + 606: 16(float) Load 605 + 607: 19(fvec3) VectorTimesScalar 604 606 + 608: 19(fvec3) FAdd 598 607 + 609: 16(float) CompositeExtract 608 0 + 610: 16(float) CompositeExtract 608 1 + 611: 16(float) CompositeExtract 608 2 + 612: 71(fvec4) CompositeConstruct 609 610 611 211 + 613: 232(ptr) AccessChain 226 204 590 204 + Store 613 612 + 615: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 616 616 12 12 + 614: 7(int) Load 141(index) + 617: 19(fvec3) Load 271(vel) + 618: 19(fvec3) Load 579(f) + 619: 105(ptr) AccessChain 101(params) 204 + 620: 16(float) Load 619 + 621: 19(fvec3) VectorTimesScalar 618 620 + 622: 19(fvec3) FAdd 617 621 + 623: 16(float) CompositeExtract 622 0 + 624: 16(float) CompositeExtract 622 1 + 625: 16(float) CompositeExtract 622 2 + 626: 71(fvec4) CompositeConstruct 623 624 625 241 + 627: 232(ptr) AccessChain 226 204 614 240 + Store 627 626 + 633: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 631 631 12 12 + 632: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 629 628(sphereDist) 45 + 634: 7(int) Load 141(index) + 635: 232(ptr) AccessChain 226 204 634 204 636: 71(fvec4) Load 635 637: 19(fvec3) VectorShuffle 636 636 0 1 2 - 638: 19(fvec3) FSub 633 637 - Store 624(sphereDist) 638 - 640: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 641 641 12 12 - 639: 19(fvec3) Load 624(sphereDist) - 642: 16(float) ExtInst 3(GLSL.std.450) 66(Length) 639 - 644: 105(ptr) AccessChain 101(params) 643 - 645: 16(float) Load 644 - 647: 16(float) FAdd 645 646 - 648: 166(bool) FOrdLessThan 642 647 - SelectionMerge 650 None - BranchConditional 648 649 650 - 649: Label - 652: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 653: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 654 654 12 12 - 651: 7(int) Load 139(index) - 655: 231(ptr) AccessChain 101(params) 634 - 656: 71(fvec4) Load 655 - 657: 19(fvec3) VectorShuffle 656 656 0 1 2 - 658: 19(fvec3) Load 624(sphereDist) - 659: 19(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 658 - 660: 105(ptr) AccessChain 101(params) 643 - 661: 16(float) Load 660 - 662: 16(float) FAdd 661 646 - 663: 19(fvec3) VectorTimesScalar 659 662 - 664: 19(fvec3) FAdd 657 663 - 665: 105(ptr) AccessChain 225 203 651 203 12 - 666: 16(float) CompositeExtract 664 0 - Store 665 666 - 667: 105(ptr) AccessChain 225 203 651 203 39 - 668: 16(float) CompositeExtract 664 1 - Store 667 668 - 669: 105(ptr) AccessChain 225 203 651 203 41 - 670: 16(float) CompositeExtract 664 2 + 639: 232(ptr) AccessChain 101(params) 638 + 640: 71(fvec4) Load 639 + 641: 19(fvec3) VectorShuffle 640 640 0 1 2 + 642: 19(fvec3) FSub 637 641 + Store 628(sphereDist) 642 + 644: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 645 645 12 12 + 643: 19(fvec3) Load 628(sphereDist) + 646: 16(float) ExtInst 3(GLSL.std.450) 66(Length) 643 + 648: 105(ptr) AccessChain 101(params) 647 + 649: 16(float) Load 648 + 651: 16(float) FAdd 649 650 + 652: 168(bool) FOrdLessThan 646 651 + SelectionMerge 654 None + BranchConditional 652 653 654 + 653: Label + 656: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 657: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 658 658 12 12 + 655: 7(int) Load 141(index) + 659: 232(ptr) AccessChain 101(params) 638 + 660: 71(fvec4) Load 659 + 661: 19(fvec3) VectorShuffle 660 660 0 1 2 + 662: 19(fvec3) Load 628(sphereDist) + 663: 19(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 662 + 664: 105(ptr) AccessChain 101(params) 647 + 665: 16(float) Load 664 + 666: 16(float) FAdd 665 650 + 667: 19(fvec3) VectorTimesScalar 663 666 + 668: 19(fvec3) FAdd 661 667 + 669: 105(ptr) AccessChain 226 204 655 204 12 + 670: 16(float) CompositeExtract 668 0 Store 669 670 - 672: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 673 673 12 12 - 671: 7(int) Load 139(index) - 674: 231(ptr) AccessChain 225 203 671 239 - Store 674 241 - Branch 650 - 650: Label - 691: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 692: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 681 681 12 12 - 690: 688(ptr) AccessChain 685(pushConsts) 203 - 693: 7(int) Load 690 - 694: 166(bool) IEqual 693 39 - SelectionMerge 696 None - BranchConditional 694 695 696 - 695: Label - 701: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 699 699 12 12 - 700: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 698 697(normal) 45 - Store 697(normal) 703 - 705: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 706 706 12 12 - 704: 137(ptr) AccessChain 125(id) 39 - 707: 7(int) Load 704 - 708: 166(bool) UGreaterThan 707 12 - SelectionMerge 710 None - BranchConditional 708 709 710 - 709: Label - 712: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 713: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 714 714 12 12 - 711: 137(ptr) AccessChain 125(id) 12 - 715: 7(int) Load 711 - 716: 166(bool) UGreaterThan 715 12 - SelectionMerge 718 None - BranchConditional 716 717 718 - 717: Label - 724: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 725: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 722 722 12 12 - 723: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 720 719(a) 45 - 726: 7(int) Load 139(index) - 727: 7(int) ISub 726 39 - 728: 231(ptr) AccessChain 200 203 727 203 - 729: 71(fvec4) Load 728 - 730: 19(fvec3) VectorShuffle 729 729 0 1 2 - 731: 19(fvec3) Load 261(pos) - 732: 19(fvec3) FSub 730 731 - Store 719(a) 732 - 738: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 736 736 12 12 - 737: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 734 733(b) 45 - 739: 7(int) Load 139(index) - 740: 148(ptr) AccessChain 101(params) 147 12 - 741: 73(int) Load 740 - 742: 7(int) Bitcast 741 - 743: 7(int) ISub 739 742 - 744: 7(int) ISub 743 39 - 745: 231(ptr) AccessChain 200 203 744 203 - 746: 71(fvec4) Load 745 - 747: 19(fvec3) VectorShuffle 746 746 0 1 2 - 748: 19(fvec3) Load 261(pos) - 749: 19(fvec3) FSub 747 748 - Store 733(b) 749 - 755: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 753 753 12 12 - 754: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 751 750(c) 45 - 756: 7(int) Load 139(index) - 757: 148(ptr) AccessChain 101(params) 147 12 - 758: 73(int) Load 757 - 759: 7(int) Bitcast 758 - 760: 7(int) ISub 756 759 - 761: 231(ptr) AccessChain 200 203 760 203 - 762: 71(fvec4) Load 761 - 763: 19(fvec3) VectorShuffle 762 762 0 1 2 - 764: 19(fvec3) Load 261(pos) - 765: 19(fvec3) FSub 763 764 - Store 750(c) 765 - 767: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 768 768 12 12 - 766: 19(fvec3) Load 719(a) - 769: 19(fvec3) Load 733(b) - 770: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 766 769 - 771: 19(fvec3) Load 733(b) - 772: 19(fvec3) Load 750(c) - 773: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 771 772 - 774: 19(fvec3) FAdd 770 773 - 775: 19(fvec3) Load 697(normal) - 776: 19(fvec3) FAdd 775 774 - Store 697(normal) 776 - Branch 718 - 718: Label - 778: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 779: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 780 780 12 12 - 777: 137(ptr) AccessChain 125(id) 12 - 781: 7(int) Load 777 - 782: 148(ptr) AccessChain 101(params) 147 12 - 783: 73(int) Load 782 - 784: 73(int) ISub 783 239 - 785: 7(int) Bitcast 784 - 786: 166(bool) ULessThan 781 785 - SelectionMerge 788 None - BranchConditional 786 787 788 - 787: Label - 790: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 791: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 792 792 12 12 - 789: 7(int) Load 139(index) - 793: 148(ptr) AccessChain 101(params) 147 12 - 794: 73(int) Load 793 - 795: 7(int) Bitcast 794 - 796: 7(int) ISub 789 795 - 797: 231(ptr) AccessChain 200 203 796 203 - 798: 71(fvec4) Load 797 - 799: 19(fvec3) VectorShuffle 798 798 0 1 2 - 800: 19(fvec3) Load 261(pos) - 801: 19(fvec3) FSub 799 800 - Store 719(a) 801 - 803: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 804 804 12 12 - 802: 7(int) Load 139(index) - 805: 148(ptr) AccessChain 101(params) 147 12 - 806: 73(int) Load 805 - 807: 7(int) Bitcast 806 - 808: 7(int) ISub 802 807 - 809: 7(int) IAdd 808 39 - 810: 231(ptr) AccessChain 200 203 809 203 - 811: 71(fvec4) Load 810 - 812: 19(fvec3) VectorShuffle 811 811 0 1 2 - 813: 19(fvec3) Load 261(pos) - 814: 19(fvec3) FSub 812 813 - Store 733(b) 814 - 816: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 817 817 12 12 - 815: 7(int) Load 139(index) - 818: 7(int) IAdd 815 39 - 819: 231(ptr) AccessChain 200 203 818 203 - 820: 71(fvec4) Load 819 - 821: 19(fvec3) VectorShuffle 820 820 0 1 2 - 822: 19(fvec3) Load 261(pos) - 823: 19(fvec3) FSub 821 822 - Store 750(c) 823 - 825: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 826 826 12 12 - 824: 19(fvec3) Load 719(a) - 827: 19(fvec3) Load 733(b) - 828: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 824 827 - 829: 19(fvec3) Load 733(b) - 830: 19(fvec3) Load 750(c) - 831: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 829 830 - 832: 19(fvec3) FAdd 828 831 - 833: 19(fvec3) Load 697(normal) - 834: 19(fvec3) FAdd 833 832 - Store 697(normal) 834 - Branch 788 - 788: Label - 835: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - Branch 710 - 710: Label - 837: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 838: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 839 839 12 12 - 836: 137(ptr) AccessChain 125(id) 39 - 840: 7(int) Load 836 - 841: 148(ptr) AccessChain 101(params) 147 39 - 842: 73(int) Load 841 - 843: 73(int) ISub 842 239 - 844: 7(int) Bitcast 843 - 845: 166(bool) ULessThan 840 844 - SelectionMerge 847 None - BranchConditional 845 846 847 - 846: Label - 849: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 850: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 851 851 12 12 - 848: 137(ptr) AccessChain 125(id) 12 - 852: 7(int) Load 848 - 853: 166(bool) UGreaterThan 852 12 - SelectionMerge 855 None - BranchConditional 853 854 855 - 854: Label - 857: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 858: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 859 859 12 12 - 856: 7(int) Load 139(index) - 860: 148(ptr) AccessChain 101(params) 147 12 - 861: 73(int) Load 860 - 862: 7(int) Bitcast 861 - 863: 7(int) IAdd 856 862 - 864: 231(ptr) AccessChain 200 203 863 203 - 865: 71(fvec4) Load 864 - 866: 19(fvec3) VectorShuffle 865 865 0 1 2 - 867: 19(fvec3) Load 261(pos) - 868: 19(fvec3) FSub 866 867 - Store 719(a) 868 - 870: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 871 871 12 12 - 869: 7(int) Load 139(index) - 872: 148(ptr) AccessChain 101(params) 147 12 - 873: 73(int) Load 872 - 874: 7(int) Bitcast 873 - 875: 7(int) IAdd 869 874 - 876: 7(int) ISub 875 39 - 877: 231(ptr) AccessChain 200 203 876 203 - 878: 71(fvec4) Load 877 - 879: 19(fvec3) VectorShuffle 878 878 0 1 2 - 880: 19(fvec3) Load 261(pos) - 881: 19(fvec3) FSub 879 880 - Store 733(b) 881 - 883: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 884 884 12 12 - 882: 7(int) Load 139(index) - 885: 7(int) ISub 882 39 - 886: 231(ptr) AccessChain 200 203 885 203 - 887: 71(fvec4) Load 886 - 888: 19(fvec3) VectorShuffle 887 887 0 1 2 - 889: 19(fvec3) Load 261(pos) - 890: 19(fvec3) FSub 888 889 - Store 750(c) 890 - 892: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 893 893 12 12 - 891: 19(fvec3) Load 719(a) - 894: 19(fvec3) Load 733(b) - 895: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 891 894 - 896: 19(fvec3) Load 733(b) - 897: 19(fvec3) Load 750(c) - 898: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 896 897 - 899: 19(fvec3) FAdd 895 898 - 900: 19(fvec3) Load 697(normal) - 901: 19(fvec3) FAdd 900 899 - Store 697(normal) 901 - Branch 855 - 855: Label - 903: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 904: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 905 905 12 12 - 902: 137(ptr) AccessChain 125(id) 12 - 906: 7(int) Load 902 - 907: 148(ptr) AccessChain 101(params) 147 12 - 908: 73(int) Load 907 - 909: 73(int) ISub 908 239 - 910: 7(int) Bitcast 909 - 911: 166(bool) ULessThan 906 910 - SelectionMerge 913 None - BranchConditional 911 912 913 - 912: Label - 915: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 916: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 917 917 12 12 - 914: 7(int) Load 139(index) - 918: 7(int) IAdd 914 39 - 919: 231(ptr) AccessChain 200 203 918 203 - 920: 71(fvec4) Load 919 - 921: 19(fvec3) VectorShuffle 920 920 0 1 2 - 922: 19(fvec3) Load 261(pos) - 923: 19(fvec3) FSub 921 922 - Store 719(a) 923 - 925: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 926 926 12 12 - 924: 7(int) Load 139(index) - 927: 148(ptr) AccessChain 101(params) 147 12 - 928: 73(int) Load 927 - 929: 7(int) Bitcast 928 - 930: 7(int) IAdd 924 929 - 931: 7(int) IAdd 930 39 - 932: 231(ptr) AccessChain 200 203 931 203 - 933: 71(fvec4) Load 932 - 934: 19(fvec3) VectorShuffle 933 933 0 1 2 - 935: 19(fvec3) Load 261(pos) - 936: 19(fvec3) FSub 934 935 - Store 733(b) 936 - 938: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 939 939 12 12 - 937: 7(int) Load 139(index) - 940: 148(ptr) AccessChain 101(params) 147 12 - 941: 73(int) Load 940 - 942: 7(int) Bitcast 941 - 943: 7(int) IAdd 937 942 - 944: 231(ptr) AccessChain 200 203 943 203 - 945: 71(fvec4) Load 944 - 946: 19(fvec3) VectorShuffle 945 945 0 1 2 - 947: 19(fvec3) Load 261(pos) - 948: 19(fvec3) FSub 946 947 - Store 750(c) 948 - 950: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 951 951 12 12 - 949: 19(fvec3) Load 719(a) - 952: 19(fvec3) Load 733(b) - 953: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 949 952 - 954: 19(fvec3) Load 733(b) - 955: 19(fvec3) Load 750(c) - 956: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 954 955 - 957: 19(fvec3) FAdd 953 956 - 958: 19(fvec3) Load 697(normal) - 959: 19(fvec3) FAdd 958 957 - Store 697(normal) 959 - Branch 913 - 913: Label - 960: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - Branch 847 - 847: Label - 962: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 963: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 964 964 12 12 - 961: 7(int) Load 139(index) - 965: 19(fvec3) Load 697(normal) - 966: 19(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 965 - 967: 16(float) CompositeExtract 966 0 - 968: 16(float) CompositeExtract 966 1 - 969: 16(float) CompositeExtract 966 2 - 970: 71(fvec4) CompositeConstruct 967 968 969 240 - 971: 231(ptr) AccessChain 225 203 961 564 - Store 971 970 - Branch 696 - 696: Label - 972: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 671: 105(ptr) AccessChain 226 204 655 204 39 + 672: 16(float) CompositeExtract 668 1 + Store 671 672 + 673: 105(ptr) AccessChain 226 204 655 204 41 + 674: 16(float) CompositeExtract 668 2 + Store 673 674 + 676: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 677 677 12 12 + 675: 7(int) Load 141(index) + 678: 232(ptr) AccessChain 226 204 675 240 + Store 678 242 + Branch 654 + 654: Label + 695: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 696: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 685 685 12 12 + 694: 692(ptr) AccessChain 689(pushConsts) 204 + 697: 7(int) Load 694 + 698: 168(bool) IEqual 697 39 + SelectionMerge 700 None + BranchConditional 698 699 700 + 699: Label + 705: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 706: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 703 703 12 12 + 704: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 702 701(normal) 45 + Store 701(normal) 707 + 709: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 710 710 12 12 + 708: 139(ptr) AccessChain 127(id) 39 + 711: 7(int) Load 708 + 712: 168(bool) UGreaterThan 711 12 + SelectionMerge 714 None + BranchConditional 712 713 714 + 713: Label + 716: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 717: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 718 718 12 12 + 715: 139(ptr) AccessChain 127(id) 12 + 719: 7(int) Load 715 + 720: 168(bool) UGreaterThan 719 12 + SelectionMerge 722 None + BranchConditional 720 721 722 + 721: Label + 728: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 729: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 726 726 12 12 + 727: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 724 723(a) 45 + 730: 7(int) Load 141(index) + 731: 7(int) ISub 730 39 + 732: 232(ptr) AccessChain 201 204 731 204 + 733: 71(fvec4) Load 732 + 734: 19(fvec3) VectorShuffle 733 733 0 1 2 + 735: 19(fvec3) Load 261(pos) + 736: 19(fvec3) FSub 734 735 + Store 723(a) 736 + 742: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 740 740 12 12 + 741: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 738 737(b) 45 + 743: 7(int) Load 141(index) + 744: 150(ptr) AccessChain 101(params) 149 12 + 745: 73(int) Load 744 + 746: 7(int) Bitcast 745 + 747: 7(int) ISub 743 746 + 748: 7(int) ISub 747 39 + 749: 232(ptr) AccessChain 201 204 748 204 + 750: 71(fvec4) Load 749 + 751: 19(fvec3) VectorShuffle 750 750 0 1 2 + 752: 19(fvec3) Load 261(pos) + 753: 19(fvec3) FSub 751 752 + Store 737(b) 753 + 759: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 757 757 12 12 + 758: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 755 754(c) 45 + 760: 7(int) Load 141(index) + 761: 150(ptr) AccessChain 101(params) 149 12 + 762: 73(int) Load 761 + 763: 7(int) Bitcast 762 + 764: 7(int) ISub 760 763 + 765: 232(ptr) AccessChain 201 204 764 204 + 766: 71(fvec4) Load 765 + 767: 19(fvec3) VectorShuffle 766 766 0 1 2 + 768: 19(fvec3) Load 261(pos) + 769: 19(fvec3) FSub 767 768 + Store 754(c) 769 + 771: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 772 772 12 12 + 770: 19(fvec3) Load 723(a) + 773: 19(fvec3) Load 737(b) + 774: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 770 773 + 775: 19(fvec3) Load 737(b) + 776: 19(fvec3) Load 754(c) + 777: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 775 776 + 778: 19(fvec3) FAdd 774 777 + 779: 19(fvec3) Load 701(normal) + 780: 19(fvec3) FAdd 779 778 + Store 701(normal) 780 + Branch 722 + 722: Label + 782: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 783: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 784 784 12 12 + 781: 139(ptr) AccessChain 127(id) 12 + 785: 7(int) Load 781 + 786: 150(ptr) AccessChain 101(params) 149 12 + 787: 73(int) Load 786 + 788: 73(int) ISub 787 240 + 789: 7(int) Bitcast 788 + 790: 168(bool) ULessThan 785 789 + SelectionMerge 792 None + BranchConditional 790 791 792 + 791: Label + 794: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 795: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 796 796 12 12 + 793: 7(int) Load 141(index) + 797: 150(ptr) AccessChain 101(params) 149 12 + 798: 73(int) Load 797 + 799: 7(int) Bitcast 798 + 800: 7(int) ISub 793 799 + 801: 232(ptr) AccessChain 201 204 800 204 + 802: 71(fvec4) Load 801 + 803: 19(fvec3) VectorShuffle 802 802 0 1 2 + 804: 19(fvec3) Load 261(pos) + 805: 19(fvec3) FSub 803 804 + Store 723(a) 805 + 807: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 808 808 12 12 + 806: 7(int) Load 141(index) + 809: 150(ptr) AccessChain 101(params) 149 12 + 810: 73(int) Load 809 + 811: 7(int) Bitcast 810 + 812: 7(int) ISub 806 811 + 813: 7(int) IAdd 812 39 + 814: 232(ptr) AccessChain 201 204 813 204 + 815: 71(fvec4) Load 814 + 816: 19(fvec3) VectorShuffle 815 815 0 1 2 + 817: 19(fvec3) Load 261(pos) + 818: 19(fvec3) FSub 816 817 + Store 737(b) 818 + 820: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 821 821 12 12 + 819: 7(int) Load 141(index) + 822: 7(int) IAdd 819 39 + 823: 232(ptr) AccessChain 201 204 822 204 + 824: 71(fvec4) Load 823 + 825: 19(fvec3) VectorShuffle 824 824 0 1 2 + 826: 19(fvec3) Load 261(pos) + 827: 19(fvec3) FSub 825 826 + Store 754(c) 827 + 829: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 830 830 12 12 + 828: 19(fvec3) Load 723(a) + 831: 19(fvec3) Load 737(b) + 832: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 828 831 + 833: 19(fvec3) Load 737(b) + 834: 19(fvec3) Load 754(c) + 835: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 833 834 + 836: 19(fvec3) FAdd 832 835 + 837: 19(fvec3) Load 701(normal) + 838: 19(fvec3) FAdd 837 836 + Store 701(normal) 838 + Branch 792 + 792: Label + Branch 714 + 714: Label + 840: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 841: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 842 842 12 12 + 839: 139(ptr) AccessChain 127(id) 39 + 843: 7(int) Load 839 + 844: 150(ptr) AccessChain 101(params) 149 39 + 845: 73(int) Load 844 + 846: 73(int) ISub 845 240 + 847: 7(int) Bitcast 846 + 848: 168(bool) ULessThan 843 847 + SelectionMerge 850 None + BranchConditional 848 849 850 + 849: Label + 852: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 853: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 854 854 12 12 + 851: 139(ptr) AccessChain 127(id) 12 + 855: 7(int) Load 851 + 856: 168(bool) UGreaterThan 855 12 + SelectionMerge 858 None + BranchConditional 856 857 858 + 857: Label + 860: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 861: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 862 862 12 12 + 859: 7(int) Load 141(index) + 863: 150(ptr) AccessChain 101(params) 149 12 + 864: 73(int) Load 863 + 865: 7(int) Bitcast 864 + 866: 7(int) IAdd 859 865 + 867: 232(ptr) AccessChain 201 204 866 204 + 868: 71(fvec4) Load 867 + 869: 19(fvec3) VectorShuffle 868 868 0 1 2 + 870: 19(fvec3) Load 261(pos) + 871: 19(fvec3) FSub 869 870 + Store 723(a) 871 + 873: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 874 874 12 12 + 872: 7(int) Load 141(index) + 875: 150(ptr) AccessChain 101(params) 149 12 + 876: 73(int) Load 875 + 877: 7(int) Bitcast 876 + 878: 7(int) IAdd 872 877 + 879: 7(int) ISub 878 39 + 880: 232(ptr) AccessChain 201 204 879 204 + 881: 71(fvec4) Load 880 + 882: 19(fvec3) VectorShuffle 881 881 0 1 2 + 883: 19(fvec3) Load 261(pos) + 884: 19(fvec3) FSub 882 883 + Store 737(b) 884 + 886: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 887 887 12 12 + 885: 7(int) Load 141(index) + 888: 7(int) ISub 885 39 + 889: 232(ptr) AccessChain 201 204 888 204 + 890: 71(fvec4) Load 889 + 891: 19(fvec3) VectorShuffle 890 890 0 1 2 + 892: 19(fvec3) Load 261(pos) + 893: 19(fvec3) FSub 891 892 + Store 754(c) 893 + 895: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 896 896 12 12 + 894: 19(fvec3) Load 723(a) + 897: 19(fvec3) Load 737(b) + 898: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 894 897 + 899: 19(fvec3) Load 737(b) + 900: 19(fvec3) Load 754(c) + 901: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 899 900 + 902: 19(fvec3) FAdd 898 901 + 903: 19(fvec3) Load 701(normal) + 904: 19(fvec3) FAdd 903 902 + Store 701(normal) 904 + Branch 858 + 858: Label + 906: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 907: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 908 908 12 12 + 905: 139(ptr) AccessChain 127(id) 12 + 909: 7(int) Load 905 + 910: 150(ptr) AccessChain 101(params) 149 12 + 911: 73(int) Load 910 + 912: 73(int) ISub 911 240 + 913: 7(int) Bitcast 912 + 914: 168(bool) ULessThan 909 913 + SelectionMerge 916 None + BranchConditional 914 915 916 + 915: Label + 918: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 919: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 920 920 12 12 + 917: 7(int) Load 141(index) + 921: 7(int) IAdd 917 39 + 922: 232(ptr) AccessChain 201 204 921 204 + 923: 71(fvec4) Load 922 + 924: 19(fvec3) VectorShuffle 923 923 0 1 2 + 925: 19(fvec3) Load 261(pos) + 926: 19(fvec3) FSub 924 925 + Store 723(a) 926 + 928: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 929 929 12 12 + 927: 7(int) Load 141(index) + 930: 150(ptr) AccessChain 101(params) 149 12 + 931: 73(int) Load 930 + 932: 7(int) Bitcast 931 + 933: 7(int) IAdd 927 932 + 934: 7(int) IAdd 933 39 + 935: 232(ptr) AccessChain 201 204 934 204 + 936: 71(fvec4) Load 935 + 937: 19(fvec3) VectorShuffle 936 936 0 1 2 + 938: 19(fvec3) Load 261(pos) + 939: 19(fvec3) FSub 937 938 + Store 737(b) 939 + 941: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 942 942 12 12 + 940: 7(int) Load 141(index) + 943: 150(ptr) AccessChain 101(params) 149 12 + 944: 73(int) Load 943 + 945: 7(int) Bitcast 944 + 946: 7(int) IAdd 940 945 + 947: 232(ptr) AccessChain 201 204 946 204 + 948: 71(fvec4) Load 947 + 949: 19(fvec3) VectorShuffle 948 948 0 1 2 + 950: 19(fvec3) Load 261(pos) + 951: 19(fvec3) FSub 949 950 + Store 754(c) 951 + 953: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 954 954 12 12 + 952: 19(fvec3) Load 723(a) + 955: 19(fvec3) Load 737(b) + 956: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 952 955 + 957: 19(fvec3) Load 737(b) + 958: 19(fvec3) Load 754(c) + 959: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 957 958 + 960: 19(fvec3) FAdd 956 959 + 961: 19(fvec3) Load 701(normal) + 962: 19(fvec3) FAdd 961 960 + Store 701(normal) 962 + Branch 916 + 916: Label + Branch 850 + 850: Label + 964: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 965: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 966 966 12 12 + 963: 7(int) Load 141(index) + 967: 19(fvec3) Load 701(normal) + 968: 19(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 967 + 969: 16(float) CompositeExtract 968 0 + 970: 16(float) CompositeExtract 968 1 + 971: 16(float) CompositeExtract 968 2 + 972: 71(fvec4) CompositeConstruct 969 970 971 241 + 973: 232(ptr) AccessChain 226 204 963 568 + Store 973 972 + Branch 700 + 700: Label + 974: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 975: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 976 976 12 12 Return FunctionEnd 31(springForce(vf3;vf3;f1;): 19(fvec3) Function None 26 diff --git a/Test/baseResults/spv.debuginfo.glsl.frag.out b/Test/baseResults/spv.debuginfo.glsl.frag.out index 142107a33..3214f97a1 100644 --- a/Test/baseResults/spv.debuginfo.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.glsl.frag.out @@ -1,7 +1,7 @@ spv.debuginfo.glsl.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 877 +// Id's are bound by 879 Capability Shader Capability ImageQuery @@ -9,7 +9,7 @@ spv.debuginfo.glsl.frag 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 14 "main" 493 546 + EntryPoint Fragment 14 "main" 499 552 ExecutionMode 14 OriginUpperLeft 2: String "spv.debuginfo.glsl.frag" 8: String "uint" @@ -230,38 +230,38 @@ void main() 105: String "global_var" 120: String "shadowCoord" 142: String "bool" - 162: String "dist" - 169: String "type.2d.image" - 170: String "@type.2d.image" - 174: String "type.sampled.image" - 175: String "@type.sampled.image" - 180: String "samplerShadowMap" - 230: String "texDim" - 242: String "scale" - 249: String "dx" - 263: String "dy" - 275: String "shadowFactor" - 281: String "count" - 287: String "range" - 294: String "x" - 314: String "y" - 379: String "i" - 397: String "shadowClip" - 407: String "color" - 412: String "viewMatrix" - 415: String "Light" - 421: String "lights" - 424: String "debugDisplayTarget" - 428: String "UBO" - 433: String "ubo" - 477: String "fragPos" - 489: String "samplerposition" - 495: String "inUV" - 501: String "normal" - 507: String "samplerNormal" - 514: String "albedo" - 520: String "samplerAlbedo" - 548: String "outFragColor" + 164: String "dist" + 171: String "type.2d.image" + 172: String "@type.2d.image" + 176: String "type.sampled.image" + 177: String "@type.sampled.image" + 182: String "samplerShadowMap" + 233: String "texDim" + 245: String "scale" + 252: String "dx" + 266: String "dy" + 278: String "shadowFactor" + 284: String "count" + 290: String "range" + 297: String "x" + 317: String "y" + 383: String "i" + 401: String "shadowClip" + 411: String "color" + 416: String "viewMatrix" + 419: String "Light" + 425: String "lights" + 428: String "debugDisplayTarget" + 432: String "UBO" + 437: String "ubo" + 483: String "fragPos" + 495: String "samplerposition" + 501: String "inUV" + 507: String "normal" + 513: String "samplerNormal" + 520: String "albedo" + 526: String "samplerAlbedo" + 554: String "outFragColor" 648: String "N" 672: String "L" 698: String "V" @@ -291,46 +291,46 @@ void main() Name 103 "global_var" Name 112 "shadow" Name 118 "shadowCoord" - Name 160 "dist" - Name 178 "samplerShadowMap" - Name 228 "texDim" - Name 240 "scale" - Name 247 "dx" - Name 261 "dy" - Name 273 "shadowFactor" - Name 279 "count" - Name 285 "range" - Name 292 "x" - Name 312 "y" - Name 345 "param" - Name 347 "param" - Name 349 "param" - Name 377 "i" - Name 395 "shadowClip" - Name 405 "Light" - MemberName 405(Light) 0 "position" - MemberName 405(Light) 1 "target" - MemberName 405(Light) 2 "color" - MemberName 405(Light) 3 "viewMatrix" - Name 418 "UBO" - MemberName 418(UBO) 0 "viewPos" - MemberName 418(UBO) 1 "lights" - MemberName 418(UBO) 2 "useShadows" - MemberName 418(UBO) 3 "debugDisplayTarget" - Name 431 "ubo" - Name 445 "shadowFactor" - Name 452 "param" - Name 454 "param" - Name 475 "fragPos" - Name 487 "samplerposition" - Name 493 "inUV" - Name 499 "normal" - Name 505 "samplerNormal" - Name 512 "albedo" - Name 518 "samplerAlbedo" - Name 546 "outFragColor" - Name 551 "param" - Name 554 "param" + Name 162 "dist" + Name 180 "samplerShadowMap" + Name 231 "texDim" + Name 243 "scale" + Name 250 "dx" + Name 264 "dy" + Name 276 "shadowFactor" + Name 282 "count" + Name 288 "range" + Name 295 "x" + Name 315 "y" + Name 348 "param" + Name 350 "param" + Name 352 "param" + Name 381 "i" + Name 399 "shadowClip" + Name 409 "Light" + MemberName 409(Light) 0 "position" + MemberName 409(Light) 1 "target" + MemberName 409(Light) 2 "color" + MemberName 409(Light) 3 "viewMatrix" + Name 422 "UBO" + MemberName 422(UBO) 0 "viewPos" + MemberName 422(UBO) 1 "lights" + MemberName 422(UBO) 2 "useShadows" + MemberName 422(UBO) 3 "debugDisplayTarget" + Name 435 "ubo" + Name 449 "shadowFactor" + Name 456 "param" + Name 458 "param" + Name 481 "fragPos" + Name 493 "samplerposition" + Name 499 "inUV" + Name 505 "normal" + Name 511 "samplerNormal" + Name 518 "albedo" + Name 524 "samplerAlbedo" + Name 552 "outFragColor" + Name 557 "param" + Name 560 "param" Name 636 "fragcolor" Name 646 "N" Name 654 "i" @@ -351,30 +351,30 @@ void main() Name 814 "spec" Name 861 "param" Name 866 "param" - Decorate 178(samplerShadowMap) Binding 5 - Decorate 178(samplerShadowMap) DescriptorSet 0 - MemberDecorate 405(Light) 0 Offset 0 - MemberDecorate 405(Light) 1 Offset 16 - MemberDecorate 405(Light) 2 Offset 32 - MemberDecorate 405(Light) 3 ColMajor - MemberDecorate 405(Light) 3 MatrixStride 16 - MemberDecorate 405(Light) 3 Offset 48 - Decorate 416 ArrayStride 112 - Decorate 418(UBO) Block - MemberDecorate 418(UBO) 0 Offset 0 - MemberDecorate 418(UBO) 1 Offset 16 - MemberDecorate 418(UBO) 2 Offset 352 - MemberDecorate 418(UBO) 3 Offset 356 - Decorate 431(ubo) Binding 4 - Decorate 431(ubo) DescriptorSet 0 - Decorate 487(samplerposition) Binding 1 - Decorate 487(samplerposition) DescriptorSet 0 - Decorate 493(inUV) Location 0 - Decorate 505(samplerNormal) Binding 2 - Decorate 505(samplerNormal) DescriptorSet 0 - Decorate 518(samplerAlbedo) Binding 3 - Decorate 518(samplerAlbedo) DescriptorSet 0 - Decorate 546(outFragColor) Location 0 + Decorate 180(samplerShadowMap) Binding 5 + Decorate 180(samplerShadowMap) DescriptorSet 0 + MemberDecorate 409(Light) 0 Offset 0 + MemberDecorate 409(Light) 1 Offset 16 + MemberDecorate 409(Light) 2 Offset 32 + MemberDecorate 409(Light) 3 ColMajor + MemberDecorate 409(Light) 3 MatrixStride 16 + MemberDecorate 409(Light) 3 Offset 48 + Decorate 420 ArrayStride 112 + Decorate 422(UBO) Block + MemberDecorate 422(UBO) 0 Offset 0 + MemberDecorate 422(UBO) 1 Offset 16 + MemberDecorate 422(UBO) 2 Offset 352 + MemberDecorate 422(UBO) 3 Offset 356 + Decorate 435(ubo) Binding 4 + Decorate 435(ubo) DescriptorSet 0 + Decorate 493(samplerposition) Binding 1 + Decorate 493(samplerposition) DescriptorSet 0 + Decorate 499(inUV) Location 0 + Decorate 511(samplerNormal) Binding 2 + Decorate 511(samplerNormal) DescriptorSet 0 + Decorate 524(samplerAlbedo) Binding 3 + Decorate 524(samplerAlbedo) DescriptorSet 0 + Decorate 552(outFragColor) Location 0 4: TypeVoid 5: TypeFunction 4 7: TypeInt 32 0 @@ -448,147 +448,150 @@ void main() 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 142 10 28 12 146: 7(int) Constant 65 148: 16(float) Constant 3212836864 - 163: 7(int) Constant 67 - 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 162 18 41 163 12 40 20 - 167: TypeImage 16(float) 2D array sampled format:Unknown - 171: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) - 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 169 12 41 163 12 44 170 171 13 - 172: TypeSampledImage 167 - 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 12 41 163 12 44 175 171 13 - 176: TypePointer UniformConstant 172 - 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 173 12 12 -178(samplerShadowMap): 176(ptr) Variable UniformConstant - 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 180 173 41 163 12 44 180 178(samplerShadowMap) 107 - 194: 7(int) Constant 68 - 196: 16(float) Constant 0 - 209: 16(float) Constant 1048576000 - 212: 7(int) Constant 70 - 219: 7(int) Constant 73 - 224: TypeVector 98(int) 2 - 225: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 100 28 - 226: TypePointer Function 224(ivec2) - 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 225 23 12 - 231: 7(int) Constant 78 - 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 230 225 41 231 12 65 20 - 236: TypeVector 98(int) 3 - 237: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 100 13 - 243: 7(int) Constant 79 - 241: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 242 18 41 243 12 65 20 - 246: 16(float) Constant 1069547520 - 250: 7(int) Constant 80 - 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 249 18 41 250 12 65 20 - 255: TypePointer Function 98(int) - 256: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 100 23 12 - 264: 7(int) Constant 81 - 262: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 263 18 41 264 12 65 20 - 276: 7(int) Constant 83 - 274: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 275 18 41 276 12 65 20 - 282: 7(int) Constant 84 - 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 281 100 41 282 12 65 20 - 288: 7(int) Constant 85 - 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 287 100 41 288 12 65 20 - 291: 98(int) Constant 1 - 295: 7(int) Constant 87 - 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 294 100 41 295 12 65 20 - 315: 7(int) Constant 89 - 313: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 314 100 41 315 12 65 20 - 336: 7(int) Constant 91 - 355: 7(int) Constant 92 - 369: 7(int) Constant 96 - 380: 7(int) Constant 100 - 378: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 379 100 41 380 12 85 20 - 393: 98(int) Constant 3 - 398: 7(int) Constant 102 - 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 397 21 41 398 12 85 20 - 402: TypeMatrix 19(fvec4) 4 - 404: 141(bool) ConstantTrue - 403: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 21 20 404 - 405(Light): TypeStruct 19(fvec4) 19(fvec4) 19(fvec4) 402 - 408: 7(int) Constant 47 - 406: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 407 21 41 408 23 12 12 13 - 409: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 407 21 41 408 23 12 12 13 - 410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 407 21 41 408 23 12 12 13 - 413: 7(int) Constant 48 - 411: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 412 403 41 413 23 12 12 13 - 414: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 415 45 41 398 12 44 415 12 13 406 409 410 411 - 416: TypeArray 405(Light) 13 - 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 414 13 - 418(UBO): TypeStruct 19(fvec4) 416 98(int) 98(int) - 419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 407 21 41 408 23 12 12 13 - 422: 7(int) Constant 54 - 420: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 421 417 41 422 107 12 12 13 - 425: 7(int) Constant 56 - 423: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 424 100 41 425 11 12 12 13 - 426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 424 100 41 425 11 12 12 13 - 427: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 428 45 41 398 12 44 428 12 13 419 420 423 426 - 429: TypePointer Uniform 418(UBO) - 430: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 427 28 12 - 431(ubo): 429(ptr) Variable Uniform - 432: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 433 427 41 398 12 44 433 431(ubo) 107 - 435: TypePointer Uniform 402 - 436: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 403 28 12 - 447: 7(int) Constant 106 - 446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 275 18 41 447 12 85 20 - 458: 7(int) Constant 111 - 468: 7(int) Constant 113 - 478: 7(int) Constant 119 - 476: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 477 75 41 478 12 96 20 - 481: TypeImage 16(float) 2D sampled format:Unknown - 482: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 169 12 41 478 12 44 170 171 13 - 483: TypeSampledImage 481 - 484: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 12 41 478 12 44 175 171 13 - 485: TypePointer UniformConstant 483 - 486: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 484 12 12 -487(samplerposition): 485(ptr) Variable UniformConstant - 488: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 489 484 41 478 12 44 489 487(samplerposition) 107 - 491: TypePointer Input 27(fvec2) - 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 29 45 12 - 493(inUV): 491(ptr) Variable Input - 494: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 495 29 41 478 12 44 495 493(inUV) 107 - 502: 7(int) Constant 120 - 500: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 501 75 41 502 12 96 20 -505(samplerNormal): 485(ptr) Variable UniformConstant - 506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 507 484 41 502 12 44 507 505(samplerNormal) 107 - 515: 7(int) Constant 121 - 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 514 21 41 515 12 96 20 -518(samplerAlbedo): 485(ptr) Variable UniformConstant - 519: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 520 484 41 515 12 44 520 518(samplerAlbedo) 107 - 524: TypePointer Uniform 98(int) - 525: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 100 28 12 - 528: 7(int) Constant 124 - 536: 7(int) Constant 125 - 544: TypePointer Output 19(fvec4) - 545: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 13 12 -546(outFragColor): 544(ptr) Variable Output - 549: 7(int) Constant 127 - 547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 548 21 41 549 12 44 548 546(outFragColor) 107 - 550: 74(fvec3) ConstantComposite 117 117 117 - 557: TypePointer Output 16(float) - 558: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 - 566: 7(int) Constant 128 - 572: 7(int) Constant 130 - 580: 7(int) Constant 131 - 586: 7(int) Constant 133 - 594: 7(int) Constant 134 - 600: 7(int) Constant 136 - 609: 7(int) Constant 137 - 615: 7(int) Constant 139 - 624: 7(int) Constant 140 - 631: 7(int) Constant 142 - 633: 7(int) Constant 143 + 165: 7(int) Constant 67 + 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 164 18 41 165 12 40 20 + 169: TypeImage 16(float) 2D array sampled format:Unknown + 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) + 170: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 171 12 41 165 12 44 172 173 13 + 174: TypeSampledImage 169 + 175: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 176 12 41 165 12 44 177 173 13 + 178: TypePointer UniformConstant 174 + 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 175 12 12 +180(samplerShadowMap): 178(ptr) Variable UniformConstant + 181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 182 175 41 165 12 44 182 180(samplerShadowMap) 107 + 196: 7(int) Constant 68 + 198: 16(float) Constant 0 + 213: 16(float) Constant 1048576000 + 216: 7(int) Constant 70 + 220: 7(int) Constant 73 + 225: 7(int) Constant 74 + 227: TypeVector 98(int) 2 + 228: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 100 28 + 229: TypePointer Function 227(ivec2) + 230: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 228 23 12 + 234: 7(int) Constant 78 + 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 233 228 41 234 12 65 20 + 239: TypeVector 98(int) 3 + 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 100 13 + 246: 7(int) Constant 79 + 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 245 18 41 246 12 65 20 + 249: 16(float) Constant 1069547520 + 253: 7(int) Constant 80 + 251: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 252 18 41 253 12 65 20 + 258: TypePointer Function 98(int) + 259: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 100 23 12 + 267: 7(int) Constant 81 + 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 266 18 41 267 12 65 20 + 279: 7(int) Constant 83 + 277: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 278 18 41 279 12 65 20 + 285: 7(int) Constant 84 + 283: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 284 100 41 285 12 65 20 + 291: 7(int) Constant 85 + 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 290 100 41 291 12 65 20 + 294: 98(int) Constant 1 + 298: 7(int) Constant 87 + 296: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 297 100 41 298 12 65 20 + 318: 7(int) Constant 89 + 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 317 100 41 318 12 65 20 + 339: 7(int) Constant 91 + 358: 7(int) Constant 92 + 371: 7(int) Constant 96 + 379: 7(int) Constant 97 + 384: 7(int) Constant 100 + 382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 383 100 41 384 12 85 20 + 397: 98(int) Constant 3 + 402: 7(int) Constant 102 + 400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 401 21 41 402 12 85 20 + 406: TypeMatrix 19(fvec4) 4 + 408: 141(bool) ConstantTrue + 407: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 21 20 408 + 409(Light): TypeStruct 19(fvec4) 19(fvec4) 19(fvec4) 406 + 412: 7(int) Constant 47 + 410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 411 21 41 412 23 12 12 13 + 413: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 411 21 41 412 23 12 12 13 + 414: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 411 21 41 412 23 12 12 13 + 417: 7(int) Constant 48 + 415: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 416 407 41 417 23 12 12 13 + 418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 419 45 41 402 12 44 419 12 13 410 413 414 415 + 420: TypeArray 409(Light) 13 + 421: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 418 13 + 422(UBO): TypeStruct 19(fvec4) 420 98(int) 98(int) + 423: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 411 21 41 412 23 12 12 13 + 426: 7(int) Constant 54 + 424: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 425 421 41 426 107 12 12 13 + 429: 7(int) Constant 56 + 427: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 428 100 41 429 11 12 12 13 + 430: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 428 100 41 429 11 12 12 13 + 431: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 432 45 41 402 12 44 432 12 13 423 424 427 430 + 433: TypePointer Uniform 422(UBO) + 434: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 431 28 12 + 435(ubo): 433(ptr) Variable Uniform + 436: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 437 431 41 402 12 44 437 435(ubo) 107 + 439: TypePointer Uniform 406 + 440: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 407 28 12 + 451: 7(int) Constant 106 + 450: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 278 18 41 451 12 85 20 + 462: 7(int) Constant 111 + 472: 7(int) Constant 113 + 477: 7(int) Constant 114 + 484: 7(int) Constant 119 + 482: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 483 75 41 484 12 96 20 + 487: TypeImage 16(float) 2D sampled format:Unknown + 488: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 171 12 41 484 12 44 172 173 13 + 489: TypeSampledImage 487 + 490: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 176 12 41 484 12 44 177 173 13 + 491: TypePointer UniformConstant 489 + 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 490 12 12 +493(samplerposition): 491(ptr) Variable UniformConstant + 494: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 495 490 41 484 12 44 495 493(samplerposition) 107 + 497: TypePointer Input 27(fvec2) + 498: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 29 45 12 + 499(inUV): 497(ptr) Variable Input + 500: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 501 29 41 484 12 44 501 499(inUV) 107 + 508: 7(int) Constant 120 + 506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 507 75 41 508 12 96 20 +511(samplerNormal): 491(ptr) Variable UniformConstant + 512: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 513 490 41 508 12 44 513 511(samplerNormal) 107 + 521: 7(int) Constant 121 + 519: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 520 21 41 521 12 96 20 +524(samplerAlbedo): 491(ptr) Variable UniformConstant + 525: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 526 490 41 521 12 44 526 524(samplerAlbedo) 107 + 530: TypePointer Uniform 98(int) + 531: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 100 28 12 + 534: 7(int) Constant 124 + 542: 7(int) Constant 125 + 550: TypePointer Output 19(fvec4) + 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 13 12 +552(outFragColor): 550(ptr) Variable Output + 555: 7(int) Constant 127 + 553: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 554 21 41 555 12 44 554 552(outFragColor) 107 + 556: 74(fvec3) ConstantComposite 117 117 117 + 563: TypePointer Output 16(float) + 564: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 + 572: 7(int) Constant 128 + 577: 7(int) Constant 130 + 585: 7(int) Constant 131 + 590: 7(int) Constant 133 + 598: 7(int) Constant 134 + 603: 7(int) Constant 136 + 612: 7(int) Constant 137 + 617: 7(int) Constant 139 + 626: 7(int) Constant 140 + 632: 7(int) Constant 142 + 634: 7(int) Constant 143 638: 7(int) Constant 147 637: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 75 41 638 12 96 20 644: 16(float) Constant 1036831949 649: 7(int) Constant 149 647: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 648 75 41 649 12 96 20 656: 7(int) Constant 151 - 655: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 379 100 41 656 12 96 20 + 655: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 383 100 41 656 12 96 20 673: 7(int) Constant 154 671: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 672 75 41 673 12 96 20 678: TypePointer Uniform 19(fvec4) 679: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 28 12 687: 7(int) Constant 156 - 686: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 162 18 41 687 12 96 20 + 686: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 164 18 41 687 12 96 20 694: 7(int) Constant 157 699: 7(int) Constant 160 697: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 698 75 41 699 12 96 20 @@ -627,16 +630,17 @@ void main() 856: 7(int) Constant 188 865: 7(int) Constant 190 872: 7(int) Constant 193 + 878: 7(int) Constant 194 14(main): 4 Function None 5 15: Label - 475(fragPos): 76(ptr) Variable Function - 499(normal): 76(ptr) Variable Function - 512(albedo): 22(ptr) Variable Function - 551(param): 76(ptr) Variable Function - 554(param): 76(ptr) Variable Function + 481(fragPos): 76(ptr) Variable Function + 505(normal): 76(ptr) Variable Function + 518(albedo): 22(ptr) Variable Function + 557(param): 76(ptr) Variable Function + 560(param): 76(ptr) Variable Function 636(fragcolor): 76(ptr) Variable Function 646(N): 76(ptr) Variable Function - 654(i): 255(ptr) Variable Function + 654(i): 258(ptr) Variable Function 670(L): 76(ptr) Variable Function 685(dist): 25(ptr) Variable Function 696(V): 76(ptr) Variable Function @@ -657,145 +661,145 @@ void main() 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 110: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 106 106 12 12 Store 103(global_var) 108 - 473: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 97 97 12 12 - 472: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 96 14(main) - 480: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 478 478 12 12 - 479: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 476 475(fragPos) 49 - 490: 483 Load 487(samplerposition) - 496: 27(fvec2) Load 493(inUV) - 497: 19(fvec4) ImageSampleImplicitLod 490 496 - 498: 74(fvec3) VectorShuffle 497 497 0 1 2 - Store 475(fragPos) 498 - 504: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 502 502 12 12 - 503: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 500 499(normal) 49 - 508: 483 Load 505(samplerNormal) - 509: 27(fvec2) Load 493(inUV) - 510: 19(fvec4) ImageSampleImplicitLod 508 509 - 511: 74(fvec3) VectorShuffle 510 510 0 1 2 - Store 499(normal) 511 - 517: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 515 515 12 12 - 516: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 513 512(albedo) 49 - 521: 483 Load 518(samplerAlbedo) - 522: 27(fvec2) Load 493(inUV) - 523: 19(fvec4) ImageSampleImplicitLod 521 522 - Store 512(albedo) 523 - 527: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 528 528 12 12 - 526: 524(ptr) AccessChain 431(ubo) 393 - 529: 98(int) Load 526 - 530: 141(bool) SGreaterThan 529 108 - SelectionMerge 532 None - BranchConditional 530 531 532 - 531: Label - 534: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 535: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 536 536 12 12 - 533: 524(ptr) AccessChain 431(ubo) 393 - 537: 98(int) Load 533 - SelectionMerge 543 None - Switch 537 543 - case 1: 538 - case 2: 539 - case 3: 540 - case 4: 541 - case 5: 542 - 538: Label - 552: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 553: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 549 549 12 12 - Store 551(param) 550 - 555: 74(fvec3) Load 475(fragPos) - Store 554(param) 555 - 556: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 551(param) 554(param) - 559: 557(ptr) AccessChain 546(outFragColor) 12 - 560: 16(float) CompositeExtract 556 0 - Store 559 560 - 561: 557(ptr) AccessChain 546(outFragColor) 45 - 562: 16(float) CompositeExtract 556 1 - Store 561 562 - 563: 557(ptr) AccessChain 546(outFragColor) 28 - 564: 16(float) CompositeExtract 556 2 - Store 563 564 - 565: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 566 566 12 12 - Branch 543 - 539: Label - 570: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 479: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 480: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 97 97 12 12 + 478: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 96 14(main) + 486: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 484 484 12 12 + 485: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 482 481(fragPos) 49 + 496: 489 Load 493(samplerposition) + 502: 27(fvec2) Load 499(inUV) + 503: 19(fvec4) ImageSampleImplicitLod 496 502 + 504: 74(fvec3) VectorShuffle 503 503 0 1 2 + Store 481(fragPos) 504 + 510: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 508 508 12 12 + 509: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 506 505(normal) 49 + 514: 489 Load 511(samplerNormal) + 515: 27(fvec2) Load 499(inUV) + 516: 19(fvec4) ImageSampleImplicitLod 514 515 + 517: 74(fvec3) VectorShuffle 516 516 0 1 2 + Store 505(normal) 517 + 523: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 521 521 12 12 + 522: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 519 518(albedo) 49 + 527: 489 Load 524(samplerAlbedo) + 528: 27(fvec2) Load 499(inUV) + 529: 19(fvec4) ImageSampleImplicitLod 527 528 + Store 518(albedo) 529 + 533: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 534 534 12 12 + 532: 530(ptr) AccessChain 435(ubo) 397 + 535: 98(int) Load 532 + 536: 141(bool) SGreaterThan 535 108 + SelectionMerge 538 None + BranchConditional 536 537 538 + 537: Label + 540: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 541: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 542 542 12 12 + 539: 530(ptr) AccessChain 435(ubo) 397 + 543: 98(int) Load 539 + SelectionMerge 549 None + Switch 543 549 + case 1: 544 + case 2: 545 + case 3: 546 + case 4: 547 + case 5: 548 + 544: Label + 558: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 559: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 555 555 12 12 + Store 557(param) 556 + 561: 74(fvec3) Load 481(fragPos) + Store 560(param) 561 + 562: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 557(param) 560(param) + 565: 563(ptr) AccessChain 552(outFragColor) 12 + 566: 16(float) CompositeExtract 562 0 + Store 565 566 + 567: 563(ptr) AccessChain 552(outFragColor) 45 + 568: 16(float) CompositeExtract 562 1 + Store 567 568 + 569: 563(ptr) AccessChain 552(outFragColor) 28 + 570: 16(float) CompositeExtract 562 2 + Store 569 570 571: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 572 572 12 12 - 569: 74(fvec3) Load 475(fragPos) - 573: 557(ptr) AccessChain 546(outFragColor) 12 - 574: 16(float) CompositeExtract 569 0 - Store 573 574 - 575: 557(ptr) AccessChain 546(outFragColor) 45 - 576: 16(float) CompositeExtract 569 1 - Store 575 576 - 577: 557(ptr) AccessChain 546(outFragColor) 28 - 578: 16(float) CompositeExtract 569 2 - Store 577 578 - 579: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 580 580 12 12 - Branch 543 - 540: Label - 584: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 585: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 586 586 12 12 - 583: 74(fvec3) Load 499(normal) - 587: 557(ptr) AccessChain 546(outFragColor) 12 - 588: 16(float) CompositeExtract 583 0 - Store 587 588 - 589: 557(ptr) AccessChain 546(outFragColor) 45 - 590: 16(float) CompositeExtract 583 1 - Store 589 590 - 591: 557(ptr) AccessChain 546(outFragColor) 28 - 592: 16(float) CompositeExtract 583 2 + Branch 549 + 545: Label + 575: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 576: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 577 577 12 12 + 574: 74(fvec3) Load 481(fragPos) + 578: 563(ptr) AccessChain 552(outFragColor) 12 + 579: 16(float) CompositeExtract 574 0 + Store 578 579 + 580: 563(ptr) AccessChain 552(outFragColor) 45 + 581: 16(float) CompositeExtract 574 1 + Store 580 581 + 582: 563(ptr) AccessChain 552(outFragColor) 28 + 583: 16(float) CompositeExtract 574 2 + Store 582 583 + 584: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 585 585 12 12 + Branch 549 + 546: Label + 588: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 589: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 590 590 12 12 + 587: 74(fvec3) Load 505(normal) + 591: 563(ptr) AccessChain 552(outFragColor) 12 + 592: 16(float) CompositeExtract 587 0 Store 591 592 - 593: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 594 594 12 12 - Branch 543 - 541: Label - 598: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 599: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 600 600 12 12 - 597: 19(fvec4) Load 512(albedo) - 601: 74(fvec3) VectorShuffle 597 597 0 1 2 - 602: 557(ptr) AccessChain 546(outFragColor) 12 - 603: 16(float) CompositeExtract 601 0 - Store 602 603 - 604: 557(ptr) AccessChain 546(outFragColor) 45 - 605: 16(float) CompositeExtract 601 1 - Store 604 605 - 606: 557(ptr) AccessChain 546(outFragColor) 28 - 607: 16(float) CompositeExtract 601 2 - Store 606 607 - 608: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 609 609 12 12 - Branch 543 - 542: Label - 613: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 614: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 615 615 12 12 - 612: 19(fvec4) Load 512(albedo) - 616: 74(fvec3) VectorShuffle 612 612 3 3 3 - 617: 557(ptr) AccessChain 546(outFragColor) 12 - 618: 16(float) CompositeExtract 616 0 - Store 617 618 - 619: 557(ptr) AccessChain 546(outFragColor) 45 - 620: 16(float) CompositeExtract 616 1 + 593: 563(ptr) AccessChain 552(outFragColor) 45 + 594: 16(float) CompositeExtract 587 1 + Store 593 594 + 595: 563(ptr) AccessChain 552(outFragColor) 28 + 596: 16(float) CompositeExtract 587 2 + Store 595 596 + 597: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 598 598 12 12 + Branch 549 + 547: Label + 601: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 602: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 603 603 12 12 + 600: 19(fvec4) Load 518(albedo) + 604: 74(fvec3) VectorShuffle 600 600 0 1 2 + 605: 563(ptr) AccessChain 552(outFragColor) 12 + 606: 16(float) CompositeExtract 604 0 + Store 605 606 + 607: 563(ptr) AccessChain 552(outFragColor) 45 + 608: 16(float) CompositeExtract 604 1 + Store 607 608 + 609: 563(ptr) AccessChain 552(outFragColor) 28 + 610: 16(float) CompositeExtract 604 2 + Store 609 610 + 611: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 612 612 12 12 + Branch 549 + 548: Label + 615: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 616: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 617 617 12 12 + 614: 19(fvec4) Load 518(albedo) + 618: 74(fvec3) VectorShuffle 614 614 3 3 3 + 619: 563(ptr) AccessChain 552(outFragColor) 12 + 620: 16(float) CompositeExtract 618 0 Store 619 620 - 621: 557(ptr) AccessChain 546(outFragColor) 28 - 622: 16(float) CompositeExtract 616 2 + 621: 563(ptr) AccessChain 552(outFragColor) 45 + 622: 16(float) CompositeExtract 618 1 Store 621 622 - 623: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 624 624 12 12 - Branch 543 - 543: Label - 629: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 630: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 631 631 12 12 - 628: 557(ptr) AccessChain 546(outFragColor) 13 - Store 628 117 - 632: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 633 633 12 12 + 623: 563(ptr) AccessChain 552(outFragColor) 28 + 624: 16(float) CompositeExtract 618 2 + Store 623 624 + 625: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 626 626 12 12 + Branch 549 + 549: Label + 630: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 631: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 632 632 12 12 + 629: 563(ptr) AccessChain 552(outFragColor) 13 + Store 629 117 + 633: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 634 634 12 12 Return - 532: Label + 538: Label 640: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 641: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 638 638 12 12 639: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 637 636(fragcolor) 49 - 642: 19(fvec4) Load 512(albedo) + 642: 19(fvec4) Load 518(albedo) 643: 74(fvec3) VectorShuffle 642 642 0 1 2 645: 74(fvec3) VectorTimesScalar 643 644 Store 636(fragcolor) 645 651: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 649 649 12 12 650: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 647 646(N) 49 - 652: 74(fvec3) Load 499(normal) + 652: 74(fvec3) Load 505(normal) 653: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 652 Store 646(N) 653 658: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 656 656 12 12 @@ -811,17 +815,17 @@ void main() 667: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 668: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 656 656 12 12 666: 98(int) Load 654(i) - 669: 141(bool) SLessThan 666 393 + 669: 141(bool) SLessThan 666 397 BranchConditional 669 660 661 660: Label 675: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 676: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 673 673 12 12 674: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 671 670(L) 49 677: 98(int) Load 654(i) - 680: 678(ptr) AccessChain 431(ubo) 291 677 108 + 680: 678(ptr) AccessChain 435(ubo) 294 677 108 681: 19(fvec4) Load 680 682: 74(fvec3) VectorShuffle 681 681 0 1 2 - 683: 74(fvec3) Load 475(fragPos) + 683: 74(fvec3) Load 481(fragPos) 684: 74(fvec3) FSub 682 683 Store 670(L) 684 689: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 687 687 12 12 @@ -835,10 +839,10 @@ void main() Store 670(L) 695 701: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 699 699 12 12 700: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 697 696(V) 49 - 702: 678(ptr) AccessChain 431(ubo) 108 + 702: 678(ptr) AccessChain 435(ubo) 108 703: 19(fvec4) Load 702 704: 74(fvec3) VectorShuffle 703 703 0 1 2 - 705: 74(fvec3) Load 475(fragPos) + 705: 74(fvec3) Load 481(fragPos) 706: 74(fvec3) FSub 704 705 Store 696(V) 706 708: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 709 709 12 12 @@ -857,11 +861,11 @@ void main() 737: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 735 735 12 12 736: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 733 732(dir) 49 738: 98(int) Load 654(i) - 739: 678(ptr) AccessChain 431(ubo) 291 738 108 + 739: 678(ptr) AccessChain 435(ubo) 294 738 108 740: 19(fvec4) Load 739 741: 74(fvec3) VectorShuffle 740 740 0 1 2 742: 98(int) Load 654(i) - 743: 678(ptr) AccessChain 431(ubo) 291 742 291 + 743: 678(ptr) AccessChain 435(ubo) 294 742 294 744: 19(fvec4) Load 743 745: 74(fvec3) VectorShuffle 744 744 0 1 2 746: 74(fvec3) FSub 741 745 @@ -884,14 +888,14 @@ void main() 771: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 768 767(heightAttenuation) 49 773: 16(float) Load 725(lightRange) 774: 16(float) Load 685(dist) - 775: 16(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 773 196 774 + 775: 16(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 773 198 774 Store 767(heightAttenuation) 775 781: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 779 779 12 12 780: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 777 776(NdotL) 49 782: 74(fvec3) Load 646(N) 783: 74(fvec3) Load 670(L) 784: 16(float) Dot 782 783 - 785: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 196 784 + 785: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 198 784 Store 776(NdotL) 785 791: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 789 789 12 12 790: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 787 786(diff) 49 @@ -910,13 +914,13 @@ void main() 810: 74(fvec3) Load 794(R) 811: 74(fvec3) Load 696(V) 812: 16(float) Dot 810 811 - 813: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 196 812 + 813: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 198 812 Store 804(NdotR) 813 819: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 817 817 12 12 818: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 815 814(spec) 49 820: 16(float) Load 804(NdotR) 822: 16(float) ExtInst 3(GLSL.std.450) 26(Pow) 820 821 - 823: 25(ptr) AccessChain 512(albedo) 13 + 823: 25(ptr) AccessChain 518(albedo) 13 824: 16(float) Load 823 825: 16(float) FMul 822 824 827: 16(float) FMul 825 826 @@ -931,11 +935,11 @@ void main() 836: 16(float) Load 767(heightAttenuation) 837: 74(fvec3) VectorTimesScalar 835 836 838: 98(int) Load 654(i) - 840: 678(ptr) AccessChain 431(ubo) 291 838 839 + 840: 678(ptr) AccessChain 435(ubo) 294 838 839 841: 19(fvec4) Load 840 842: 74(fvec3) VectorShuffle 841 841 0 1 2 843: 74(fvec3) FMul 837 842 - 844: 19(fvec4) Load 512(albedo) + 844: 19(fvec4) Load 518(albedo) 845: 74(fvec3) VectorShuffle 844 844 0 1 2 846: 74(fvec3) FMul 843 845 847: 74(fvec3) Load 636(fragcolor) @@ -946,13 +950,13 @@ void main() 850: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 851: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 656 656 12 12 849: 98(int) Load 654(i) - 852: 98(int) IAdd 849 291 + 852: 98(int) IAdd 849 294 Store 654(i) 852 Branch 659 661: Label 854: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 855: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 856 856 12 12 - 853: 524(ptr) AccessChain 431(ubo) 839 + 853: 530(ptr) AccessChain 435(ubo) 839 857: 98(int) Load 853 858: 141(bool) SGreaterThan 857 108 SelectionMerge 860 None @@ -962,7 +966,7 @@ void main() 864: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 865 865 12 12 862: 74(fvec3) Load 636(fragcolor) Store 861(param) 862 - 867: 74(fvec3) Load 475(fragPos) + 867: 74(fvec3) Load 481(fragPos) Store 866(param) 867 868: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 861(param) 866(param) Store 636(fragcolor) 868 @@ -975,7 +979,8 @@ void main() 874: 16(float) CompositeExtract 869 1 875: 16(float) CompositeExtract 869 2 876: 19(fvec4) CompositeConstruct 873 874 875 117 - Store 546(outFragColor) 876 + Store 552(outFragColor) 876 + 877: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 878 878 12 12 Return FunctionEnd 37(textureProj(vf4;f1;vf2;): 16(float) Function None 32 @@ -985,7 +990,7 @@ void main() 38: Label 112(shadow): 25(ptr) Variable Function 118(shadowCoord): 22(ptr) Variable Function - 160(dist): 25(ptr) Variable Function + 162(dist): 25(ptr) Variable Function 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 51: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 43 43 12 12 48: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 46 34(P) 49 @@ -1030,274 +1035,274 @@ void main() Branch 151 151: Label 157: 141(bool) Phi 149 38 156 150 - 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 160: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 146 146 12 12 SelectionMerge 159 None BranchConditional 157 158 159 158: Label - 165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 163 163 12 12 - 164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 161 160(dist) 49 - 181: 172 Load 178(samplerShadowMap) - 182: 19(fvec4) Load 118(shadowCoord) - 183: 27(fvec2) VectorShuffle 182 182 0 1 - 184: 27(fvec2) Load 36(offset) - 185: 27(fvec2) FAdd 183 184 - 186: 16(float) Load 35(layer) - 187: 16(float) CompositeExtract 185 0 - 188: 16(float) CompositeExtract 185 1 - 189: 74(fvec3) CompositeConstruct 187 188 186 - 190: 19(fvec4) ImageSampleImplicitLod 181 189 - 191: 16(float) CompositeExtract 190 0 - Store 160(dist) 191 - 193: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 194 194 12 12 - 192: 25(ptr) AccessChain 118(shadowCoord) 13 - 195: 16(float) Load 192 - 197: 141(bool) FOrdGreaterThan 195 196 - SelectionMerge 199 None - BranchConditional 197 198 199 - 198: Label - 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 202: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 194 194 12 12 - 200: 16(float) Load 160(dist) - 203: 25(ptr) AccessChain 118(shadowCoord) 28 - 204: 16(float) Load 203 - 205: 141(bool) FOrdLessThan 200 204 - Branch 199 - 199: Label - 206: 141(bool) Phi 197 158 205 198 - 213: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - SelectionMerge 208 None - BranchConditional 206 207 208 - 207: Label - 210: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 212 212 12 12 - Store 112(shadow) 209 - Branch 208 - 208: Label - 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 165 165 12 12 + 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 163 162(dist) 49 + 183: 174 Load 180(samplerShadowMap) + 184: 19(fvec4) Load 118(shadowCoord) + 185: 27(fvec2) VectorShuffle 184 184 0 1 + 186: 27(fvec2) Load 36(offset) + 187: 27(fvec2) FAdd 185 186 + 188: 16(float) Load 35(layer) + 189: 16(float) CompositeExtract 187 0 + 190: 16(float) CompositeExtract 187 1 + 191: 74(fvec3) CompositeConstruct 189 190 188 + 192: 19(fvec4) ImageSampleImplicitLod 183 191 + 193: 16(float) CompositeExtract 192 0 + Store 162(dist) 193 + 195: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 196 196 12 12 + 194: 25(ptr) AccessChain 118(shadowCoord) 13 + 197: 16(float) Load 194 + 199: 141(bool) FOrdGreaterThan 197 198 + SelectionMerge 201 None + BranchConditional 199 200 201 + 200: Label + 203: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 204: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 196 196 12 12 + 202: 16(float) Load 162(dist) + 205: 25(ptr) AccessChain 118(shadowCoord) 28 + 206: 16(float) Load 205 + 207: 141(bool) FOrdLessThan 202 206 + Branch 201 + 201: Label + 208: 141(bool) Phi 199 158 207 200 + 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 196 196 12 12 + SelectionMerge 210 None + BranchConditional 208 209 210 + 209: Label + 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 216 216 12 12 + Store 112(shadow) 213 + Branch 210 + 210: Label Branch 159 159: Label - 217: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 218: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 219 219 12 12 - 216: 16(float) Load 112(shadow) - ReturnValue 216 + 218: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 219: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 220 220 12 12 + 217: 16(float) Load 112(shadow) + ReturnValue 217 FunctionEnd 62(filterPCF(vf4;f1;): 16(float) Function None 58 60(sc): 22(ptr) FunctionParameter 61(layer): 25(ptr) FunctionParameter 63: Label - 228(texDim): 226(ptr) Variable Function - 240(scale): 25(ptr) Variable Function - 247(dx): 25(ptr) Variable Function - 261(dy): 25(ptr) Variable Function -273(shadowFactor): 25(ptr) Variable Function - 279(count): 255(ptr) Variable Function - 285(range): 255(ptr) Variable Function - 292(x): 255(ptr) Variable Function - 312(y): 255(ptr) Variable Function - 345(param): 22(ptr) Variable Function - 347(param): 25(ptr) Variable Function - 349(param): 30(ptr) Variable Function + 231(texDim): 229(ptr) Variable Function + 243(scale): 25(ptr) Variable Function + 250(dx): 25(ptr) Variable Function + 264(dy): 25(ptr) Variable Function +276(shadowFactor): 25(ptr) Variable Function + 282(count): 258(ptr) Variable Function + 288(range): 258(ptr) Variable Function + 295(x): 258(ptr) Variable Function + 315(y): 258(ptr) Variable Function + 348(param): 22(ptr) Variable Function + 350(param): 25(ptr) Variable Function + 352(param): 30(ptr) Variable Function 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 66 66 12 12 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 67 60(sc) 49 73: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 72 61(layer) 49 - 223: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 65 62(filterPCF(vf4;f1;) - 233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 231 231 12 12 - 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 229 228(texDim) 49 - 234: 172 Load 178(samplerShadowMap) - 235: 167 Image 234 - 238: 236(ivec3) ImageQuerySizeLod 235 108 - 239: 224(ivec2) VectorShuffle 238 238 0 1 - Store 228(texDim) 239 - 245: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 243 243 12 12 - 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 241 240(scale) 49 - Store 240(scale) 246 - 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 250 250 12 12 - 251: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 248 247(dx) 49 - 253: 16(float) Load 240(scale) - 254: 16(float) FMul 253 117 - 257: 255(ptr) AccessChain 228(texDim) 12 - 258: 98(int) Load 257 - 259: 16(float) ConvertSToF 258 - 260: 16(float) FDiv 254 259 - Store 247(dx) 260 - 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 264 264 12 12 - 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 262 261(dy) 49 - 267: 16(float) Load 240(scale) - 268: 16(float) FMul 267 117 - 269: 255(ptr) AccessChain 228(texDim) 45 - 270: 98(int) Load 269 - 271: 16(float) ConvertSToF 270 - 272: 16(float) FDiv 268 271 - Store 261(dy) 272 - 278: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 276 276 12 12 - 277: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 274 273(shadowFactor) 49 - Store 273(shadowFactor) 196 - 284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 282 282 12 12 - 283: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 280 279(count) 49 - Store 279(count) 108 - 290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 288 288 12 12 - 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 286 285(range) 49 - Store 285(range) 291 - 297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 295 295 12 12 - 296: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 293 292(x) 49 - 298: 98(int) Load 285(range) - 299: 98(int) SNegate 298 - Store 292(x) 299 - Branch 300 - 300: Label - 304: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 305: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 295 295 12 12 - LoopMerge 302 303 None - Branch 306 - 306: Label - 308: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 309: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 295 295 12 12 - 307: 98(int) Load 292(x) - 310: 98(int) Load 285(range) - 311: 141(bool) SLessThanEqual 307 310 - BranchConditional 311 301 302 - 301: Label - 317: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 315 315 12 12 - 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 313 312(y) 49 - 319: 98(int) Load 285(range) - 320: 98(int) SNegate 319 - Store 312(y) 320 - Branch 321 - 321: Label - 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 326: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 315 315 12 12 - LoopMerge 323 324 None - Branch 327 - 327: Label - 329: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 330: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 315 315 12 12 - 328: 98(int) Load 312(y) - 331: 98(int) Load 285(range) - 332: 141(bool) SLessThanEqual 328 331 - BranchConditional 332 322 323 - 322: Label - 334: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 336 336 12 12 - 333: 16(float) Load 247(dx) - 337: 98(int) Load 292(x) - 338: 16(float) ConvertSToF 337 - 339: 16(float) FMul 333 338 - 340: 16(float) Load 261(dy) - 341: 98(int) Load 312(y) - 342: 16(float) ConvertSToF 341 - 343: 16(float) FMul 340 342 - 344: 27(fvec2) CompositeConstruct 339 343 - 346: 19(fvec4) Load 60(sc) - Store 345(param) 346 - 348: 16(float) Load 61(layer) - Store 347(param) 348 - Store 349(param) 344 - 350: 16(float) FunctionCall 37(textureProj(vf4;f1;vf2;) 345(param) 347(param) 349(param) - 351: 16(float) Load 273(shadowFactor) - 352: 16(float) FAdd 351 350 - Store 273(shadowFactor) 352 - 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 355 355 12 12 - 353: 98(int) Load 279(count) - 356: 98(int) IAdd 353 291 - Store 279(count) 356 + 226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 65 62(filterPCF(vf4;f1;) + 236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 234 234 12 12 + 235: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 232 231(texDim) 49 + 237: 174 Load 180(samplerShadowMap) + 238: 169 Image 237 + 241: 239(ivec3) ImageQuerySizeLod 238 108 + 242: 227(ivec2) VectorShuffle 241 241 0 1 + Store 231(texDim) 242 + 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 246 246 12 12 + 247: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 244 243(scale) 49 + Store 243(scale) 249 + 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 253 253 12 12 + 254: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 251 250(dx) 49 + 256: 16(float) Load 243(scale) + 257: 16(float) FMul 256 117 + 260: 258(ptr) AccessChain 231(texDim) 12 + 261: 98(int) Load 260 + 262: 16(float) ConvertSToF 261 + 263: 16(float) FDiv 257 262 + Store 250(dx) 263 + 269: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 267 267 12 12 + 268: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 265 264(dy) 49 + 270: 16(float) Load 243(scale) + 271: 16(float) FMul 270 117 + 272: 258(ptr) AccessChain 231(texDim) 45 + 273: 98(int) Load 272 + 274: 16(float) ConvertSToF 273 + 275: 16(float) FDiv 271 274 + Store 264(dy) 275 + 281: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 279 279 12 12 + 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 277 276(shadowFactor) 49 + Store 276(shadowFactor) 198 + 287: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 285 285 12 12 + 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 283 282(count) 49 + Store 282(count) 108 + 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 291 291 12 12 + 292: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 289 288(range) 49 + Store 288(range) 294 + 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 298 298 12 12 + 299: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 296 295(x) 49 + 301: 98(int) Load 288(range) + 302: 98(int) SNegate 301 + Store 295(x) 302 + Branch 303 + 303: Label + 307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 308: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 298 298 12 12 + LoopMerge 305 306 None + Branch 309 + 309: Label + 311: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 298 298 12 12 + 310: 98(int) Load 295(x) + 313: 98(int) Load 288(range) + 314: 141(bool) SLessThanEqual 310 313 + BranchConditional 314 304 305 + 304: Label + 320: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 321: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 318 318 12 12 + 319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 316 315(y) 49 + 322: 98(int) Load 288(range) + 323: 98(int) SNegate 322 + Store 315(y) 323 + Branch 324 + 324: Label + 328: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 329: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 318 318 12 12 + LoopMerge 326 327 None + Branch 330 + 330: Label + 332: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 333: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 318 318 12 12 + 331: 98(int) Load 315(y) + 334: 98(int) Load 288(range) + 335: 141(bool) SLessThanEqual 331 334 + BranchConditional 335 325 326 + 325: Label + 337: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 338: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 339 339 12 12 + 336: 16(float) Load 250(dx) + 340: 98(int) Load 295(x) + 341: 16(float) ConvertSToF 340 + 342: 16(float) FMul 336 341 + 343: 16(float) Load 264(dy) + 344: 98(int) Load 315(y) + 345: 16(float) ConvertSToF 344 + 346: 16(float) FMul 343 345 + 347: 27(fvec2) CompositeConstruct 342 346 + 349: 19(fvec4) Load 60(sc) + Store 348(param) 349 + 351: 16(float) Load 61(layer) + Store 350(param) 351 + Store 352(param) 347 + 353: 16(float) FunctionCall 37(textureProj(vf4;f1;vf2;) 348(param) 350(param) 352(param) + 354: 16(float) Load 276(shadowFactor) + 355: 16(float) FAdd 354 353 + Store 276(shadowFactor) 355 + 357: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 358 358 12 12 + 356: 98(int) Load 282(count) + 359: 98(int) IAdd 356 294 + Store 282(count) 359 + Branch 327 + 327: Label + 361: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 362: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 318 318 12 12 + 360: 98(int) Load 315(y) + 363: 98(int) IAdd 360 294 + Store 315(y) 363 Branch 324 - 324: Label - 358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 359: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 315 315 12 12 - 357: 98(int) Load 312(y) - 360: 98(int) IAdd 357 291 - Store 312(y) 360 - Branch 321 - 323: Label - 361: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 326: Label + Branch 306 + 306: Label + 365: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 366: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 298 298 12 12 + 364: 98(int) Load 295(x) + 367: 98(int) IAdd 364 294 + Store 295(x) 367 Branch 303 - 303: Label - 363: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 364: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 295 295 12 12 - 362: 98(int) Load 292(x) - 365: 98(int) IAdd 362 291 - Store 292(x) 365 - Branch 300 - 302: Label - 367: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 368: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 369 369 12 12 - 366: 16(float) Load 273(shadowFactor) - 370: 98(int) Load 279(count) - 371: 16(float) ConvertSToF 370 - 372: 16(float) FDiv 366 371 - ReturnValue 372 + 305: Label + 369: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 370: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 371 371 12 12 + 368: 16(float) Load 276(shadowFactor) + 372: 98(int) Load 282(count) + 373: 16(float) ConvertSToF 372 + 374: 16(float) FDiv 368 373 + ReturnValue 374 FunctionEnd 82(shadow(vf3;vf3;): 74(fvec3) Function None 78 80(fragcolor): 76(ptr) FunctionParameter 81(fragpos): 76(ptr) FunctionParameter 83: Label - 377(i): 255(ptr) Variable Function - 395(shadowClip): 22(ptr) Variable Function -445(shadowFactor): 25(ptr) Variable Function - 452(param): 22(ptr) Variable Function - 454(param): 25(ptr) Variable Function + 381(i): 258(ptr) Variable Function + 399(shadowClip): 22(ptr) Variable Function +449(shadowFactor): 25(ptr) Variable Function + 456(param): 22(ptr) Variable Function + 458(param): 25(ptr) Variable Function 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 86 86 12 12 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 87 80(fragcolor) 49 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 92 81(fragpos) 49 - 376: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 85 82(shadow(vf3;vf3;) - 382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 380 380 12 12 - 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 378 377(i) 49 - Store 377(i) 108 - Branch 383 - 383: Label - 387: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 - 388: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 380 380 12 12 - LoopMerge 385 386 None - Branch 389 - 389: Label + 380: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 85 82(shadow(vf3;vf3;) + 386: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 384 384 12 12 + 385: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 382 381(i) 49 + Store 381(i) 108 + Branch 387 + 387: Label 391: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 - 392: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 380 380 12 12 - 390: 98(int) Load 377(i) - 394: 141(bool) SLessThan 390 393 - BranchConditional 394 384 385 - 384: Label - 400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 - 401: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 398 398 12 12 - 399: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 396 395(shadowClip) 49 - 434: 98(int) Load 377(i) - 437: 435(ptr) AccessChain 431(ubo) 291 434 393 - 438: 402 Load 437 - 439: 74(fvec3) Load 81(fragpos) - 440: 16(float) CompositeExtract 439 0 - 441: 16(float) CompositeExtract 439 1 - 442: 16(float) CompositeExtract 439 2 - 443: 19(fvec4) CompositeConstruct 440 441 442 117 - 444: 19(fvec4) MatrixTimesVector 438 443 - Store 395(shadowClip) 444 - 449: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 447 447 12 12 - 448: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 446 445(shadowFactor) 49 - 450: 98(int) Load 377(i) - 451: 16(float) ConvertSToF 450 - 453: 19(fvec4) Load 395(shadowClip) - Store 452(param) 453 - Store 454(param) 451 - 455: 16(float) FunctionCall 62(filterPCF(vf4;f1;) 452(param) 454(param) - Store 445(shadowFactor) 455 - 457: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 458 458 12 12 - 456: 16(float) Load 445(shadowFactor) - 459: 74(fvec3) Load 80(fragcolor) - 460: 74(fvec3) VectorTimesScalar 459 456 - Store 80(fragcolor) 460 - Branch 386 - 386: Label - 462: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 - 463: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 380 380 12 12 - 461: 98(int) Load 377(i) - 464: 98(int) IAdd 461 291 - Store 377(i) 464 - Branch 383 - 385: Label - 466: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 - 467: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 468 468 12 12 - 465: 74(fvec3) Load 80(fragcolor) - ReturnValue 465 + 392: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 384 384 12 12 + LoopMerge 389 390 None + Branch 393 + 393: Label + 395: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 384 384 12 12 + 394: 98(int) Load 381(i) + 398: 141(bool) SLessThan 394 397 + BranchConditional 398 388 389 + 388: Label + 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 405: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 402 402 12 12 + 403: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 400 399(shadowClip) 49 + 438: 98(int) Load 381(i) + 441: 439(ptr) AccessChain 435(ubo) 294 438 397 + 442: 406 Load 441 + 443: 74(fvec3) Load 81(fragpos) + 444: 16(float) CompositeExtract 443 0 + 445: 16(float) CompositeExtract 443 1 + 446: 16(float) CompositeExtract 443 2 + 447: 19(fvec4) CompositeConstruct 444 445 446 117 + 448: 19(fvec4) MatrixTimesVector 442 447 + Store 399(shadowClip) 448 + 453: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 451 451 12 12 + 452: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 450 449(shadowFactor) 49 + 454: 98(int) Load 381(i) + 455: 16(float) ConvertSToF 454 + 457: 19(fvec4) Load 399(shadowClip) + Store 456(param) 457 + Store 458(param) 455 + 459: 16(float) FunctionCall 62(filterPCF(vf4;f1;) 456(param) 458(param) + Store 449(shadowFactor) 459 + 461: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 462 462 12 12 + 460: 16(float) Load 449(shadowFactor) + 463: 74(fvec3) Load 80(fragcolor) + 464: 74(fvec3) VectorTimesScalar 463 460 + Store 80(fragcolor) 464 + Branch 390 + 390: Label + 466: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 467: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 384 384 12 12 + 465: 98(int) Load 381(i) + 468: 98(int) IAdd 465 294 + Store 381(i) 468 + Branch 387 + 389: Label + 470: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 471: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 472 472 12 12 + 469: 74(fvec3) Load 80(fragcolor) + ReturnValue 469 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.glsl.geom.out b/Test/baseResults/spv.debuginfo.glsl.geom.out index 0a92146a8..0f8ceab63 100644 --- a/Test/baseResults/spv.debuginfo.glsl.geom.out +++ b/Test/baseResults/spv.debuginfo.glsl.geom.out @@ -1,7 +1,7 @@ spv.debuginfo.glsl.geom // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 274 +// Id's are bound by 276 Capability Geometry Capability MultiViewport @@ -333,6 +333,7 @@ void main(void) 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 262 30 18 259 12 21 262 260(gl_PrimitiveIDIn) 68 266: 7(int) Constant 66 273: 7(int) Constant 68 + 275: 7(int) Constant 69 14(main): 4 Function None 5 15: Label 34(i): 31(ptr) Variable Function @@ -446,5 +447,6 @@ void main(void) 271: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 273 273 12 12 EndPrimitive + 274: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 275 275 12 12 Return FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.glsl.tesc.out b/Test/baseResults/spv.debuginfo.glsl.tesc.out index 9a6a3c661..e81dff1fe 100644 --- a/Test/baseResults/spv.debuginfo.glsl.tesc.out +++ b/Test/baseResults/spv.debuginfo.glsl.tesc.out @@ -1,14 +1,14 @@ spv.debuginfo.glsl.tesc // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 569 +// Id's are bound by 571 Capability Tessellation Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint TessellationControl 14 "main" 260 265 294 383 399 516 532 542 557 + EntryPoint TessellationControl 14 "main" 262 267 296 385 401 516 532 542 557 ExecutionMode 14 OutputVertices 4 2: String "spv.debuginfo.glsl.tesc" 8: String "uint" @@ -180,22 +180,22 @@ void main() 126: String "int" 137: String "clip0" 158: String "clip1" - 237: String "pos" - 245: String "gl_Position" - 248: String "gl_PointSize" - 251: String "gl_CullDistance" - 255: String "gl_PerVertex" - 262: String "gl_in" - 267: String "gl_InvocationID" - 275: String "type.2d.image" - 277: String "@type.2d.image" - 281: String "type.sampled.image" - 282: String "@type.sampled.image" - 287: String "samplerHeight" - 296: String "inUV" - 315: String "i" - 385: String "gl_TessLevelInner" - 401: String "gl_TessLevelOuter" + 239: String "pos" + 247: String "gl_Position" + 250: String "gl_PointSize" + 253: String "gl_CullDistance" + 257: String "gl_PerVertex" + 264: String "gl_in" + 269: String "gl_InvocationID" + 277: String "type.2d.image" + 279: String "@type.2d.image" + 283: String "type.sampled.image" + 284: String "@type.sampled.image" + 289: String "samplerHeight" + 298: String "inUV" + 317: String "i" + 387: String "gl_TessLevelInner" + 403: String "gl_TessLevelOuter" 518: String "gl_out" 534: String "outNormal" 544: String "inNormal" @@ -220,27 +220,27 @@ void main() Name 122 "ubo" Name 135 "clip0" Name 156 "clip1" - Name 235 "pos" - Name 243 "gl_PerVertex" - MemberName 243(gl_PerVertex) 0 "gl_Position" - MemberName 243(gl_PerVertex) 1 "gl_PointSize" - MemberName 243(gl_PerVertex) 2 "gl_ClipDistance" - MemberName 243(gl_PerVertex) 3 "gl_CullDistance" - Name 260 "gl_in" - Name 265 "gl_InvocationID" - Name 285 "samplerHeight" - Name 294 "inUV" - Name 313 "i" - Name 383 "gl_TessLevelInner" - Name 399 "gl_TessLevelOuter" - Name 424 "param" - Name 430 "param" - Name 435 "param" - Name 440 "param" - Name 445 "param" - Name 450 "param" - Name 455 "param" - Name 460 "param" + Name 237 "pos" + Name 245 "gl_PerVertex" + MemberName 245(gl_PerVertex) 0 "gl_Position" + MemberName 245(gl_PerVertex) 1 "gl_PointSize" + MemberName 245(gl_PerVertex) 2 "gl_ClipDistance" + MemberName 245(gl_PerVertex) 3 "gl_CullDistance" + Name 262 "gl_in" + Name 267 "gl_InvocationID" + Name 287 "samplerHeight" + Name 296 "inUV" + Name 315 "i" + Name 385 "gl_TessLevelInner" + Name 401 "gl_TessLevelOuter" + Name 426 "param" + Name 432 "param" + Name 437 "param" + Name 442 "param" + Name 447 "param" + Name 452 "param" + Name 457 "param" + Name 462 "param" Name 503 "gl_PerVertex" MemberName 503(gl_PerVertex) 0 "gl_Position" MemberName 503(gl_PerVertex) 1 "gl_PointSize" @@ -266,19 +266,19 @@ void main() MemberDecorate 99(UBO) 7 Offset 256 Decorate 122(ubo) Binding 0 Decorate 122(ubo) DescriptorSet 0 - Decorate 243(gl_PerVertex) Block - MemberDecorate 243(gl_PerVertex) 0 BuiltIn Position - MemberDecorate 243(gl_PerVertex) 1 BuiltIn PointSize - MemberDecorate 243(gl_PerVertex) 2 BuiltIn ClipDistance - MemberDecorate 243(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 265(gl_InvocationID) BuiltIn InvocationId - Decorate 285(samplerHeight) Binding 1 - Decorate 285(samplerHeight) DescriptorSet 0 - Decorate 294(inUV) Location 1 - Decorate 383(gl_TessLevelInner) BuiltIn TessLevelInner - Decorate 383(gl_TessLevelInner) Patch - Decorate 399(gl_TessLevelOuter) BuiltIn TessLevelOuter - Decorate 399(gl_TessLevelOuter) Patch + Decorate 245(gl_PerVertex) Block + MemberDecorate 245(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 245(gl_PerVertex) 1 BuiltIn PointSize + MemberDecorate 245(gl_PerVertex) 2 BuiltIn ClipDistance + MemberDecorate 245(gl_PerVertex) 3 BuiltIn CullDistance + Decorate 267(gl_InvocationID) BuiltIn InvocationId + Decorate 287(samplerHeight) Binding 1 + Decorate 287(samplerHeight) DescriptorSet 0 + Decorate 296(inUV) Location 1 + Decorate 385(gl_TessLevelInner) BuiltIn TessLevelInner + Decorate 385(gl_TessLevelInner) Patch + Decorate 401(gl_TessLevelOuter) BuiltIn TessLevelOuter + Decorate 401(gl_TessLevelOuter) Patch Decorate 503(gl_PerVertex) Block MemberDecorate 503(gl_PerVertex) 0 BuiltIn Position MemberDecorate 503(gl_PerVertex) 1 BuiltIn PointSize @@ -387,107 +387,109 @@ void main() 222: 125(int) Constant 5 226: 16(float) Constant 1065353216 227: 16(float) Constant 1115684864 - 238: 7(int) Constant 85 - 236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 237 21 33 238 12 56 20 - 241: TypeArray 16(float) 37 - 242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 37 -243(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 241 241 - 246: 7(int) Constant 1756 - 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 245 21 33 37 246 12 12 13 - 249: 7(int) Constant 1774 - 247: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 248 18 33 37 249 12 12 13 - 252: 7(int) Constant 1817 - 250: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 251 242 33 37 252 12 12 13 - 253: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 251 242 33 37 252 12 12 13 - 254: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 255 37 33 238 12 36 255 12 13 244 247 250 253 - 256: TypeArray 243(gl_PerVertex) 10 - 257: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 254 10 - 258: TypePointer Input 256 - 259: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 257 37 12 - 260(gl_in): 258(ptr) Variable Input - 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 262 257 33 238 12 36 262 260(gl_in) 112 - 263: TypePointer Input 125(int) - 264: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 127 37 12 -265(gl_InvocationID): 263(ptr) Variable Input - 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 267 127 33 238 12 36 267 265(gl_InvocationID) 112 - 269: TypePointer Input 19(fvec4) - 270: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 37 12 - 273: TypeImage 16(float) 2D sampled format:Unknown - 276: 7(int) Constant 86 - 278: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) - 274: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 275 12 33 276 12 36 277 278 13 - 279: TypeSampledImage 273 - 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 281 12 33 276 12 36 282 278 13 - 283: TypePointer UniformConstant 279 - 284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 280 12 12 -285(samplerHeight): 283(ptr) Variable UniformConstant - 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 287 280 33 276 12 36 287 285(samplerHeight) 112 - 290: TypeArray 97(fvec2) 10 - 291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 98 10 - 292: TypePointer Input 290 - 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 291 37 12 - 294(inUV): 292(ptr) Variable Input - 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 296 291 33 276 12 36 296 294(inUV) 112 - 297: TypePointer Input 97(fvec2) - 298: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 37 12 - 303: 125(int) Constant 4 - 311: TypePointer Function 125(int) - 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 127 23 12 - 316: 7(int) Constant 89 - 314: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 315 127 33 316 12 56 20 - 333: 7(int) Constant 90 - 334: 125(int) Constant 3 - 336: TypePointer Uniform 19(fvec4) - 337: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 38 12 - 341: 16(float) Constant 1090519040 - 346: 48(bool) ConstantFalse - 349: 7(int) Constant 92 + 233: 7(int) Constant 77 + 240: 7(int) Constant 85 + 238: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 239 21 33 240 12 56 20 + 243: TypeArray 16(float) 37 + 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 37 +245(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 243 243 + 248: 7(int) Constant 1756 + 246: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 247 21 33 37 248 12 12 13 + 251: 7(int) Constant 1774 + 249: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 250 18 33 37 251 12 12 13 + 254: 7(int) Constant 1817 + 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 254 12 12 13 + 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 254 12 12 13 + 256: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 257 37 33 240 12 36 257 12 13 246 249 252 255 + 258: TypeArray 245(gl_PerVertex) 10 + 259: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 256 10 + 260: TypePointer Input 258 + 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 259 37 12 + 262(gl_in): 260(ptr) Variable Input + 263: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 264 259 33 240 12 36 264 262(gl_in) 112 + 265: TypePointer Input 125(int) + 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 127 37 12 +267(gl_InvocationID): 265(ptr) Variable Input + 268: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 269 127 33 240 12 36 269 267(gl_InvocationID) 112 + 271: TypePointer Input 19(fvec4) + 272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 37 12 + 275: TypeImage 16(float) 2D sampled format:Unknown + 278: 7(int) Constant 86 + 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) + 276: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 277 12 33 278 12 36 279 280 13 + 281: TypeSampledImage 275 + 282: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 283 12 33 278 12 36 284 280 13 + 285: TypePointer UniformConstant 281 + 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 282 12 12 +287(samplerHeight): 285(ptr) Variable UniformConstant + 288: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 289 282 33 278 12 36 289 287(samplerHeight) 112 + 292: TypeArray 97(fvec2) 10 + 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 98 10 + 294: TypePointer Input 292 + 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 293 37 12 + 296(inUV): 294(ptr) Variable Input + 297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 298 293 33 278 12 36 298 296(inUV) 112 + 299: TypePointer Input 97(fvec2) + 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 37 12 + 305: 125(int) Constant 4 + 313: TypePointer Function 125(int) + 314: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 127 23 12 + 318: 7(int) Constant 89 + 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 317 127 33 318 12 56 20 + 335: 7(int) Constant 90 + 336: 125(int) Constant 3 + 338: TypePointer Uniform 19(fvec4) + 339: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 38 12 + 343: 16(float) Constant 1090519040 + 348: 48(bool) ConstantFalse + 351: 7(int) Constant 92 359: 7(int) Constant 95 - 368: 7(int) Constant 100 - 375: 7(int) Constant 102 - 379: TypeArray 16(float) 38 - 380: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 38 - 381: TypePointer Output 379 - 382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 380 13 12 -383(gl_TessLevelInner): 381(ptr) Variable Output - 386: 7(int) Constant 104 - 384: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 385 380 33 386 12 36 385 383(gl_TessLevelInner) 112 - 387: TypePointer Output 16(float) - 388: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 - 394: 7(int) Constant 105 - 395: TypeArray 16(float) 20 - 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 20 - 397: TypePointer Output 395 - 398: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 396 13 12 -399(gl_TessLevelOuter): 397(ptr) Variable Output - 402: 7(int) Constant 106 - 400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 401 396 33 402 12 36 401 399(gl_TessLevelOuter) 112 - 407: 7(int) Constant 107 - 408: 125(int) Constant 2 - 411: 7(int) Constant 108 - 414: 7(int) Constant 109 - 419: 7(int) Constant 113 - 428: 7(int) Constant 115 - 438: 7(int) Constant 116 - 448: 7(int) Constant 117 - 458: 7(int) Constant 118 - 467: 7(int) Constant 119 - 475: 7(int) Constant 120 - 485: 7(int) Constant 126 - 488: 7(int) Constant 127 - 491: 7(int) Constant 128 - 494: 7(int) Constant 129 - 497: 7(int) Constant 130 - 500: 7(int) Constant 131 -503(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 241 241 + 364: 7(int) Constant 96 + 370: 7(int) Constant 100 + 377: 7(int) Constant 102 + 381: TypeArray 16(float) 38 + 382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 38 + 383: TypePointer Output 381 + 384: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 382 13 12 +385(gl_TessLevelInner): 383(ptr) Variable Output + 388: 7(int) Constant 104 + 386: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 387 382 33 388 12 36 387 385(gl_TessLevelInner) 112 + 389: TypePointer Output 16(float) + 390: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 + 396: 7(int) Constant 105 + 397: TypeArray 16(float) 20 + 398: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 20 + 399: TypePointer Output 397 + 400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 398 13 12 +401(gl_TessLevelOuter): 399(ptr) Variable Output + 404: 7(int) Constant 106 + 402: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 403 398 33 404 12 36 403 401(gl_TessLevelOuter) 112 + 409: 7(int) Constant 107 + 410: 125(int) Constant 2 + 413: 7(int) Constant 108 + 416: 7(int) Constant 109 + 421: 7(int) Constant 113 + 430: 7(int) Constant 115 + 440: 7(int) Constant 116 + 450: 7(int) Constant 117 + 460: 7(int) Constant 118 + 469: 7(int) Constant 119 + 477: 7(int) Constant 120 + 487: 7(int) Constant 126 + 490: 7(int) Constant 127 + 493: 7(int) Constant 128 + 496: 7(int) Constant 129 + 499: 7(int) Constant 130 + 502: 7(int) Constant 131 +503(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 243 243 505: 7(int) Constant 110 - 504: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 245 21 33 37 505 12 12 13 - 506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 248 18 33 37 491 12 12 13 + 504: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 247 21 33 37 505 12 12 13 + 506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 250 18 33 37 493 12 12 13 508: 7(int) Constant 171 - 507: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 251 242 33 37 508 12 12 13 - 509: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 251 242 33 37 508 12 12 13 + 507: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 508 12 12 13 + 509: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 508 12 12 13 511: 7(int) Constant 137 - 510: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 255 37 33 511 12 36 255 12 13 504 506 507 509 + 510: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 257 37 33 511 12 36 257 12 13 504 506 507 509 512: TypeArray 503(gl_PerVertex) 20 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 510 20 514: TypePointer Output 512 @@ -522,169 +524,169 @@ void main() 558: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 559 554 33 560 12 36 559 557(outUV) 112 566: TypePointer Output 97(fvec2) 567: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 13 12 + 570: 7(int) Constant 140 14(main): 4 Function None 5 15: Label - 424(param): 22(ptr) Variable Function - 430(param): 22(ptr) Variable Function - 435(param): 22(ptr) Variable Function - 440(param): 22(ptr) Variable Function - 445(param): 22(ptr) Variable Function - 450(param): 22(ptr) Variable Function - 455(param): 22(ptr) Variable Function - 460(param): 22(ptr) Variable Function - 364: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 365: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 60 60 12 12 - 363: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 59 14(main) - 367: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 368 368 12 12 - 366: 125(int) Load 265(gl_InvocationID) - 369: 48(bool) IEqual 366 141 - SelectionMerge 371 None - BranchConditional 369 370 371 - 370: Label - 373: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 374: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 375 375 12 12 - 372: 48(bool) FunctionCall 53(frustumCheck() - 376: 48(bool) LogicalNot 372 - SelectionMerge 378 None - BranchConditional 376 377 415 - 377: Label - 390: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 391: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 386 386 12 12 - 389: 387(ptr) AccessChain 383(gl_TessLevelInner) 141 - Store 389 148 - 393: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 394 394 12 12 - 392: 387(ptr) AccessChain 383(gl_TessLevelInner) 128 - Store 392 148 - 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 402 402 12 12 - 403: 387(ptr) AccessChain 399(gl_TessLevelOuter) 141 - Store 403 148 - 406: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 407 407 12 12 - 405: 387(ptr) AccessChain 399(gl_TessLevelOuter) 128 + 426(param): 22(ptr) Variable Function + 432(param): 22(ptr) Variable Function + 437(param): 22(ptr) Variable Function + 442(param): 22(ptr) Variable Function + 447(param): 22(ptr) Variable Function + 452(param): 22(ptr) Variable Function + 457(param): 22(ptr) Variable Function + 462(param): 22(ptr) Variable Function + 366: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 + 367: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 60 60 12 12 + 365: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 59 14(main) + 369: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 370 370 12 12 + 368: 125(int) Load 267(gl_InvocationID) + 371: 48(bool) IEqual 368 141 + SelectionMerge 373 None + BranchConditional 371 372 373 + 372: Label + 375: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 + 376: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 377 377 12 12 + 374: 48(bool) FunctionCall 53(frustumCheck() + 378: 48(bool) LogicalNot 374 + SelectionMerge 380 None + BranchConditional 378 379 417 + 379: Label + 392: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 + 393: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 388 388 12 12 + 391: 389(ptr) AccessChain 385(gl_TessLevelInner) 141 + Store 391 148 + 395: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 396 396 12 12 + 394: 389(ptr) AccessChain 385(gl_TessLevelInner) 128 + Store 394 148 + 406: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 404 404 12 12 + 405: 389(ptr) AccessChain 401(gl_TessLevelOuter) 141 Store 405 148 - 410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 411 411 12 12 - 409: 387(ptr) AccessChain 399(gl_TessLevelOuter) 408 - Store 409 148 - 413: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 414 414 12 12 - 412: 387(ptr) AccessChain 399(gl_TessLevelOuter) 334 - Store 412 148 - Branch 378 - 415: Label - 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 419 419 12 12 - 416: 217(ptr) AccessChain 122(ubo) 222 - 420: 16(float) Load 416 - 421: 48(bool) FOrdGreaterThan 420 148 - SelectionMerge 423 None - BranchConditional 421 422 481 - 422: Label - 426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 427: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 428 428 12 12 - 425: 269(ptr) AccessChain 260(gl_in) 334 141 - 429: 19(fvec4) Load 425 - Store 424(param) 429 - 431: 269(ptr) AccessChain 260(gl_in) 141 141 - 432: 19(fvec4) Load 431 - Store 430(param) 432 - 433: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 424(param) 430(param) - 434: 387(ptr) AccessChain 399(gl_TessLevelOuter) 141 - Store 434 433 - 437: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 438 438 12 12 - 436: 269(ptr) AccessChain 260(gl_in) 141 141 - 439: 19(fvec4) Load 436 - Store 435(param) 439 - 441: 269(ptr) AccessChain 260(gl_in) 128 141 - 442: 19(fvec4) Load 441 - Store 440(param) 442 - 443: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 435(param) 440(param) - 444: 387(ptr) AccessChain 399(gl_TessLevelOuter) 128 - Store 444 443 - 447: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 448 448 12 12 - 446: 269(ptr) AccessChain 260(gl_in) 128 141 - 449: 19(fvec4) Load 446 - Store 445(param) 449 - 451: 269(ptr) AccessChain 260(gl_in) 408 141 - 452: 19(fvec4) Load 451 - Store 450(param) 452 - 453: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 445(param) 450(param) - 454: 387(ptr) AccessChain 399(gl_TessLevelOuter) 408 - Store 454 453 - 457: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 458 458 12 12 - 456: 269(ptr) AccessChain 260(gl_in) 408 141 - 459: 19(fvec4) Load 456 - Store 455(param) 459 - 461: 269(ptr) AccessChain 260(gl_in) 334 141 - 462: 19(fvec4) Load 461 - Store 460(param) 462 - 463: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 455(param) 460(param) - 464: 387(ptr) AccessChain 399(gl_TessLevelOuter) 334 - Store 464 463 - 466: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 467 467 12 12 - 465: 387(ptr) AccessChain 399(gl_TessLevelOuter) 141 - 468: 16(float) Load 465 - 469: 387(ptr) AccessChain 399(gl_TessLevelOuter) 334 - 470: 16(float) Load 469 - 471: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 468 470 68 - 472: 387(ptr) AccessChain 383(gl_TessLevelInner) 141 - Store 472 471 - 474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 475 475 12 12 - 473: 387(ptr) AccessChain 399(gl_TessLevelOuter) 408 - 476: 16(float) Load 473 - 477: 387(ptr) AccessChain 399(gl_TessLevelOuter) 128 - 478: 16(float) Load 477 - 479: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 476 478 68 - 480: 387(ptr) AccessChain 383(gl_TessLevelInner) 128 - Store 480 479 - Branch 423 - 481: Label - 483: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 484: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 485 485 12 12 - 482: 387(ptr) AccessChain 383(gl_TessLevelInner) 141 - Store 482 226 - 487: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 488 488 12 12 - 486: 387(ptr) AccessChain 383(gl_TessLevelInner) 128 - Store 486 226 - 490: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 491 491 12 12 - 489: 387(ptr) AccessChain 399(gl_TessLevelOuter) 141 - Store 489 226 - 493: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 494 494 12 12 - 492: 387(ptr) AccessChain 399(gl_TessLevelOuter) 128 - Store 492 226 - 496: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 497 497 12 12 - 495: 387(ptr) AccessChain 399(gl_TessLevelOuter) 408 - Store 495 226 - 499: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 500 500 12 12 - 498: 387(ptr) AccessChain 399(gl_TessLevelOuter) 334 - Store 498 226 - Branch 423 - 423: Label - 501: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - Branch 378 - 378: Label - 502: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - Branch 371 - 371: Label + 408: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 409 409 12 12 + 407: 389(ptr) AccessChain 401(gl_TessLevelOuter) 128 + Store 407 148 + 412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 413 413 12 12 + 411: 389(ptr) AccessChain 401(gl_TessLevelOuter) 410 + Store 411 148 + 415: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 416 416 12 12 + 414: 389(ptr) AccessChain 401(gl_TessLevelOuter) 336 + Store 414 148 + Branch 380 + 417: Label + 419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 + 420: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 421 421 12 12 + 418: 217(ptr) AccessChain 122(ubo) 222 + 422: 16(float) Load 418 + 423: 48(bool) FOrdGreaterThan 422 148 + SelectionMerge 425 None + BranchConditional 423 424 483 + 424: Label + 428: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 + 429: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 430 430 12 12 + 427: 271(ptr) AccessChain 262(gl_in) 336 141 + 431: 19(fvec4) Load 427 + Store 426(param) 431 + 433: 271(ptr) AccessChain 262(gl_in) 141 141 + 434: 19(fvec4) Load 433 + Store 432(param) 434 + 435: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 426(param) 432(param) + 436: 389(ptr) AccessChain 401(gl_TessLevelOuter) 141 + Store 436 435 + 439: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 440 440 12 12 + 438: 271(ptr) AccessChain 262(gl_in) 141 141 + 441: 19(fvec4) Load 438 + Store 437(param) 441 + 443: 271(ptr) AccessChain 262(gl_in) 128 141 + 444: 19(fvec4) Load 443 + Store 442(param) 444 + 445: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 437(param) 442(param) + 446: 389(ptr) AccessChain 401(gl_TessLevelOuter) 128 + Store 446 445 + 449: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 450 450 12 12 + 448: 271(ptr) AccessChain 262(gl_in) 128 141 + 451: 19(fvec4) Load 448 + Store 447(param) 451 + 453: 271(ptr) AccessChain 262(gl_in) 410 141 + 454: 19(fvec4) Load 453 + Store 452(param) 454 + 455: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 447(param) 452(param) + 456: 389(ptr) AccessChain 401(gl_TessLevelOuter) 410 + Store 456 455 + 459: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 460 460 12 12 + 458: 271(ptr) AccessChain 262(gl_in) 410 141 + 461: 19(fvec4) Load 458 + Store 457(param) 461 + 463: 271(ptr) AccessChain 262(gl_in) 336 141 + 464: 19(fvec4) Load 463 + Store 462(param) 464 + 465: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 457(param) 462(param) + 466: 389(ptr) AccessChain 401(gl_TessLevelOuter) 336 + Store 466 465 + 468: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 469 469 12 12 + 467: 389(ptr) AccessChain 401(gl_TessLevelOuter) 141 + 470: 16(float) Load 467 + 471: 389(ptr) AccessChain 401(gl_TessLevelOuter) 336 + 472: 16(float) Load 471 + 473: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 470 472 68 + 474: 389(ptr) AccessChain 385(gl_TessLevelInner) 141 + Store 474 473 + 476: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 477 477 12 12 + 475: 389(ptr) AccessChain 401(gl_TessLevelOuter) 410 + 478: 16(float) Load 475 + 479: 389(ptr) AccessChain 401(gl_TessLevelOuter) 128 + 480: 16(float) Load 479 + 481: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 478 480 68 + 482: 389(ptr) AccessChain 385(gl_TessLevelInner) 128 + Store 482 481 + Branch 425 + 483: Label + 485: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 + 486: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 487 487 12 12 + 484: 389(ptr) AccessChain 385(gl_TessLevelInner) 141 + Store 484 226 + 489: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 490 490 12 12 + 488: 389(ptr) AccessChain 385(gl_TessLevelInner) 128 + Store 488 226 + 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 493 493 12 12 + 491: 389(ptr) AccessChain 401(gl_TessLevelOuter) 141 + Store 491 226 + 495: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 496 496 12 12 + 494: 389(ptr) AccessChain 401(gl_TessLevelOuter) 128 + Store 494 226 + 498: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 499 499 12 12 + 497: 389(ptr) AccessChain 401(gl_TessLevelOuter) 410 + Store 497 226 + 501: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 502 502 12 12 + 500: 389(ptr) AccessChain 401(gl_TessLevelOuter) 336 + Store 500 226 + Branch 425 + 425: Label + Branch 380 + 380: Label + Branch 373 + 373: Label 520: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 521: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 511 511 12 12 - 519: 125(int) Load 265(gl_InvocationID) - 522: 125(int) Load 265(gl_InvocationID) - 523: 269(ptr) AccessChain 260(gl_in) 522 141 + 519: 125(int) Load 267(gl_InvocationID) + 522: 125(int) Load 267(gl_InvocationID) + 523: 271(ptr) AccessChain 262(gl_in) 522 141 524: 19(fvec4) Load 523 527: 525(ptr) AccessChain 516(gl_out) 519 141 Store 527 524 537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 535 535 12 12 - 536: 125(int) Load 265(gl_InvocationID) - 545: 125(int) Load 265(gl_InvocationID) + 536: 125(int) Load 267(gl_InvocationID) + 545: 125(int) Load 267(gl_InvocationID) 548: 546(ptr) AccessChain 542(inNormal) 545 549: 146(fvec3) Load 548 552: 550(ptr) AccessChain 532(outNormal) 536 Store 552 549 562: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 560 560 12 12 - 561: 125(int) Load 265(gl_InvocationID) - 563: 125(int) Load 265(gl_InvocationID) - 564: 297(ptr) AccessChain 294(inUV) 563 + 561: 125(int) Load 267(gl_InvocationID) + 563: 125(int) Load 267(gl_InvocationID) + 564: 299(ptr) AccessChain 296(inUV) 563 565: 97(fvec2) Load 564 568: 566(ptr) AccessChain 557(outUV) 561 Store 568 565 + 569: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 570 570 12 12 Return FunctionEnd 29(screenSpaceTessFactor(vf4;vf4;): 16(float) Function None 25 @@ -801,73 +803,72 @@ void main() FunctionEnd 53(frustumCheck(): 48(bool) Function None 51 54: Label - 235(pos): 22(ptr) Variable Function - 313(i): 311(ptr) Variable Function - 233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 57 57 12 12 - 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 56 53(frustumCheck() - 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 238 238 12 12 - 239: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 236 235(pos) 42 - 268: 125(int) Load 265(gl_InvocationID) - 271: 269(ptr) AccessChain 260(gl_in) 268 141 - 272: 19(fvec4) Load 271 - Store 235(pos) 272 - 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 276 276 12 12 - 288: 279 Load 285(samplerHeight) - 299: 297(ptr) AccessChain 294(inUV) 141 - 300: 97(fvec2) Load 299 - 301: 19(fvec4) ImageSampleExplicitLod 288 300 Lod 148 - 302: 16(float) CompositeExtract 301 0 - 304: 217(ptr) AccessChain 122(ubo) 303 - 305: 16(float) Load 304 - 306: 16(float) FMul 302 305 - 307: 73(ptr) AccessChain 235(pos) 37 - 308: 16(float) Load 307 - 309: 16(float) FSub 308 306 - 310: 73(ptr) AccessChain 235(pos) 37 - Store 310 309 - 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 316 316 12 12 - 317: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 314 313(i) 42 - Store 313(i) 141 - Branch 319 - 319: Label - 323: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - 324: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 316 316 12 12 - LoopMerge 321 322 None - Branch 325 - 325: Label - 327: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - 328: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 316 316 12 12 - 326: 125(int) Load 313(i) - 329: 48(bool) SLessThan 326 186 - BranchConditional 329 320 321 - 320: Label - 331: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - 332: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 333 333 12 12 - 330: 19(fvec4) Load 235(pos) - 335: 125(int) Load 313(i) - 338: 336(ptr) AccessChain 122(ubo) 334 335 - 339: 19(fvec4) Load 338 - 340: 16(float) Dot 330 339 - 342: 16(float) FAdd 340 341 - 343: 48(bool) FOrdLessThan 342 148 - SelectionMerge 345 None - BranchConditional 343 344 345 - 344: Label - 347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - 348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 349 349 12 12 - ReturnValue 346 - 345: Label - 352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - Branch 322 - 322: Label - 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - 355: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 316 316 12 12 - 353: 125(int) Load 313(i) - 356: 125(int) IAdd 353 128 - Store 313(i) 356 - Branch 319 + 237(pos): 22(ptr) Variable Function + 315(i): 313(ptr) Variable Function + 235: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 + 236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 57 57 12 12 + 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 56 53(frustumCheck() + 242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 240 240 12 12 + 241: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 238 237(pos) 42 + 270: 125(int) Load 267(gl_InvocationID) + 273: 271(ptr) AccessChain 262(gl_in) 270 141 + 274: 19(fvec4) Load 273 + Store 237(pos) 274 + 291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 278 278 12 12 + 290: 281 Load 287(samplerHeight) + 301: 299(ptr) AccessChain 296(inUV) 141 + 302: 97(fvec2) Load 301 + 303: 19(fvec4) ImageSampleExplicitLod 290 302 Lod 148 + 304: 16(float) CompositeExtract 303 0 + 306: 217(ptr) AccessChain 122(ubo) 305 + 307: 16(float) Load 306 + 308: 16(float) FMul 304 307 + 309: 73(ptr) AccessChain 237(pos) 37 + 310: 16(float) Load 309 + 311: 16(float) FSub 310 308 + 312: 73(ptr) AccessChain 237(pos) 37 + Store 312 311 + 320: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12 + 319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 316 315(i) 42 + Store 315(i) 141 + Branch 321 321: Label + 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 + 326: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12 + LoopMerge 323 324 None + Branch 327 + 327: Label + 329: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 + 330: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12 + 328: 125(int) Load 315(i) + 331: 48(bool) SLessThan 328 186 + BranchConditional 331 322 323 + 322: Label + 333: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 + 334: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 335 335 12 12 + 332: 19(fvec4) Load 237(pos) + 337: 125(int) Load 315(i) + 340: 338(ptr) AccessChain 122(ubo) 336 337 + 341: 19(fvec4) Load 340 + 342: 16(float) Dot 332 341 + 344: 16(float) FAdd 342 343 + 345: 48(bool) FOrdLessThan 344 148 + SelectionMerge 347 None + BranchConditional 345 346 347 + 346: Label + 349: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 + 350: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 351 351 12 12 + ReturnValue 348 + 347: Label + Branch 324 + 324: Label + 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 + 355: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12 + 353: 125(int) Load 315(i) + 356: 125(int) IAdd 353 128 + Store 315(i) 356 + Branch 321 + 323: Label 357: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 359 359 12 12 ReturnValue 94 diff --git a/Test/baseResults/spv.debuginfo.glsl.tese.out b/Test/baseResults/spv.debuginfo.glsl.tese.out index 6098b73e7..bce85b48a 100644 --- a/Test/baseResults/spv.debuginfo.glsl.tese.out +++ b/Test/baseResults/spv.debuginfo.glsl.tese.out @@ -1,7 +1,7 @@ spv.debuginfo.glsl.tese // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 357 +// Id's are bound by 359 Capability Tessellation Extension "SPV_KHR_non_semantic_info" @@ -390,6 +390,7 @@ void main() 344(outEyePos): 141(ptr) Variable Output 347: 7(int) Constant 77 345: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 346 63 18 347 12 21 346 344(outEyePos) 50 + 358: 7(int) Constant 78 14(main): 4 Function None 5 15: Label 36(uv1): 33(ptr) Variable Function @@ -543,5 +544,6 @@ void main() 355: 28(float) CompositeExtract 352 2 356: 62(fvec3) CompositeConstruct 353 354 355 Store 344(outEyePos) 356 + 357: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 358 358 12 12 Return FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.glsl.vert.out b/Test/baseResults/spv.debuginfo.glsl.vert.out index f98386118..9eef2dd2d 100644 --- a/Test/baseResults/spv.debuginfo.glsl.vert.out +++ b/Test/baseResults/spv.debuginfo.glsl.vert.out @@ -1,7 +1,7 @@ spv.debuginfo.glsl.vert // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 445 +// Id's are bound by 447 Capability Shader Extension "SPV_KHR_non_semantic_info" @@ -399,6 +399,7 @@ void main() 437(outViewVec): 33(ptr) Variable Output 440: 7(int) Constant 104 438: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 439 32 18 440 12 21 439 437(outViewVec) 39 + 446: 7(int) Constant 105 14(main): 4 Function None 5 15: Label 76(s): 73(ptr) Variable Function @@ -662,5 +663,6 @@ void main() 443: 31(fvec3) VectorShuffle 441 441 0 1 2 444: 31(fvec3) FNegate 443 Store 437(outViewVec) 444 + 445: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 446 446 12 12 Return FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.hlsl.comp.out b/Test/baseResults/spv.debuginfo.hlsl.comp.out index b4579daf6..e6fbf123a 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.comp.out +++ b/Test/baseResults/spv.debuginfo.hlsl.comp.out @@ -1,14 +1,14 @@ spv.debuginfo.hlsl.comp // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 970 +// Id's are bound by 968 Capability Shader Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 6 "main" 965 + EntryPoint GLCompute 6 "main" 963 ExecutionMode 6 LocalSize 10 10 1 2: String "" 9: String "float" @@ -36,26 +36,26 @@ spv.debuginfo.hlsl.comp 113: String "UBO" 116: String "params" 120: String "ubo" - 146: String "index" - 172: String "bool" + 147: String "index" + 173: String "bool" 184: String "normal" 191: String "pinned" 195: String "Particle" 201: String "@data" 205: String "particleIn" 226: String "particleOut" - 254: String "force" - 268: String "pos" - 278: String "vel" - 562: String "f" - 611: String "sphereDist" - 662: String "calculateNormals" - 666: String "PushConstants" - 670: String "pushConstants" - 673: String "$Global" - 711: String "a" - 725: String "b" - 742: String "c" + 253: String "force" + 267: String "pos" + 277: String "vel" + 561: String "f" + 610: String "sphereDist" + 661: String "calculateNormals" + 665: String "PushConstants" + 669: String "pushConstants" + 672: String "$Global" + 710: String "a" + 724: String "b" + 741: String "c" Name 6 "main" Name 30 "springForce(vf3;vf3;f1;" Name 27 "p0" @@ -79,7 +79,7 @@ spv.debuginfo.hlsl.comp Name 114 "ubo" MemberName 114(ubo) 0 "params" Name 123 "" - Name 144 "index" + Name 145 "index" Name 182 "Particle" MemberName 182(Particle) 0 "pos" MemberName 182(Particle) 1 "vel" @@ -92,47 +92,47 @@ spv.debuginfo.hlsl.comp Name 222 "particleOut" MemberName 222(particleOut) 0 "@data" Name 230 "particleOut" - Name 252 "force" - Name 266 "pos" - Name 276 "vel" - Name 298 "param" - Name 302 "param" - Name 304 "param" - Name 327 "param" - Name 331 "param" - Name 333 "param" - Name 360 "param" - Name 364 "param" - Name 366 "param" - Name 388 "param" - Name 392 "param" - Name 394 "param" - Name 426 "param" - Name 430 "param" - Name 432 "param" - Name 459 "param" - Name 463 "param" - Name 465 "param" - Name 500 "param" - Name 504 "param" - Name 506 "param" - Name 537 "param" - Name 541 "param" - Name 543 "param" - Name 560 "f" - Name 609 "sphereDist" - Name 660 "PushConstants" - MemberName 660(PushConstants) 0 "calculateNormals" - Name 668 "$Global" - MemberName 668($Global) 0 "pushConstants" - Name 676 "" - Name 687 "normal" - Name 709 "a" - Name 723 "b" - Name 740 "c" + Name 251 "force" + Name 265 "pos" + Name 275 "vel" + Name 297 "param" + Name 301 "param" + Name 303 "param" + Name 326 "param" + Name 330 "param" + Name 332 "param" + Name 359 "param" + Name 363 "param" + Name 365 "param" + Name 387 "param" + Name 391 "param" + Name 393 "param" + Name 425 "param" + Name 429 "param" + Name 431 "param" + Name 458 "param" + Name 462 "param" + Name 464 "param" + Name 499 "param" + Name 503 "param" + Name 505 "param" + Name 536 "param" + Name 540 "param" + Name 542 "param" + Name 559 "f" + Name 608 "sphereDist" + Name 659 "PushConstants" + MemberName 659(PushConstants) 0 "calculateNormals" + Name 667 "$Global" + MemberName 667($Global) 0 "pushConstants" + Name 675 "" + Name 686 "normal" + Name 708 "a" + Name 722 "b" + Name 739 "c" + Name 961 "id" Name 963 "id" - Name 965 "id" - Name 967 "param" + Name 965 "param" MemberDecorate 92(UBO) 0 Offset 0 MemberDecorate 92(UBO) 1 Offset 4 MemberDecorate 92(UBO) 2 Offset 8 @@ -165,12 +165,12 @@ spv.debuginfo.hlsl.comp MemberDecorate 222(particleOut) 0 Offset 0 Decorate 230(particleOut) Binding 1 Decorate 230(particleOut) DescriptorSet 0 - MemberDecorate 660(PushConstants) 0 Offset 0 - Decorate 668($Global) Block - MemberDecorate 668($Global) 0 Offset 0 - Decorate 676 Binding 3 - Decorate 676 DescriptorSet 0 - Decorate 965(id) BuiltIn GlobalInvocationId + MemberDecorate 659(PushConstants) 0 Offset 0 + Decorate 667($Global) Block + MemberDecorate 667($Global) 0 Offset 0 + Decorate 675 Binding 3 + Decorate 675 DescriptorSet 0 + Decorate 963(id) BuiltIn GlobalInvocationId 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 @@ -252,17 +252,17 @@ spv.debuginfo.hlsl.comp 127: 87(int) Constant 2 128: TypePointer Uniform 8(float) 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 49 16 - 142: TypePointer Function 11(int) - 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 21 16 - 147: 11(int) Constant 83 - 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 146 13 34 147 16 64 39 - 152: 87(int) Constant 10 - 153: TypePointer Uniform 87(int) - 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 89 49 16 - 164: 11(int) Constant 84 - 171: TypeBool - 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 172 14 49 16 - 179: 11(int) Constant 85 + 143: TypePointer Function 11(int) + 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 21 16 + 148: 11(int) Constant 83 + 146: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 147 13 34 148 16 64 39 + 153: 87(int) Constant 10 + 154: TypePointer Uniform 87(int) + 155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 89 49 16 + 165: 11(int) Constant 84 + 172: TypeBool + 174: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 173 14 49 16 + 180: 11(int) Constant 85 182(Particle): TypeStruct 85(fvec4) 85(fvec4) 85(fvec4) 85(fvec4) 8(float) 185: 11(int) Constant 30 186: 11(int) Constant 15 @@ -306,102 +306,102 @@ spv.debuginfo.hlsl.comp 245: 8(float) Constant 0 246: 85(fvec4) ConstantComposite 245 245 245 245 249: 11(int) Constant 91 - 255: 11(int) Constant 95 - 253: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 254 19 34 255 16 64 39 - 259: 87(int) Constant 9 - 269: 11(int) Constant 97 - 267: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 268 19 34 269 16 64 39 - 279: 11(int) Constant 98 - 277: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 278 19 34 279 16 64 39 - 288: 11(int) Constant 102 - 296: 11(int) Constant 103 - 313: 11(int) Constant 106 - 325: 11(int) Constant 107 - 342: 11(int) Constant 110 - 354: 11(int) Constant 111 - 359: 87(int) Constant 5 - 375: 11(int) Constant 114 - 383: 11(int) Constant 115 - 403: 11(int) Constant 118 - 419: 11(int) Constant 119 - 425: 87(int) Constant 6 - 441: 11(int) Constant 122 - 453: 11(int) Constant 123 - 474: 11(int) Constant 126 - 494: 11(int) Constant 127 - 515: 11(int) Constant 130 - 531: 11(int) Constant 131 - 549: 87(int) Constant 3 - 553: 11(int) Constant 134 - 563: 11(int) Constant 137 - 561: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 562 19 34 563 16 64 39 - 573: 11(int) Constant 138 - 580: 8(float) Constant 1056964608 - 597: 11(int) Constant 139 - 612: 11(int) Constant 142 - 610: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 611 19 34 612 16 64 39 - 619: 87(int) Constant 8 - 626: 11(int) Constant 143 - 628: 87(int) Constant 7 - 631: 8(float) Constant 1008981770 - 639: 11(int) Constant 145 - 658: 11(int) Constant 147 -660(PushConstants): TypeStruct 11(int) - 663: 11(int) Constant 67 - 664: 11(int) Constant 23 - 661: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 662 13 34 663 664 16 16 17 - 667: 11(int) Constant 151 - 665: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 666 38 34 667 16 37 666 16 17 661 - 668($Global): TypeStruct 660(PushConstants) - 671: 11(int) Constant 71 - 669: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 670 665 34 671 186 16 16 17 - 672: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 673 38 34 667 16 37 673 16 17 669 - 674: TypePointer Uniform 668($Global) - 675: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 672 49 16 - 676: 674(ptr) Variable Uniform - 677: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 672 34 667 16 37 2 676 125 - 678: TypePointer Uniform 11(int) - 679: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 49 16 - 689: 11(int) Constant 152 - 688: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 184 19 34 689 16 64 39 - 693: 18(fvec3) ConstantComposite 245 245 245 - 696: 11(int) Constant 154 - 704: 11(int) Constant 155 - 712: 11(int) Constant 156 - 710: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 711 19 34 712 16 64 39 - 726: 11(int) Constant 157 - 724: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 725 19 34 726 16 64 39 - 743: 11(int) Constant 158 - 741: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 742 19 34 743 16 64 39 - 758: 11(int) Constant 159 - 770: 11(int) Constant 161 - 782: 11(int) Constant 162 - 794: 11(int) Constant 163 - 807: 11(int) Constant 164 - 816: 11(int) Constant 165 - 829: 11(int) Constant 168 - 841: 11(int) Constant 169 - 849: 11(int) Constant 170 - 861: 11(int) Constant 171 - 874: 11(int) Constant 172 - 883: 11(int) Constant 173 - 895: 11(int) Constant 175 - 907: 11(int) Constant 176 - 916: 11(int) Constant 177 - 929: 11(int) Constant 178 - 941: 11(int) Constant 179 - 954: 11(int) Constant 182 - 964: TypePointer Input 54(ivec3) - 965(id): 964(ptr) Variable Input + 254: 11(int) Constant 95 + 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 253 19 34 254 16 64 39 + 258: 87(int) Constant 9 + 268: 11(int) Constant 97 + 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 267 19 34 268 16 64 39 + 278: 11(int) Constant 98 + 276: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 277 19 34 278 16 64 39 + 287: 11(int) Constant 102 + 295: 11(int) Constant 103 + 312: 11(int) Constant 106 + 324: 11(int) Constant 107 + 341: 11(int) Constant 110 + 353: 11(int) Constant 111 + 358: 87(int) Constant 5 + 374: 11(int) Constant 114 + 382: 11(int) Constant 115 + 402: 11(int) Constant 118 + 418: 11(int) Constant 119 + 424: 87(int) Constant 6 + 440: 11(int) Constant 122 + 452: 11(int) Constant 123 + 473: 11(int) Constant 126 + 493: 11(int) Constant 127 + 514: 11(int) Constant 130 + 530: 11(int) Constant 131 + 548: 87(int) Constant 3 + 552: 11(int) Constant 134 + 562: 11(int) Constant 137 + 560: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 561 19 34 562 16 64 39 + 572: 11(int) Constant 138 + 579: 8(float) Constant 1056964608 + 596: 11(int) Constant 139 + 611: 11(int) Constant 142 + 609: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 610 19 34 611 16 64 39 + 618: 87(int) Constant 8 + 625: 11(int) Constant 143 + 627: 87(int) Constant 7 + 630: 8(float) Constant 1008981770 + 638: 11(int) Constant 145 + 657: 11(int) Constant 147 +659(PushConstants): TypeStruct 11(int) + 662: 11(int) Constant 67 + 663: 11(int) Constant 23 + 660: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 661 13 34 662 663 16 16 17 + 666: 11(int) Constant 151 + 664: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 665 38 34 666 16 37 665 16 17 660 + 667($Global): TypeStruct 659(PushConstants) + 670: 11(int) Constant 71 + 668: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 669 664 34 670 186 16 16 17 + 671: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 672 38 34 666 16 37 672 16 17 668 + 673: TypePointer Uniform 667($Global) + 674: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 671 49 16 + 675: 673(ptr) Variable Uniform + 676: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 671 34 666 16 37 2 675 125 + 677: TypePointer Uniform 11(int) + 678: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 49 16 + 688: 11(int) Constant 152 + 687: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 184 19 34 688 16 64 39 + 692: 18(fvec3) ConstantComposite 245 245 245 + 695: 11(int) Constant 154 + 703: 11(int) Constant 155 + 711: 11(int) Constant 156 + 709: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 710 19 34 711 16 64 39 + 725: 11(int) Constant 157 + 723: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 724 19 34 725 16 64 39 + 742: 11(int) Constant 158 + 740: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 741 19 34 742 16 64 39 + 757: 11(int) Constant 159 + 769: 11(int) Constant 161 + 781: 11(int) Constant 162 + 793: 11(int) Constant 163 + 806: 11(int) Constant 164 + 815: 11(int) Constant 165 + 827: 11(int) Constant 168 + 839: 11(int) Constant 169 + 847: 11(int) Constant 170 + 859: 11(int) Constant 171 + 872: 11(int) Constant 172 + 881: 11(int) Constant 173 + 893: 11(int) Constant 175 + 905: 11(int) Constant 176 + 914: 11(int) Constant 177 + 927: 11(int) Constant 178 + 939: 11(int) Constant 179 + 951: 11(int) Constant 182 + 962: TypePointer Input 54(ivec3) + 963(id): 962(ptr) Variable Input 6(main): 4 Function None 5 7: Label - 963(id): 56(ptr) Variable Function - 967(param): 56(ptr) Variable Function - 966: 54(ivec3) Load 965(id) - Store 963(id) 966 - 968: 54(ivec3) Load 963(id) - Store 967(param) 968 - 969: 4 FunctionCall 61(@main(vu3;) 967(param) + 961(id): 56(ptr) Variable Function + 965(param): 56(ptr) Variable Function + 964: 54(ivec3) Load 963(id) + Store 961(id) 964 + 966: 54(ivec3) Load 961(id) + Store 965(param) 966 + 967: 4 FunctionCall 61(@main(vu3;) 965(param) Return FunctionEnd 30(springForce(vf3;vf3;f1;): 18(fvec3) Function None 25 @@ -438,786 +438,785 @@ spv.debuginfo.hlsl.comp 61(@main(vu3;): 4 Function None 58 60(id): 56(ptr) FunctionParameter 62: Label - 144(index): 142(ptr) Variable Function - 252(force): 20(ptr) Variable Function - 266(pos): 20(ptr) Variable Function - 276(vel): 20(ptr) Variable Function - 298(param): 20(ptr) Variable Function - 302(param): 20(ptr) Variable Function - 304(param): 23(ptr) Variable Function - 327(param): 20(ptr) Variable Function - 331(param): 20(ptr) Variable Function - 333(param): 23(ptr) Variable Function - 360(param): 20(ptr) Variable Function - 364(param): 20(ptr) Variable Function - 366(param): 23(ptr) Variable Function - 388(param): 20(ptr) Variable Function - 392(param): 20(ptr) Variable Function - 394(param): 23(ptr) Variable Function - 426(param): 20(ptr) Variable Function - 430(param): 20(ptr) Variable Function - 432(param): 23(ptr) Variable Function - 459(param): 20(ptr) Variable Function - 463(param): 20(ptr) Variable Function - 465(param): 23(ptr) Variable Function - 500(param): 20(ptr) Variable Function - 504(param): 20(ptr) Variable Function - 506(param): 23(ptr) Variable Function - 537(param): 20(ptr) Variable Function - 541(param): 20(ptr) Variable Function - 543(param): 23(ptr) Variable Function - 560(f): 20(ptr) Variable Function - 609(sphereDist): 20(ptr) Variable Function - 687(normal): 20(ptr) Variable Function - 709(a): 20(ptr) Variable Function - 723(b): 20(ptr) Variable Function - 740(c): 20(ptr) Variable Function + 145(index): 143(ptr) Variable Function + 251(force): 20(ptr) Variable Function + 265(pos): 20(ptr) Variable Function + 275(vel): 20(ptr) Variable Function + 297(param): 20(ptr) Variable Function + 301(param): 20(ptr) Variable Function + 303(param): 23(ptr) Variable Function + 326(param): 20(ptr) Variable Function + 330(param): 20(ptr) Variable Function + 332(param): 23(ptr) Variable Function + 359(param): 20(ptr) Variable Function + 363(param): 20(ptr) Variable Function + 365(param): 23(ptr) Variable Function + 387(param): 20(ptr) Variable Function + 391(param): 20(ptr) Variable Function + 393(param): 23(ptr) Variable Function + 425(param): 20(ptr) Variable Function + 429(param): 20(ptr) Variable Function + 431(param): 23(ptr) Variable Function + 458(param): 20(ptr) Variable Function + 462(param): 20(ptr) Variable Function + 464(param): 23(ptr) Variable Function + 499(param): 20(ptr) Variable Function + 503(param): 20(ptr) Variable Function + 505(param): 23(ptr) Variable Function + 536(param): 20(ptr) Variable Function + 540(param): 20(ptr) Variable Function + 542(param): 23(ptr) Variable Function + 559(f): 20(ptr) Variable Function + 608(sphereDist): 20(ptr) Variable Function + 686(normal): 20(ptr) Variable Function + 708(a): 20(ptr) Variable Function + 722(b): 20(ptr) Variable Function + 739(c): 20(ptr) Variable Function 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 65 65 16 16 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 66 60(id) 44 - 141: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 64 61(@main(vu3;) - 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 147 147 16 16 - 148: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 145 144(index) 44 - 150: 142(ptr) AccessChain 60(id) 38 - 151: 11(int) Load 150 - 155: 153(ptr) AccessChain 123 126 152 16 - 156: 87(int) Load 155 - 157: 11(int) Bitcast 156 - 158: 11(int) IMul 151 157 - 159: 142(ptr) AccessChain 60(id) 16 - 160: 11(int) Load 159 - 161: 11(int) IAdd 158 160 - Store 144(index) 161 - 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 164 164 16 16 - 162: 11(int) Load 144(index) - 165: 153(ptr) AccessChain 123 126 152 16 - 166: 87(int) Load 165 - 167: 153(ptr) AccessChain 123 126 152 38 - 168: 87(int) Load 167 - 169: 87(int) IMul 166 168 - 170: 11(int) Bitcast 169 - 174: 171(bool) UGreaterThan 162 170 - SelectionMerge 176 None - BranchConditional 174 175 176 - 175: Label - 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 179 179 16 16 + 142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 64 61(@main(vu3;) + 150: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 148 148 16 16 + 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 146 145(index) 44 + 151: 143(ptr) AccessChain 60(id) 38 + 152: 11(int) Load 151 + 156: 154(ptr) AccessChain 123 126 153 16 + 157: 87(int) Load 156 + 158: 11(int) Bitcast 157 + 159: 11(int) IMul 152 158 + 160: 143(ptr) AccessChain 60(id) 16 + 161: 11(int) Load 160 + 162: 11(int) IAdd 159 161 + Store 145(index) 162 + 164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 165 165 16 16 + 163: 11(int) Load 145(index) + 166: 154(ptr) AccessChain 123 126 153 16 + 167: 87(int) Load 166 + 168: 154(ptr) AccessChain 123 126 153 38 + 169: 87(int) Load 168 + 170: 87(int) IMul 167 169 + 171: 11(int) Bitcast 170 + 175: 172(bool) UGreaterThan 163 171 + SelectionMerge 177 None + BranchConditional 175 176 177 + 176: Label + 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 180 180 16 16 Return - 176: Label + 177: Label 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 196 196 16 16 - 210: 11(int) Load 144(index) + 210: 11(int) Load 145(index) 214: 128(ptr) AccessChain 208(particleIn) 126 210 213 215: 8(float) Load 214 - 217: 171(bool) FOrdEqual 215 216 + 217: 172(bool) FOrdEqual 215 216 SelectionMerge 219 None BranchConditional 217 218 219 218: Label 233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 227 227 16 16 - 232: 11(int) Load 144(index) - 235: 11(int) Load 144(index) + 232: 11(int) Load 145(index) + 235: 11(int) Load 145(index) 238: 236(ptr) AccessChain 230(particleOut) 126 235 126 239: 85(fvec4) Load 238 240: 236(ptr) AccessChain 230(particleOut) 126 232 126 Store 240 239 242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 243 243 16 16 - 241: 11(int) Load 144(index) + 241: 11(int) Load 145(index) 247: 236(ptr) AccessChain 230(particleOut) 126 241 244 Store 247 246 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 249 249 16 16 Return 219: Label - 257: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 258: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 255 255 16 16 - 256: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 253 252(force) 44 - 260: 236(ptr) AccessChain 123 126 259 - 261: 85(fvec4) Load 260 - 262: 18(fvec3) VectorShuffle 261 261 0 1 2 - 263: 128(ptr) AccessChain 123 126 244 - 264: 8(float) Load 263 - 265: 18(fvec3) VectorTimesScalar 262 264 - Store 252(force) 265 - 271: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 269 269 16 16 - 270: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 267 266(pos) 44 - 272: 11(int) Load 144(index) - 273: 236(ptr) AccessChain 208(particleIn) 126 272 126 - 274: 85(fvec4) Load 273 - 275: 18(fvec3) VectorShuffle 274 274 0 1 2 - Store 266(pos) 275 - 281: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 279 279 16 16 - 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 277 276(vel) 44 - 282: 11(int) Load 144(index) - 283: 236(ptr) AccessChain 208(particleIn) 126 282 244 - 284: 85(fvec4) Load 283 - 285: 18(fvec3) VectorShuffle 284 284 0 1 2 - Store 276(vel) 285 - 287: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 288 288 16 16 - 286: 142(ptr) AccessChain 60(id) 16 - 289: 11(int) Load 286 - 290: 171(bool) UGreaterThan 289 16 - SelectionMerge 292 None - BranchConditional 290 291 292 - 291: Label - 294: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 296 296 16 16 - 293: 11(int) Load 144(index) - 297: 11(int) ISub 293 38 - 299: 236(ptr) AccessChain 208(particleIn) 126 297 126 - 300: 85(fvec4) Load 299 - 301: 18(fvec3) VectorShuffle 300 300 0 1 2 - Store 298(param) 301 - 303: 18(fvec3) Load 266(pos) - Store 302(param) 303 - 305: 128(ptr) AccessChain 123 126 213 - 306: 8(float) Load 305 - Store 304(param) 306 - 307: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 298(param) 302(param) 304(param) - 308: 18(fvec3) Load 252(force) - 309: 18(fvec3) FAdd 308 307 - Store 252(force) 309 - Branch 292 - 292: Label - 311: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 313 313 16 16 - 310: 142(ptr) AccessChain 60(id) 16 - 314: 11(int) Load 310 - 315: 153(ptr) AccessChain 123 126 152 16 - 316: 87(int) Load 315 - 317: 87(int) ISub 316 244 - 318: 11(int) Bitcast 317 - 319: 171(bool) ULessThan 314 318 - SelectionMerge 321 None - BranchConditional 319 320 321 - 320: Label - 323: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 324: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 325 325 16 16 - 322: 11(int) Load 144(index) - 326: 11(int) IAdd 322 38 - 328: 236(ptr) AccessChain 208(particleIn) 126 326 126 - 329: 85(fvec4) Load 328 - 330: 18(fvec3) VectorShuffle 329 329 0 1 2 - Store 327(param) 330 - 332: 18(fvec3) Load 266(pos) - Store 331(param) 332 - 334: 128(ptr) AccessChain 123 126 213 - 335: 8(float) Load 334 - Store 333(param) 335 - 336: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 327(param) 331(param) 333(param) - 337: 18(fvec3) Load 252(force) - 338: 18(fvec3) FAdd 337 336 - Store 252(force) 338 - Branch 321 - 321: Label - 340: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 341: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 342 342 16 16 - 339: 142(ptr) AccessChain 60(id) 38 - 343: 11(int) Load 339 - 344: 153(ptr) AccessChain 123 126 152 38 - 345: 87(int) Load 344 - 346: 87(int) ISub 345 244 - 347: 11(int) Bitcast 346 - 348: 171(bool) ULessThan 343 347 - SelectionMerge 350 None - BranchConditional 348 349 350 - 349: Label - 352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 353: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 354 354 16 16 - 351: 11(int) Load 144(index) - 355: 153(ptr) AccessChain 123 126 152 16 - 356: 87(int) Load 355 - 357: 11(int) Bitcast 356 - 358: 11(int) IAdd 351 357 - 361: 236(ptr) AccessChain 208(particleIn) 126 358 126 - 362: 85(fvec4) Load 361 - 363: 18(fvec3) VectorShuffle 362 362 0 1 2 - Store 360(param) 363 - 365: 18(fvec3) Load 266(pos) - Store 364(param) 365 - 367: 128(ptr) AccessChain 123 126 359 - 368: 8(float) Load 367 - Store 366(param) 368 - 369: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 360(param) 364(param) 366(param) - 370: 18(fvec3) Load 252(force) - 371: 18(fvec3) FAdd 370 369 - Store 252(force) 371 - Branch 350 - 350: Label - 373: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 374: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 375 375 16 16 - 372: 142(ptr) AccessChain 60(id) 38 - 376: 11(int) Load 372 - 377: 171(bool) UGreaterThan 376 16 - SelectionMerge 379 None - BranchConditional 377 378 379 - 378: Label - 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 383 383 16 16 - 380: 11(int) Load 144(index) - 384: 153(ptr) AccessChain 123 126 152 16 - 385: 87(int) Load 384 - 386: 11(int) Bitcast 385 - 387: 11(int) ISub 380 386 - 389: 236(ptr) AccessChain 208(particleIn) 126 387 126 - 390: 85(fvec4) Load 389 - 391: 18(fvec3) VectorShuffle 390 390 0 1 2 - Store 388(param) 391 - 393: 18(fvec3) Load 266(pos) - Store 392(param) 393 - 395: 128(ptr) AccessChain 123 126 359 - 396: 8(float) Load 395 - Store 394(param) 396 - 397: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 388(param) 392(param) 394(param) - 398: 18(fvec3) Load 252(force) - 399: 18(fvec3) FAdd 398 397 - Store 252(force) 399 - Branch 379 - 379: Label - 401: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 402: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 403 403 16 16 - 400: 142(ptr) AccessChain 60(id) 16 - 404: 11(int) Load 400 - 405: 171(bool) UGreaterThan 404 16 - 406: 142(ptr) AccessChain 60(id) 38 - 407: 11(int) Load 406 - 408: 153(ptr) AccessChain 123 126 152 38 - 409: 87(int) Load 408 - 410: 87(int) ISub 409 244 - 411: 11(int) Bitcast 410 - 412: 171(bool) ULessThan 407 411 - 413: 171(bool) LogicalAnd 405 412 - SelectionMerge 415 None - BranchConditional 413 414 415 - 414: Label - 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 419 419 16 16 - 416: 11(int) Load 144(index) - 420: 153(ptr) AccessChain 123 126 152 16 - 421: 87(int) Load 420 - 422: 11(int) Bitcast 421 - 423: 11(int) IAdd 416 422 - 424: 11(int) ISub 423 38 - 427: 236(ptr) AccessChain 208(particleIn) 126 424 126 - 428: 85(fvec4) Load 427 - 429: 18(fvec3) VectorShuffle 428 428 0 1 2 - Store 426(param) 429 - 431: 18(fvec3) Load 266(pos) - Store 430(param) 431 - 433: 128(ptr) AccessChain 123 126 425 - 434: 8(float) Load 433 - Store 432(param) 434 - 435: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 426(param) 430(param) 432(param) - 436: 18(fvec3) Load 252(force) - 437: 18(fvec3) FAdd 436 435 - Store 252(force) 437 - Branch 415 - 415: Label - 439: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 440: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 441 441 16 16 - 438: 142(ptr) AccessChain 60(id) 16 - 442: 11(int) Load 438 - 443: 171(bool) UGreaterThan 442 16 - 444: 142(ptr) AccessChain 60(id) 38 - 445: 11(int) Load 444 - 446: 171(bool) UGreaterThan 445 16 - 447: 171(bool) LogicalAnd 443 446 - SelectionMerge 449 None - BranchConditional 447 448 449 - 448: Label - 451: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 452: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 453 453 16 16 - 450: 11(int) Load 144(index) - 454: 153(ptr) AccessChain 123 126 152 16 - 455: 87(int) Load 454 - 456: 11(int) Bitcast 455 - 457: 11(int) ISub 450 456 - 458: 11(int) ISub 457 38 - 460: 236(ptr) AccessChain 208(particleIn) 126 458 126 - 461: 85(fvec4) Load 460 - 462: 18(fvec3) VectorShuffle 461 461 0 1 2 - Store 459(param) 462 - 464: 18(fvec3) Load 266(pos) - Store 463(param) 464 - 466: 128(ptr) AccessChain 123 126 425 - 467: 8(float) Load 466 - Store 465(param) 467 - 468: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 459(param) 463(param) 465(param) - 469: 18(fvec3) Load 252(force) - 470: 18(fvec3) FAdd 469 468 - Store 252(force) 470 - Branch 449 - 449: Label - 472: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 473: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 474 474 16 16 - 471: 142(ptr) AccessChain 60(id) 16 - 475: 11(int) Load 471 - 476: 153(ptr) AccessChain 123 126 152 16 - 477: 87(int) Load 476 - 478: 87(int) ISub 477 244 - 479: 11(int) Bitcast 478 - 480: 171(bool) ULessThan 475 479 - 481: 142(ptr) AccessChain 60(id) 38 - 482: 11(int) Load 481 - 483: 153(ptr) AccessChain 123 126 152 38 - 484: 87(int) Load 483 - 485: 87(int) ISub 484 244 - 486: 11(int) Bitcast 485 - 487: 171(bool) ULessThan 482 486 - 488: 171(bool) LogicalAnd 480 487 - SelectionMerge 490 None - BranchConditional 488 489 490 - 489: Label - 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 493: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 494 494 16 16 - 491: 11(int) Load 144(index) - 495: 153(ptr) AccessChain 123 126 152 16 - 496: 87(int) Load 495 - 497: 11(int) Bitcast 496 - 498: 11(int) IAdd 491 497 - 499: 11(int) IAdd 498 38 - 501: 236(ptr) AccessChain 208(particleIn) 126 499 126 - 502: 85(fvec4) Load 501 - 503: 18(fvec3) VectorShuffle 502 502 0 1 2 - Store 500(param) 503 - 505: 18(fvec3) Load 266(pos) - Store 504(param) 505 - 507: 128(ptr) AccessChain 123 126 425 - 508: 8(float) Load 507 - Store 506(param) 508 - 509: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 500(param) 504(param) 506(param) - 510: 18(fvec3) Load 252(force) - 511: 18(fvec3) FAdd 510 509 - Store 252(force) 511 - Branch 490 - 490: Label - 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 514: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 515 515 16 16 - 512: 142(ptr) AccessChain 60(id) 16 - 516: 11(int) Load 512 - 517: 153(ptr) AccessChain 123 126 152 16 - 518: 87(int) Load 517 - 519: 87(int) ISub 518 244 - 520: 11(int) Bitcast 519 - 521: 171(bool) ULessThan 516 520 - 522: 142(ptr) AccessChain 60(id) 38 - 523: 11(int) Load 522 - 524: 171(bool) UGreaterThan 523 16 - 525: 171(bool) LogicalAnd 521 524 - SelectionMerge 527 None - BranchConditional 525 526 527 - 526: Label - 529: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 530: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 531 531 16 16 - 528: 11(int) Load 144(index) - 532: 153(ptr) AccessChain 123 126 152 16 - 533: 87(int) Load 532 - 534: 11(int) Bitcast 533 - 535: 11(int) ISub 528 534 - 536: 11(int) IAdd 535 38 - 538: 236(ptr) AccessChain 208(particleIn) 126 536 126 - 539: 85(fvec4) Load 538 - 540: 18(fvec3) VectorShuffle 539 539 0 1 2 - Store 537(param) 540 - 542: 18(fvec3) Load 266(pos) - Store 541(param) 542 - 544: 128(ptr) AccessChain 123 126 425 - 545: 8(float) Load 544 - Store 543(param) 545 - 546: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 537(param) 541(param) 543(param) - 547: 18(fvec3) Load 252(force) - 548: 18(fvec3) FAdd 547 546 - Store 252(force) 548 - Branch 527 - 527: Label - 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 552: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 553 553 16 16 - 550: 128(ptr) AccessChain 123 126 549 - 554: 8(float) Load 550 - 555: 8(float) FNegate 554 - 556: 18(fvec3) Load 276(vel) - 557: 18(fvec3) VectorTimesScalar 556 555 - 558: 18(fvec3) Load 252(force) - 559: 18(fvec3) FAdd 558 557 - Store 252(force) 559 - 565: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 563 563 16 16 - 564: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 561 560(f) 44 - 566: 18(fvec3) Load 252(force) - 567: 128(ptr) AccessChain 123 126 244 - 568: 8(float) Load 567 - 569: 8(float) FDiv 216 568 - 570: 18(fvec3) VectorTimesScalar 566 569 - Store 560(f) 570 - 572: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 573 573 16 16 - 571: 11(int) Load 144(index) - 574: 18(fvec3) Load 266(pos) - 575: 18(fvec3) Load 276(vel) - 576: 128(ptr) AccessChain 123 126 126 - 577: 8(float) Load 576 - 578: 18(fvec3) VectorTimesScalar 575 577 - 579: 18(fvec3) FAdd 574 578 - 581: 18(fvec3) Load 560(f) - 582: 18(fvec3) VectorTimesScalar 581 580 - 583: 128(ptr) AccessChain 123 126 126 - 584: 8(float) Load 583 - 585: 18(fvec3) VectorTimesScalar 582 584 - 586: 128(ptr) AccessChain 123 126 126 - 587: 8(float) Load 586 - 588: 18(fvec3) VectorTimesScalar 585 587 - 589: 18(fvec3) FAdd 579 588 - 590: 8(float) CompositeExtract 589 0 - 591: 8(float) CompositeExtract 589 1 - 592: 8(float) CompositeExtract 589 2 - 593: 85(fvec4) CompositeConstruct 590 591 592 216 - 594: 236(ptr) AccessChain 230(particleOut) 126 571 126 - Store 594 593 - 596: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 597 597 16 16 - 595: 11(int) Load 144(index) - 598: 18(fvec3) Load 276(vel) - 599: 18(fvec3) Load 560(f) - 600: 128(ptr) AccessChain 123 126 126 - 601: 8(float) Load 600 - 602: 18(fvec3) VectorTimesScalar 599 601 - 603: 18(fvec3) FAdd 598 602 - 604: 8(float) CompositeExtract 603 0 - 605: 8(float) CompositeExtract 603 1 - 606: 8(float) CompositeExtract 603 2 - 607: 85(fvec4) CompositeConstruct 604 605 606 245 - 608: 236(ptr) AccessChain 230(particleOut) 126 595 244 - Store 608 607 - 614: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 612 612 16 16 - 613: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 610 609(sphereDist) 44 - 615: 11(int) Load 144(index) - 616: 236(ptr) AccessChain 230(particleOut) 126 615 126 - 617: 85(fvec4) Load 616 - 618: 18(fvec3) VectorShuffle 617 617 0 1 2 - 620: 236(ptr) AccessChain 123 126 619 - 621: 85(fvec4) Load 620 - 622: 18(fvec3) VectorShuffle 621 621 0 1 2 - 623: 18(fvec3) FSub 618 622 - Store 609(sphereDist) 623 - 625: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 626 626 16 16 - 624: 18(fvec3) Load 609(sphereDist) - 627: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 624 - 629: 128(ptr) AccessChain 123 126 628 - 630: 8(float) Load 629 - 632: 8(float) FAdd 630 631 - 633: 171(bool) FOrdLessThan 627 632 - SelectionMerge 635 None - BranchConditional 633 634 635 - 634: Label - 637: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 638: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 639 639 16 16 - 636: 11(int) Load 144(index) - 640: 236(ptr) AccessChain 123 126 619 - 641: 85(fvec4) Load 640 - 642: 18(fvec3) VectorShuffle 641 641 0 1 2 - 643: 18(fvec3) Load 609(sphereDist) - 644: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 643 - 645: 128(ptr) AccessChain 123 126 628 - 646: 8(float) Load 645 - 647: 8(float) FAdd 646 631 - 648: 18(fvec3) VectorTimesScalar 644 647 - 649: 18(fvec3) FAdd 642 648 - 650: 128(ptr) AccessChain 230(particleOut) 126 636 126 16 - 651: 8(float) CompositeExtract 649 0 - Store 650 651 - 652: 128(ptr) AccessChain 230(particleOut) 126 636 126 38 - 653: 8(float) CompositeExtract 649 1 - Store 652 653 - 654: 128(ptr) AccessChain 230(particleOut) 126 636 126 49 - 655: 8(float) CompositeExtract 649 2 - Store 654 655 - 657: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 658 658 16 16 - 656: 11(int) Load 144(index) - 659: 236(ptr) AccessChain 230(particleOut) 126 656 244 - Store 659 246 - Branch 635 - 635: Label - 681: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 682: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 667 667 16 16 - 680: 678(ptr) AccessChain 676 126 126 - 683: 11(int) Load 680 - 684: 171(bool) IEqual 683 38 - SelectionMerge 686 None - BranchConditional 684 685 686 - 685: Label - 691: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 692: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 689 689 16 16 - 690: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 688 687(normal) 44 - Store 687(normal) 693 - 695: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 696 696 16 16 - 694: 142(ptr) AccessChain 60(id) 38 - 697: 11(int) Load 694 - 698: 171(bool) UGreaterThan 697 16 - SelectionMerge 700 None - BranchConditional 698 699 700 - 699: Label - 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 703: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 704 704 16 16 - 701: 142(ptr) AccessChain 60(id) 16 - 705: 11(int) Load 701 - 706: 171(bool) UGreaterThan 705 16 - SelectionMerge 708 None - BranchConditional 706 707 708 - 707: Label - 714: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 715: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 712 712 16 16 - 713: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 710 709(a) 44 - 716: 11(int) Load 144(index) - 717: 11(int) ISub 716 38 - 718: 236(ptr) AccessChain 208(particleIn) 126 717 126 - 719: 85(fvec4) Load 718 - 720: 18(fvec3) VectorShuffle 719 719 0 1 2 - 721: 18(fvec3) Load 266(pos) - 722: 18(fvec3) FSub 720 721 - Store 709(a) 722 - 728: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 726 726 16 16 - 727: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 724 723(b) 44 - 729: 11(int) Load 144(index) - 730: 153(ptr) AccessChain 123 126 152 16 - 731: 87(int) Load 730 - 732: 11(int) Bitcast 731 - 733: 11(int) ISub 729 732 - 734: 11(int) ISub 733 38 - 735: 236(ptr) AccessChain 208(particleIn) 126 734 126 - 736: 85(fvec4) Load 735 - 737: 18(fvec3) VectorShuffle 736 736 0 1 2 - 738: 18(fvec3) Load 266(pos) - 739: 18(fvec3) FSub 737 738 - Store 723(b) 739 - 745: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 743 743 16 16 - 744: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 741 740(c) 44 - 746: 11(int) Load 144(index) - 747: 153(ptr) AccessChain 123 126 152 16 - 748: 87(int) Load 747 - 749: 11(int) Bitcast 748 - 750: 11(int) ISub 746 749 - 751: 236(ptr) AccessChain 208(particleIn) 126 750 126 - 752: 85(fvec4) Load 751 - 753: 18(fvec3) VectorShuffle 752 752 0 1 2 - 754: 18(fvec3) Load 266(pos) - 755: 18(fvec3) FSub 753 754 - Store 740(c) 755 - 757: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 758 758 16 16 - 756: 18(fvec3) Load 709(a) - 759: 18(fvec3) Load 723(b) - 760: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 756 759 - 761: 18(fvec3) Load 723(b) - 762: 18(fvec3) Load 740(c) - 763: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 761 762 - 764: 18(fvec3) FAdd 760 763 - 765: 18(fvec3) Load 687(normal) - 766: 18(fvec3) FAdd 765 764 - Store 687(normal) 766 - Branch 708 - 708: Label - 768: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 769: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 770 770 16 16 - 767: 142(ptr) AccessChain 60(id) 16 - 771: 11(int) Load 767 - 772: 153(ptr) AccessChain 123 126 152 16 - 773: 87(int) Load 772 - 774: 87(int) ISub 773 244 - 775: 11(int) Bitcast 774 - 776: 171(bool) ULessThan 771 775 - SelectionMerge 778 None - BranchConditional 776 777 778 - 777: Label - 780: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 781: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 782 782 16 16 - 779: 11(int) Load 144(index) - 783: 153(ptr) AccessChain 123 126 152 16 - 784: 87(int) Load 783 - 785: 11(int) Bitcast 784 - 786: 11(int) ISub 779 785 - 787: 236(ptr) AccessChain 208(particleIn) 126 786 126 - 788: 85(fvec4) Load 787 - 789: 18(fvec3) VectorShuffle 788 788 0 1 2 - 790: 18(fvec3) Load 266(pos) - 791: 18(fvec3) FSub 789 790 - Store 709(a) 791 - 793: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 794 794 16 16 - 792: 11(int) Load 144(index) - 795: 153(ptr) AccessChain 123 126 152 16 - 796: 87(int) Load 795 - 797: 11(int) Bitcast 796 - 798: 11(int) ISub 792 797 - 799: 11(int) IAdd 798 38 - 800: 236(ptr) AccessChain 208(particleIn) 126 799 126 - 801: 85(fvec4) Load 800 - 802: 18(fvec3) VectorShuffle 801 801 0 1 2 - 803: 18(fvec3) Load 266(pos) - 804: 18(fvec3) FSub 802 803 - Store 723(b) 804 - 806: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 807 807 16 16 - 805: 11(int) Load 144(index) - 808: 11(int) IAdd 805 38 - 809: 236(ptr) AccessChain 208(particleIn) 126 808 126 - 810: 85(fvec4) Load 809 - 811: 18(fvec3) VectorShuffle 810 810 0 1 2 - 812: 18(fvec3) Load 266(pos) - 813: 18(fvec3) FSub 811 812 - Store 740(c) 813 - 815: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 816 816 16 16 - 814: 18(fvec3) Load 709(a) - 817: 18(fvec3) Load 723(b) - 818: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 814 817 - 819: 18(fvec3) Load 723(b) - 820: 18(fvec3) Load 740(c) - 821: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 819 820 - 822: 18(fvec3) FAdd 818 821 - 823: 18(fvec3) Load 687(normal) - 824: 18(fvec3) FAdd 823 822 - Store 687(normal) 824 - Branch 778 - 778: Label - 825: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - Branch 700 - 700: Label - 827: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 828: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 829 829 16 16 - 826: 142(ptr) AccessChain 60(id) 38 - 830: 11(int) Load 826 - 831: 153(ptr) AccessChain 123 126 152 38 - 832: 87(int) Load 831 - 833: 87(int) ISub 832 244 - 834: 11(int) Bitcast 833 - 835: 171(bool) ULessThan 830 834 - SelectionMerge 837 None - BranchConditional 835 836 837 - 836: Label - 839: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 840: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 841 841 16 16 - 838: 142(ptr) AccessChain 60(id) 16 - 842: 11(int) Load 838 - 843: 171(bool) UGreaterThan 842 16 - SelectionMerge 845 None - BranchConditional 843 844 845 - 844: Label - 847: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 848: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 849 849 16 16 - 846: 11(int) Load 144(index) - 850: 153(ptr) AccessChain 123 126 152 16 - 851: 87(int) Load 850 - 852: 11(int) Bitcast 851 - 853: 11(int) IAdd 846 852 - 854: 236(ptr) AccessChain 208(particleIn) 126 853 126 - 855: 85(fvec4) Load 854 - 856: 18(fvec3) VectorShuffle 855 855 0 1 2 - 857: 18(fvec3) Load 266(pos) - 858: 18(fvec3) FSub 856 857 - Store 709(a) 858 - 860: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 861 861 16 16 - 859: 11(int) Load 144(index) - 862: 153(ptr) AccessChain 123 126 152 16 - 863: 87(int) Load 862 - 864: 11(int) Bitcast 863 - 865: 11(int) IAdd 859 864 - 866: 11(int) ISub 865 38 - 867: 236(ptr) AccessChain 208(particleIn) 126 866 126 - 868: 85(fvec4) Load 867 - 869: 18(fvec3) VectorShuffle 868 868 0 1 2 - 870: 18(fvec3) Load 266(pos) - 871: 18(fvec3) FSub 869 870 - Store 723(b) 871 - 873: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 874 874 16 16 - 872: 11(int) Load 144(index) - 875: 11(int) ISub 872 38 - 876: 236(ptr) AccessChain 208(particleIn) 126 875 126 - 877: 85(fvec4) Load 876 - 878: 18(fvec3) VectorShuffle 877 877 0 1 2 - 879: 18(fvec3) Load 266(pos) - 880: 18(fvec3) FSub 878 879 - Store 740(c) 880 - 882: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 883 883 16 16 - 881: 18(fvec3) Load 709(a) - 884: 18(fvec3) Load 723(b) - 885: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 881 884 - 886: 18(fvec3) Load 723(b) - 887: 18(fvec3) Load 740(c) - 888: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 886 887 - 889: 18(fvec3) FAdd 885 888 - 890: 18(fvec3) Load 687(normal) - 891: 18(fvec3) FAdd 890 889 - Store 687(normal) 891 - Branch 845 - 845: Label - 893: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 894: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 895 895 16 16 - 892: 142(ptr) AccessChain 60(id) 16 - 896: 11(int) Load 892 - 897: 153(ptr) AccessChain 123 126 152 16 - 898: 87(int) Load 897 - 899: 87(int) ISub 898 244 - 900: 11(int) Bitcast 899 - 901: 171(bool) ULessThan 896 900 - SelectionMerge 903 None - BranchConditional 901 902 903 - 902: Label - 905: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 906: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 907 907 16 16 - 904: 11(int) Load 144(index) - 908: 11(int) IAdd 904 38 - 909: 236(ptr) AccessChain 208(particleIn) 126 908 126 - 910: 85(fvec4) Load 909 - 911: 18(fvec3) VectorShuffle 910 910 0 1 2 - 912: 18(fvec3) Load 266(pos) - 913: 18(fvec3) FSub 911 912 - Store 709(a) 913 - 915: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 916 916 16 16 - 914: 11(int) Load 144(index) - 917: 153(ptr) AccessChain 123 126 152 16 - 918: 87(int) Load 917 - 919: 11(int) Bitcast 918 - 920: 11(int) IAdd 914 919 - 921: 11(int) IAdd 920 38 - 922: 236(ptr) AccessChain 208(particleIn) 126 921 126 - 923: 85(fvec4) Load 922 - 924: 18(fvec3) VectorShuffle 923 923 0 1 2 - 925: 18(fvec3) Load 266(pos) - 926: 18(fvec3) FSub 924 925 - Store 723(b) 926 - 928: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 929 929 16 16 - 927: 11(int) Load 144(index) - 930: 153(ptr) AccessChain 123 126 152 16 - 931: 87(int) Load 930 - 932: 11(int) Bitcast 931 - 933: 11(int) IAdd 927 932 - 934: 236(ptr) AccessChain 208(particleIn) 126 933 126 - 935: 85(fvec4) Load 934 - 936: 18(fvec3) VectorShuffle 935 935 0 1 2 - 937: 18(fvec3) Load 266(pos) - 938: 18(fvec3) FSub 936 937 - Store 740(c) 938 - 940: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 941 941 16 16 - 939: 18(fvec3) Load 709(a) - 942: 18(fvec3) Load 723(b) - 943: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 939 942 - 944: 18(fvec3) Load 723(b) - 945: 18(fvec3) Load 740(c) - 946: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 944 945 - 947: 18(fvec3) FAdd 943 946 - 948: 18(fvec3) Load 687(normal) - 949: 18(fvec3) FAdd 948 947 - Store 687(normal) 949 - Branch 903 - 903: Label - 950: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - Branch 837 - 837: Label - 952: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 953: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 954 954 16 16 - 951: 11(int) Load 144(index) - 955: 18(fvec3) Load 687(normal) - 956: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 955 - 957: 8(float) CompositeExtract 956 0 - 958: 8(float) CompositeExtract 956 1 - 959: 8(float) CompositeExtract 956 2 - 960: 85(fvec4) CompositeConstruct 957 958 959 245 - 961: 236(ptr) AccessChain 230(particleOut) 126 951 549 - Store 961 960 - Branch 686 - 686: Label - 962: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 256: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 257: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 254 254 16 16 + 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 252 251(force) 44 + 259: 236(ptr) AccessChain 123 126 258 + 260: 85(fvec4) Load 259 + 261: 18(fvec3) VectorShuffle 260 260 0 1 2 + 262: 128(ptr) AccessChain 123 126 244 + 263: 8(float) Load 262 + 264: 18(fvec3) VectorTimesScalar 261 263 + Store 251(force) 264 + 270: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 268 268 16 16 + 269: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 266 265(pos) 44 + 271: 11(int) Load 145(index) + 272: 236(ptr) AccessChain 208(particleIn) 126 271 126 + 273: 85(fvec4) Load 272 + 274: 18(fvec3) VectorShuffle 273 273 0 1 2 + Store 265(pos) 274 + 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 278 278 16 16 + 279: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 276 275(vel) 44 + 281: 11(int) Load 145(index) + 282: 236(ptr) AccessChain 208(particleIn) 126 281 244 + 283: 85(fvec4) Load 282 + 284: 18(fvec3) VectorShuffle 283 283 0 1 2 + Store 275(vel) 284 + 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 287 287 16 16 + 285: 143(ptr) AccessChain 60(id) 16 + 288: 11(int) Load 285 + 289: 172(bool) UGreaterThan 288 16 + SelectionMerge 291 None + BranchConditional 289 290 291 + 290: Label + 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 294: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 295 295 16 16 + 292: 11(int) Load 145(index) + 296: 11(int) ISub 292 38 + 298: 236(ptr) AccessChain 208(particleIn) 126 296 126 + 299: 85(fvec4) Load 298 + 300: 18(fvec3) VectorShuffle 299 299 0 1 2 + Store 297(param) 300 + 302: 18(fvec3) Load 265(pos) + Store 301(param) 302 + 304: 128(ptr) AccessChain 123 126 213 + 305: 8(float) Load 304 + Store 303(param) 305 + 306: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 297(param) 301(param) 303(param) + 307: 18(fvec3) Load 251(force) + 308: 18(fvec3) FAdd 307 306 + Store 251(force) 308 + Branch 291 + 291: Label + 310: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 311: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 312 312 16 16 + 309: 143(ptr) AccessChain 60(id) 16 + 313: 11(int) Load 309 + 314: 154(ptr) AccessChain 123 126 153 16 + 315: 87(int) Load 314 + 316: 87(int) ISub 315 244 + 317: 11(int) Bitcast 316 + 318: 172(bool) ULessThan 313 317 + SelectionMerge 320 None + BranchConditional 318 319 320 + 319: Label + 322: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 323: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 324 324 16 16 + 321: 11(int) Load 145(index) + 325: 11(int) IAdd 321 38 + 327: 236(ptr) AccessChain 208(particleIn) 126 325 126 + 328: 85(fvec4) Load 327 + 329: 18(fvec3) VectorShuffle 328 328 0 1 2 + Store 326(param) 329 + 331: 18(fvec3) Load 265(pos) + Store 330(param) 331 + 333: 128(ptr) AccessChain 123 126 213 + 334: 8(float) Load 333 + Store 332(param) 334 + 335: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 326(param) 330(param) 332(param) + 336: 18(fvec3) Load 251(force) + 337: 18(fvec3) FAdd 336 335 + Store 251(force) 337 + Branch 320 + 320: Label + 339: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 340: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 341 341 16 16 + 338: 143(ptr) AccessChain 60(id) 38 + 342: 11(int) Load 338 + 343: 154(ptr) AccessChain 123 126 153 38 + 344: 87(int) Load 343 + 345: 87(int) ISub 344 244 + 346: 11(int) Bitcast 345 + 347: 172(bool) ULessThan 342 346 + SelectionMerge 349 None + BranchConditional 347 348 349 + 348: Label + 351: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 353 353 16 16 + 350: 11(int) Load 145(index) + 354: 154(ptr) AccessChain 123 126 153 16 + 355: 87(int) Load 354 + 356: 11(int) Bitcast 355 + 357: 11(int) IAdd 350 356 + 360: 236(ptr) AccessChain 208(particleIn) 126 357 126 + 361: 85(fvec4) Load 360 + 362: 18(fvec3) VectorShuffle 361 361 0 1 2 + Store 359(param) 362 + 364: 18(fvec3) Load 265(pos) + Store 363(param) 364 + 366: 128(ptr) AccessChain 123 126 358 + 367: 8(float) Load 366 + Store 365(param) 367 + 368: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 359(param) 363(param) 365(param) + 369: 18(fvec3) Load 251(force) + 370: 18(fvec3) FAdd 369 368 + Store 251(force) 370 + Branch 349 + 349: Label + 372: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 373: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 374 374 16 16 + 371: 143(ptr) AccessChain 60(id) 38 + 375: 11(int) Load 371 + 376: 172(bool) UGreaterThan 375 16 + SelectionMerge 378 None + BranchConditional 376 377 378 + 377: Label + 380: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 382 382 16 16 + 379: 11(int) Load 145(index) + 383: 154(ptr) AccessChain 123 126 153 16 + 384: 87(int) Load 383 + 385: 11(int) Bitcast 384 + 386: 11(int) ISub 379 385 + 388: 236(ptr) AccessChain 208(particleIn) 126 386 126 + 389: 85(fvec4) Load 388 + 390: 18(fvec3) VectorShuffle 389 389 0 1 2 + Store 387(param) 390 + 392: 18(fvec3) Load 265(pos) + Store 391(param) 392 + 394: 128(ptr) AccessChain 123 126 358 + 395: 8(float) Load 394 + Store 393(param) 395 + 396: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 387(param) 391(param) 393(param) + 397: 18(fvec3) Load 251(force) + 398: 18(fvec3) FAdd 397 396 + Store 251(force) 398 + Branch 378 + 378: Label + 400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 401: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 402 402 16 16 + 399: 143(ptr) AccessChain 60(id) 16 + 403: 11(int) Load 399 + 404: 172(bool) UGreaterThan 403 16 + 405: 143(ptr) AccessChain 60(id) 38 + 406: 11(int) Load 405 + 407: 154(ptr) AccessChain 123 126 153 38 + 408: 87(int) Load 407 + 409: 87(int) ISub 408 244 + 410: 11(int) Bitcast 409 + 411: 172(bool) ULessThan 406 410 + 412: 172(bool) LogicalAnd 404 411 + SelectionMerge 414 None + BranchConditional 412 413 414 + 413: Label + 416: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 418 418 16 16 + 415: 11(int) Load 145(index) + 419: 154(ptr) AccessChain 123 126 153 16 + 420: 87(int) Load 419 + 421: 11(int) Bitcast 420 + 422: 11(int) IAdd 415 421 + 423: 11(int) ISub 422 38 + 426: 236(ptr) AccessChain 208(particleIn) 126 423 126 + 427: 85(fvec4) Load 426 + 428: 18(fvec3) VectorShuffle 427 427 0 1 2 + Store 425(param) 428 + 430: 18(fvec3) Load 265(pos) + Store 429(param) 430 + 432: 128(ptr) AccessChain 123 126 424 + 433: 8(float) Load 432 + Store 431(param) 433 + 434: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 425(param) 429(param) 431(param) + 435: 18(fvec3) Load 251(force) + 436: 18(fvec3) FAdd 435 434 + Store 251(force) 436 + Branch 414 + 414: Label + 438: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 439: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 440 440 16 16 + 437: 143(ptr) AccessChain 60(id) 16 + 441: 11(int) Load 437 + 442: 172(bool) UGreaterThan 441 16 + 443: 143(ptr) AccessChain 60(id) 38 + 444: 11(int) Load 443 + 445: 172(bool) UGreaterThan 444 16 + 446: 172(bool) LogicalAnd 442 445 + SelectionMerge 448 None + BranchConditional 446 447 448 + 447: Label + 450: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 451: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 452 452 16 16 + 449: 11(int) Load 145(index) + 453: 154(ptr) AccessChain 123 126 153 16 + 454: 87(int) Load 453 + 455: 11(int) Bitcast 454 + 456: 11(int) ISub 449 455 + 457: 11(int) ISub 456 38 + 459: 236(ptr) AccessChain 208(particleIn) 126 457 126 + 460: 85(fvec4) Load 459 + 461: 18(fvec3) VectorShuffle 460 460 0 1 2 + Store 458(param) 461 + 463: 18(fvec3) Load 265(pos) + Store 462(param) 463 + 465: 128(ptr) AccessChain 123 126 424 + 466: 8(float) Load 465 + Store 464(param) 466 + 467: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 458(param) 462(param) 464(param) + 468: 18(fvec3) Load 251(force) + 469: 18(fvec3) FAdd 468 467 + Store 251(force) 469 + Branch 448 + 448: Label + 471: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 472: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 473 473 16 16 + 470: 143(ptr) AccessChain 60(id) 16 + 474: 11(int) Load 470 + 475: 154(ptr) AccessChain 123 126 153 16 + 476: 87(int) Load 475 + 477: 87(int) ISub 476 244 + 478: 11(int) Bitcast 477 + 479: 172(bool) ULessThan 474 478 + 480: 143(ptr) AccessChain 60(id) 38 + 481: 11(int) Load 480 + 482: 154(ptr) AccessChain 123 126 153 38 + 483: 87(int) Load 482 + 484: 87(int) ISub 483 244 + 485: 11(int) Bitcast 484 + 486: 172(bool) ULessThan 481 485 + 487: 172(bool) LogicalAnd 479 486 + SelectionMerge 489 None + BranchConditional 487 488 489 + 488: Label + 491: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 493 493 16 16 + 490: 11(int) Load 145(index) + 494: 154(ptr) AccessChain 123 126 153 16 + 495: 87(int) Load 494 + 496: 11(int) Bitcast 495 + 497: 11(int) IAdd 490 496 + 498: 11(int) IAdd 497 38 + 500: 236(ptr) AccessChain 208(particleIn) 126 498 126 + 501: 85(fvec4) Load 500 + 502: 18(fvec3) VectorShuffle 501 501 0 1 2 + Store 499(param) 502 + 504: 18(fvec3) Load 265(pos) + Store 503(param) 504 + 506: 128(ptr) AccessChain 123 126 424 + 507: 8(float) Load 506 + Store 505(param) 507 + 508: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 499(param) 503(param) 505(param) + 509: 18(fvec3) Load 251(force) + 510: 18(fvec3) FAdd 509 508 + Store 251(force) 510 + Branch 489 + 489: Label + 512: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 514 514 16 16 + 511: 143(ptr) AccessChain 60(id) 16 + 515: 11(int) Load 511 + 516: 154(ptr) AccessChain 123 126 153 16 + 517: 87(int) Load 516 + 518: 87(int) ISub 517 244 + 519: 11(int) Bitcast 518 + 520: 172(bool) ULessThan 515 519 + 521: 143(ptr) AccessChain 60(id) 38 + 522: 11(int) Load 521 + 523: 172(bool) UGreaterThan 522 16 + 524: 172(bool) LogicalAnd 520 523 + SelectionMerge 526 None + BranchConditional 524 525 526 + 525: Label + 528: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 529: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 530 530 16 16 + 527: 11(int) Load 145(index) + 531: 154(ptr) AccessChain 123 126 153 16 + 532: 87(int) Load 531 + 533: 11(int) Bitcast 532 + 534: 11(int) ISub 527 533 + 535: 11(int) IAdd 534 38 + 537: 236(ptr) AccessChain 208(particleIn) 126 535 126 + 538: 85(fvec4) Load 537 + 539: 18(fvec3) VectorShuffle 538 538 0 1 2 + Store 536(param) 539 + 541: 18(fvec3) Load 265(pos) + Store 540(param) 541 + 543: 128(ptr) AccessChain 123 126 424 + 544: 8(float) Load 543 + Store 542(param) 544 + 545: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 536(param) 540(param) 542(param) + 546: 18(fvec3) Load 251(force) + 547: 18(fvec3) FAdd 546 545 + Store 251(force) 547 + Branch 526 + 526: Label + 550: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 552 552 16 16 + 549: 128(ptr) AccessChain 123 126 548 + 553: 8(float) Load 549 + 554: 8(float) FNegate 553 + 555: 18(fvec3) Load 275(vel) + 556: 18(fvec3) VectorTimesScalar 555 554 + 557: 18(fvec3) Load 251(force) + 558: 18(fvec3) FAdd 557 556 + Store 251(force) 558 + 564: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 562 562 16 16 + 563: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 560 559(f) 44 + 565: 18(fvec3) Load 251(force) + 566: 128(ptr) AccessChain 123 126 244 + 567: 8(float) Load 566 + 568: 8(float) FDiv 216 567 + 569: 18(fvec3) VectorTimesScalar 565 568 + Store 559(f) 569 + 571: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 572 572 16 16 + 570: 11(int) Load 145(index) + 573: 18(fvec3) Load 265(pos) + 574: 18(fvec3) Load 275(vel) + 575: 128(ptr) AccessChain 123 126 126 + 576: 8(float) Load 575 + 577: 18(fvec3) VectorTimesScalar 574 576 + 578: 18(fvec3) FAdd 573 577 + 580: 18(fvec3) Load 559(f) + 581: 18(fvec3) VectorTimesScalar 580 579 + 582: 128(ptr) AccessChain 123 126 126 + 583: 8(float) Load 582 + 584: 18(fvec3) VectorTimesScalar 581 583 + 585: 128(ptr) AccessChain 123 126 126 + 586: 8(float) Load 585 + 587: 18(fvec3) VectorTimesScalar 584 586 + 588: 18(fvec3) FAdd 578 587 + 589: 8(float) CompositeExtract 588 0 + 590: 8(float) CompositeExtract 588 1 + 591: 8(float) CompositeExtract 588 2 + 592: 85(fvec4) CompositeConstruct 589 590 591 216 + 593: 236(ptr) AccessChain 230(particleOut) 126 570 126 + Store 593 592 + 595: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 596 596 16 16 + 594: 11(int) Load 145(index) + 597: 18(fvec3) Load 275(vel) + 598: 18(fvec3) Load 559(f) + 599: 128(ptr) AccessChain 123 126 126 + 600: 8(float) Load 599 + 601: 18(fvec3) VectorTimesScalar 598 600 + 602: 18(fvec3) FAdd 597 601 + 603: 8(float) CompositeExtract 602 0 + 604: 8(float) CompositeExtract 602 1 + 605: 8(float) CompositeExtract 602 2 + 606: 85(fvec4) CompositeConstruct 603 604 605 245 + 607: 236(ptr) AccessChain 230(particleOut) 126 594 244 + Store 607 606 + 613: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 611 611 16 16 + 612: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 609 608(sphereDist) 44 + 614: 11(int) Load 145(index) + 615: 236(ptr) AccessChain 230(particleOut) 126 614 126 + 616: 85(fvec4) Load 615 + 617: 18(fvec3) VectorShuffle 616 616 0 1 2 + 619: 236(ptr) AccessChain 123 126 618 + 620: 85(fvec4) Load 619 + 621: 18(fvec3) VectorShuffle 620 620 0 1 2 + 622: 18(fvec3) FSub 617 621 + Store 608(sphereDist) 622 + 624: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 625 625 16 16 + 623: 18(fvec3) Load 608(sphereDist) + 626: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 623 + 628: 128(ptr) AccessChain 123 126 627 + 629: 8(float) Load 628 + 631: 8(float) FAdd 629 630 + 632: 172(bool) FOrdLessThan 626 631 + SelectionMerge 634 None + BranchConditional 632 633 634 + 633: Label + 636: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 637: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 638 638 16 16 + 635: 11(int) Load 145(index) + 639: 236(ptr) AccessChain 123 126 618 + 640: 85(fvec4) Load 639 + 641: 18(fvec3) VectorShuffle 640 640 0 1 2 + 642: 18(fvec3) Load 608(sphereDist) + 643: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 642 + 644: 128(ptr) AccessChain 123 126 627 + 645: 8(float) Load 644 + 646: 8(float) FAdd 645 630 + 647: 18(fvec3) VectorTimesScalar 643 646 + 648: 18(fvec3) FAdd 641 647 + 649: 128(ptr) AccessChain 230(particleOut) 126 635 126 16 + 650: 8(float) CompositeExtract 648 0 + Store 649 650 + 651: 128(ptr) AccessChain 230(particleOut) 126 635 126 38 + 652: 8(float) CompositeExtract 648 1 + Store 651 652 + 653: 128(ptr) AccessChain 230(particleOut) 126 635 126 49 + 654: 8(float) CompositeExtract 648 2 + Store 653 654 + 656: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 657 657 16 16 + 655: 11(int) Load 145(index) + 658: 236(ptr) AccessChain 230(particleOut) 126 655 244 + Store 658 246 + Branch 634 + 634: Label + 680: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 681: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 666 666 16 16 + 679: 677(ptr) AccessChain 675 126 126 + 682: 11(int) Load 679 + 683: 172(bool) IEqual 682 38 + SelectionMerge 685 None + BranchConditional 683 684 685 + 684: Label + 690: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 691: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 688 688 16 16 + 689: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 687 686(normal) 44 + Store 686(normal) 692 + 694: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 695 695 16 16 + 693: 143(ptr) AccessChain 60(id) 38 + 696: 11(int) Load 693 + 697: 172(bool) UGreaterThan 696 16 + SelectionMerge 699 None + BranchConditional 697 698 699 + 698: Label + 701: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 703 703 16 16 + 700: 143(ptr) AccessChain 60(id) 16 + 704: 11(int) Load 700 + 705: 172(bool) UGreaterThan 704 16 + SelectionMerge 707 None + BranchConditional 705 706 707 + 706: Label + 713: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 714: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 711 711 16 16 + 712: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 709 708(a) 44 + 715: 11(int) Load 145(index) + 716: 11(int) ISub 715 38 + 717: 236(ptr) AccessChain 208(particleIn) 126 716 126 + 718: 85(fvec4) Load 717 + 719: 18(fvec3) VectorShuffle 718 718 0 1 2 + 720: 18(fvec3) Load 265(pos) + 721: 18(fvec3) FSub 719 720 + Store 708(a) 721 + 727: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 725 725 16 16 + 726: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 723 722(b) 44 + 728: 11(int) Load 145(index) + 729: 154(ptr) AccessChain 123 126 153 16 + 730: 87(int) Load 729 + 731: 11(int) Bitcast 730 + 732: 11(int) ISub 728 731 + 733: 11(int) ISub 732 38 + 734: 236(ptr) AccessChain 208(particleIn) 126 733 126 + 735: 85(fvec4) Load 734 + 736: 18(fvec3) VectorShuffle 735 735 0 1 2 + 737: 18(fvec3) Load 265(pos) + 738: 18(fvec3) FSub 736 737 + Store 722(b) 738 + 744: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 742 742 16 16 + 743: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 740 739(c) 44 + 745: 11(int) Load 145(index) + 746: 154(ptr) AccessChain 123 126 153 16 + 747: 87(int) Load 746 + 748: 11(int) Bitcast 747 + 749: 11(int) ISub 745 748 + 750: 236(ptr) AccessChain 208(particleIn) 126 749 126 + 751: 85(fvec4) Load 750 + 752: 18(fvec3) VectorShuffle 751 751 0 1 2 + 753: 18(fvec3) Load 265(pos) + 754: 18(fvec3) FSub 752 753 + Store 739(c) 754 + 756: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 757 757 16 16 + 755: 18(fvec3) Load 708(a) + 758: 18(fvec3) Load 722(b) + 759: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 755 758 + 760: 18(fvec3) Load 722(b) + 761: 18(fvec3) Load 739(c) + 762: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 760 761 + 763: 18(fvec3) FAdd 759 762 + 764: 18(fvec3) Load 686(normal) + 765: 18(fvec3) FAdd 764 763 + Store 686(normal) 765 + Branch 707 + 707: Label + 767: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 768: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 769 769 16 16 + 766: 143(ptr) AccessChain 60(id) 16 + 770: 11(int) Load 766 + 771: 154(ptr) AccessChain 123 126 153 16 + 772: 87(int) Load 771 + 773: 87(int) ISub 772 244 + 774: 11(int) Bitcast 773 + 775: 172(bool) ULessThan 770 774 + SelectionMerge 777 None + BranchConditional 775 776 777 + 776: Label + 779: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 780: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 781 781 16 16 + 778: 11(int) Load 145(index) + 782: 154(ptr) AccessChain 123 126 153 16 + 783: 87(int) Load 782 + 784: 11(int) Bitcast 783 + 785: 11(int) ISub 778 784 + 786: 236(ptr) AccessChain 208(particleIn) 126 785 126 + 787: 85(fvec4) Load 786 + 788: 18(fvec3) VectorShuffle 787 787 0 1 2 + 789: 18(fvec3) Load 265(pos) + 790: 18(fvec3) FSub 788 789 + Store 708(a) 790 + 792: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 793 793 16 16 + 791: 11(int) Load 145(index) + 794: 154(ptr) AccessChain 123 126 153 16 + 795: 87(int) Load 794 + 796: 11(int) Bitcast 795 + 797: 11(int) ISub 791 796 + 798: 11(int) IAdd 797 38 + 799: 236(ptr) AccessChain 208(particleIn) 126 798 126 + 800: 85(fvec4) Load 799 + 801: 18(fvec3) VectorShuffle 800 800 0 1 2 + 802: 18(fvec3) Load 265(pos) + 803: 18(fvec3) FSub 801 802 + Store 722(b) 803 + 805: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 806 806 16 16 + 804: 11(int) Load 145(index) + 807: 11(int) IAdd 804 38 + 808: 236(ptr) AccessChain 208(particleIn) 126 807 126 + 809: 85(fvec4) Load 808 + 810: 18(fvec3) VectorShuffle 809 809 0 1 2 + 811: 18(fvec3) Load 265(pos) + 812: 18(fvec3) FSub 810 811 + Store 739(c) 812 + 814: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 815 815 16 16 + 813: 18(fvec3) Load 708(a) + 816: 18(fvec3) Load 722(b) + 817: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 813 816 + 818: 18(fvec3) Load 722(b) + 819: 18(fvec3) Load 739(c) + 820: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 818 819 + 821: 18(fvec3) FAdd 817 820 + 822: 18(fvec3) Load 686(normal) + 823: 18(fvec3) FAdd 822 821 + Store 686(normal) 823 + Branch 777 + 777: Label + Branch 699 + 699: Label + 825: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 826: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 827 827 16 16 + 824: 143(ptr) AccessChain 60(id) 38 + 828: 11(int) Load 824 + 829: 154(ptr) AccessChain 123 126 153 38 + 830: 87(int) Load 829 + 831: 87(int) ISub 830 244 + 832: 11(int) Bitcast 831 + 833: 172(bool) ULessThan 828 832 + SelectionMerge 835 None + BranchConditional 833 834 835 + 834: Label + 837: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 838: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 839 839 16 16 + 836: 143(ptr) AccessChain 60(id) 16 + 840: 11(int) Load 836 + 841: 172(bool) UGreaterThan 840 16 + SelectionMerge 843 None + BranchConditional 841 842 843 + 842: Label + 845: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 846: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 847 847 16 16 + 844: 11(int) Load 145(index) + 848: 154(ptr) AccessChain 123 126 153 16 + 849: 87(int) Load 848 + 850: 11(int) Bitcast 849 + 851: 11(int) IAdd 844 850 + 852: 236(ptr) AccessChain 208(particleIn) 126 851 126 + 853: 85(fvec4) Load 852 + 854: 18(fvec3) VectorShuffle 853 853 0 1 2 + 855: 18(fvec3) Load 265(pos) + 856: 18(fvec3) FSub 854 855 + Store 708(a) 856 + 858: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 859 859 16 16 + 857: 11(int) Load 145(index) + 860: 154(ptr) AccessChain 123 126 153 16 + 861: 87(int) Load 860 + 862: 11(int) Bitcast 861 + 863: 11(int) IAdd 857 862 + 864: 11(int) ISub 863 38 + 865: 236(ptr) AccessChain 208(particleIn) 126 864 126 + 866: 85(fvec4) Load 865 + 867: 18(fvec3) VectorShuffle 866 866 0 1 2 + 868: 18(fvec3) Load 265(pos) + 869: 18(fvec3) FSub 867 868 + Store 722(b) 869 + 871: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 872 872 16 16 + 870: 11(int) Load 145(index) + 873: 11(int) ISub 870 38 + 874: 236(ptr) AccessChain 208(particleIn) 126 873 126 + 875: 85(fvec4) Load 874 + 876: 18(fvec3) VectorShuffle 875 875 0 1 2 + 877: 18(fvec3) Load 265(pos) + 878: 18(fvec3) FSub 876 877 + Store 739(c) 878 + 880: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 881 881 16 16 + 879: 18(fvec3) Load 708(a) + 882: 18(fvec3) Load 722(b) + 883: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 879 882 + 884: 18(fvec3) Load 722(b) + 885: 18(fvec3) Load 739(c) + 886: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 884 885 + 887: 18(fvec3) FAdd 883 886 + 888: 18(fvec3) Load 686(normal) + 889: 18(fvec3) FAdd 888 887 + Store 686(normal) 889 + Branch 843 + 843: Label + 891: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 892: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 893 893 16 16 + 890: 143(ptr) AccessChain 60(id) 16 + 894: 11(int) Load 890 + 895: 154(ptr) AccessChain 123 126 153 16 + 896: 87(int) Load 895 + 897: 87(int) ISub 896 244 + 898: 11(int) Bitcast 897 + 899: 172(bool) ULessThan 894 898 + SelectionMerge 901 None + BranchConditional 899 900 901 + 900: Label + 903: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 904: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 905 905 16 16 + 902: 11(int) Load 145(index) + 906: 11(int) IAdd 902 38 + 907: 236(ptr) AccessChain 208(particleIn) 126 906 126 + 908: 85(fvec4) Load 907 + 909: 18(fvec3) VectorShuffle 908 908 0 1 2 + 910: 18(fvec3) Load 265(pos) + 911: 18(fvec3) FSub 909 910 + Store 708(a) 911 + 913: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 914 914 16 16 + 912: 11(int) Load 145(index) + 915: 154(ptr) AccessChain 123 126 153 16 + 916: 87(int) Load 915 + 917: 11(int) Bitcast 916 + 918: 11(int) IAdd 912 917 + 919: 11(int) IAdd 918 38 + 920: 236(ptr) AccessChain 208(particleIn) 126 919 126 + 921: 85(fvec4) Load 920 + 922: 18(fvec3) VectorShuffle 921 921 0 1 2 + 923: 18(fvec3) Load 265(pos) + 924: 18(fvec3) FSub 922 923 + Store 722(b) 924 + 926: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 927 927 16 16 + 925: 11(int) Load 145(index) + 928: 154(ptr) AccessChain 123 126 153 16 + 929: 87(int) Load 928 + 930: 11(int) Bitcast 929 + 931: 11(int) IAdd 925 930 + 932: 236(ptr) AccessChain 208(particleIn) 126 931 126 + 933: 85(fvec4) Load 932 + 934: 18(fvec3) VectorShuffle 933 933 0 1 2 + 935: 18(fvec3) Load 265(pos) + 936: 18(fvec3) FSub 934 935 + Store 739(c) 936 + 938: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 939 939 16 16 + 937: 18(fvec3) Load 708(a) + 940: 18(fvec3) Load 722(b) + 941: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 937 940 + 942: 18(fvec3) Load 722(b) + 943: 18(fvec3) Load 739(c) + 944: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 942 943 + 945: 18(fvec3) FAdd 941 944 + 946: 18(fvec3) Load 686(normal) + 947: 18(fvec3) FAdd 946 945 + Store 686(normal) 947 + Branch 901 + 901: Label + Branch 835 + 835: Label + 949: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 950: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 951 951 16 16 + 948: 11(int) Load 145(index) + 952: 18(fvec3) Load 686(normal) + 953: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 952 + 954: 8(float) CompositeExtract 953 0 + 955: 8(float) CompositeExtract 953 1 + 956: 8(float) CompositeExtract 953 2 + 957: 85(fvec4) CompositeConstruct 954 955 956 245 + 958: 236(ptr) AccessChain 230(particleOut) 126 948 548 + Store 958 957 + Branch 685 + 685: Label + 959: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 960: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 951 951 16 16 Return FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.hlsl.frag.out b/Test/baseResults/spv.debuginfo.hlsl.frag.out index 5e5846e8b..5d0d7f7c2 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.frag.out +++ b/Test/baseResults/spv.debuginfo.hlsl.frag.out @@ -1,7 +1,7 @@ spv.debuginfo.hlsl.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 903 +// Id's are bound by 899 Capability Shader Capability ImageQuery @@ -9,7 +9,7 @@ spv.debuginfo.hlsl.frag 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 6 "main" 896 899 + EntryPoint Fragment 6 "main" 892 895 ExecutionMode 6 OriginUpperLeft 2: String "" 9: String "float" @@ -67,29 +67,29 @@ spv.debuginfo.hlsl.frag 462: String "displayDebugTarget" 467: String "UBO" 470: String "ubo" - 523: String "textureposition" - 528: String "samplerposition" - 538: String "normal" - 544: String "textureNormal" - 549: String "samplerNormal" - 557: String "albedo" - 563: String "textureAlbedo" - 568: String "samplerAlbedo" - 662: String "N" - 686: String "L" - 712: String "V" - 727: String "lightCosInnerAngle" - 734: String "lightCosOuterAngle" - 741: String "lightRange" - 748: String "dir" - 764: String "cosDir" - 773: String "spotEffect" - 783: String "heightAttenuation" - 792: String "NdotL" - 802: String "diff" - 810: String "R" - 820: String "NdotR" - 830: String "spec" + 524: String "textureposition" + 529: String "samplerposition" + 539: String "normal" + 545: String "textureNormal" + 550: String "samplerNormal" + 558: String "albedo" + 564: String "textureAlbedo" + 569: String "samplerAlbedo" + 657: String "N" + 681: String "L" + 707: String "V" + 722: String "lightCosInnerAngle" + 729: String "lightCosOuterAngle" + 736: String "lightRange" + 743: String "dir" + 759: String "cosDir" + 768: String "spotEffect" + 778: String "heightAttenuation" + 787: String "NdotL" + 797: String "diff" + 805: String "R" + 815: String "NdotR" + 825: String "spec" Name 6 "main" Name 36 "textureProj(vf4;f1;vf2;" Name 33 "P" @@ -141,41 +141,41 @@ spv.debuginfo.hlsl.frag Name 484 "shadowFactor" Name 491 "param" Name 493 "param" - Name 512 "fragPos" - Name 521 "textureposition" - Name 526 "samplerposition" - Name 536 "normal" - Name 542 "textureNormal" - Name 547 "samplerNormal" - Name 555 "albedo" - Name 561 "textureAlbedo" - Name 566 "samplerAlbedo" - Name 593 "fragcolor" - Name 600 "param" + Name 513 "fragPos" + Name 522 "textureposition" + Name 527 "samplerposition" + Name 537 "normal" + Name 543 "textureNormal" + Name 548 "samplerNormal" + Name 556 "albedo" + Name 562 "textureAlbedo" + Name 567 "samplerAlbedo" + Name 594 "fragcolor" Name 601 "param" - Name 660 "N" - Name 668 "i" - Name 684 "L" - Name 699 "dist" - Name 710 "V" - Name 725 "lightCosInnerAngle" - Name 732 "lightCosOuterAngle" - Name 739 "lightRange" - Name 746 "dir" - Name 762 "cosDir" - Name 771 "spotEffect" - Name 781 "heightAttenuation" - Name 790 "NdotL" - Name 800 "diff" - Name 808 "R" - Name 818 "NdotR" - Name 828 "spec" + Name 602 "param" + Name 655 "N" + Name 663 "i" + Name 679 "L" + Name 694 "dist" + Name 705 "V" + Name 720 "lightCosInnerAngle" + Name 727 "lightCosOuterAngle" + Name 734 "lightRange" + Name 741 "dir" + Name 757 "cosDir" + Name 766 "spotEffect" + Name 776 "heightAttenuation" + Name 785 "NdotL" + Name 795 "diff" + Name 803 "R" + Name 813 "NdotR" + Name 823 "spec" + Name 870 "param" Name 875 "param" - Name 880 "param" - Name 894 "inUV" - Name 896 "inUV" - Name 899 "@entryPointOutput" - Name 900 "param" + Name 890 "inUV" + Name 892 "inUV" + Name 895 "@entryPointOutput" + Name 896 "param" Decorate 167(textureShadowMap) Binding 5 Decorate 167(textureShadowMap) DescriptorSet 0 Decorate 178(samplerShadowMap) Binding 5 @@ -195,20 +195,20 @@ spv.debuginfo.hlsl.frag MemberDecorate 468(ubo) 0 Offset 0 Decorate 476 Binding 4 Decorate 476 DescriptorSet 0 - Decorate 521(textureposition) Binding 1 - Decorate 521(textureposition) DescriptorSet 0 - Decorate 526(samplerposition) Binding 1 - Decorate 526(samplerposition) DescriptorSet 0 - Decorate 542(textureNormal) Binding 2 - Decorate 542(textureNormal) DescriptorSet 0 - Decorate 547(samplerNormal) Binding 2 - Decorate 547(samplerNormal) DescriptorSet 0 - Decorate 561(textureAlbedo) Binding 3 - Decorate 561(textureAlbedo) DescriptorSet 0 - Decorate 566(samplerAlbedo) Binding 3 - Decorate 566(samplerAlbedo) DescriptorSet 0 - Decorate 896(inUV) Location 0 - Decorate 899(@entryPointOutput) Location 0 + Decorate 522(textureposition) Binding 1 + Decorate 522(textureposition) DescriptorSet 0 + Decorate 527(samplerposition) Binding 1 + Decorate 527(samplerposition) DescriptorSet 0 + Decorate 543(textureNormal) Binding 2 + Decorate 543(textureNormal) DescriptorSet 0 + Decorate 548(samplerNormal) Binding 2 + Decorate 548(samplerNormal) DescriptorSet 0 + Decorate 562(textureAlbedo) Binding 3 + Decorate 562(textureAlbedo) DescriptorSet 0 + Decorate 567(samplerAlbedo) Binding 3 + Decorate 567(samplerAlbedo) DescriptorSet 0 + Decorate 892(inUV) Location 0 + Decorate 895(@entryPointOutput) Location 0 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 @@ -298,7 +298,7 @@ spv.debuginfo.hlsl.frag 201: 8(float) Constant 0 210: 8(float) Constant 1048576000 213: 11(int) Constant 71 - 218: 11(int) Constant 74 + 217: 11(int) Constant 74 223: TypeVector 11(int) 3 224: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 13 17 225: TypePointer Function 223(ivec3) @@ -339,7 +339,7 @@ spv.debuginfo.hlsl.frag 344: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 345 237 40 346 16 65 19 367: 11(int) Constant 93 386: 11(int) Constant 94 - 400: 11(int) Constant 98 + 399: 11(int) Constant 98 411: 11(int) Constant 102 409: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 410 237 40 411 16 85 19 424: 235(int) Constant 3 @@ -384,114 +384,114 @@ spv.debuginfo.hlsl.frag 485: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 305 10 40 486 16 85 19 497: 11(int) Constant 113 507: 11(int) Constant 115 - 514: 11(int) Constant 121 - 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 75 40 514 16 101 19 - 517: TypeImage 8(float) 2D sampled format:Unknown - 518: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 162 16 40 514 16 43 163 164 17 - 519: TypePointer UniformConstant 517 - 520: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 518 16 16 -521(textureposition): 519(ptr) Variable UniformConstant - 522: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 523 518 40 514 16 43 523 521(textureposition) 170 - 525: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 44 40 514 16 43 175 164 17 -526(samplerposition): 176(ptr) Variable UniformConstant - 527: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 528 525 40 514 16 43 528 526(samplerposition) 170 - 530: TypeSampledImage 517 - 531: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 184 16 40 514 16 43 185 164 17 - 539: 11(int) Constant 122 - 537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 538 75 40 539 16 101 19 -542(textureNormal): 519(ptr) Variable UniformConstant - 543: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 544 518 40 539 16 43 544 542(textureNormal) 170 - 546: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 44 40 539 16 43 175 164 17 -547(samplerNormal): 176(ptr) Variable UniformConstant - 548: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 549 546 40 539 16 43 549 547(samplerNormal) 170 - 558: 11(int) Constant 123 - 556: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 557 20 40 558 16 101 19 -561(textureAlbedo): 519(ptr) Variable UniformConstant - 562: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 563 518 40 558 16 43 563 561(textureAlbedo) 170 - 565: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 44 40 558 16 43 175 164 17 -566(samplerAlbedo): 176(ptr) Variable UniformConstant - 567: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 568 565 40 558 16 43 568 566(samplerAlbedo) 170 - 573: TypePointer Uniform 235(int) - 574: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 237 27 16 - 577: 11(int) Constant 128 - 585: 11(int) Constant 129 - 595: 11(int) Constant 131 - 594: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 75 40 595 16 101 19 - 599: 74(fvec3) ConstantComposite 114 114 114 - 605: 11(int) Constant 132 + 515: 11(int) Constant 121 + 514: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 75 40 515 16 101 19 + 518: TypeImage 8(float) 2D sampled format:Unknown + 519: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 162 16 40 515 16 43 163 164 17 + 520: TypePointer UniformConstant 518 + 521: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 519 16 16 +522(textureposition): 520(ptr) Variable UniformConstant + 523: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 524 519 40 515 16 43 524 522(textureposition) 170 + 526: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 44 40 515 16 43 175 164 17 +527(samplerposition): 176(ptr) Variable UniformConstant + 528: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 529 526 40 515 16 43 529 527(samplerposition) 170 + 531: TypeSampledImage 518 + 532: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 184 16 40 515 16 43 185 164 17 + 540: 11(int) Constant 122 + 538: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 539 75 40 540 16 101 19 +543(textureNormal): 520(ptr) Variable UniformConstant + 544: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 545 519 40 540 16 43 545 543(textureNormal) 170 + 547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 44 40 540 16 43 175 164 17 +548(samplerNormal): 176(ptr) Variable UniformConstant + 549: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 550 547 40 540 16 43 550 548(samplerNormal) 170 + 559: 11(int) Constant 123 + 557: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 558 20 40 559 16 101 19 +562(textureAlbedo): 520(ptr) Variable UniformConstant + 563: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 564 519 40 559 16 43 564 562(textureAlbedo) 170 + 566: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 44 40 559 16 43 175 164 17 +567(samplerAlbedo): 176(ptr) Variable UniformConstant + 568: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 569 566 40 559 16 43 569 567(samplerAlbedo) 170 + 574: TypePointer Uniform 235(int) + 575: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 237 27 16 + 578: 11(int) Constant 128 + 586: 11(int) Constant 129 + 596: 11(int) Constant 131 + 595: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 75 40 596 16 101 19 + 600: 74(fvec3) ConstantComposite 114 114 114 + 606: 11(int) Constant 132 611: 11(int) Constant 134 613: 11(int) Constant 135 - 619: 11(int) Constant 137 - 621: 11(int) Constant 138 - 627: 11(int) Constant 140 - 630: 11(int) Constant 141 - 636: 11(int) Constant 143 - 639: 11(int) Constant 144 - 646: 11(int) Constant 146 - 656: 11(int) Constant 150 - 658: 8(float) Constant 1036831949 - 663: 11(int) Constant 152 - 661: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 662 75 40 663 16 101 19 - 670: 11(int) Constant 154 - 669: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 410 237 40 670 16 101 19 - 687: 11(int) Constant 157 - 685: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 686 75 40 687 16 101 19 - 692: TypePointer Uniform 18(fvec4) - 693: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 27 16 - 701: 11(int) Constant 159 - 700: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 155 10 40 701 16 101 19 - 708: 11(int) Constant 160 - 713: 11(int) Constant 163 - 711: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 712 75 40 713 16 101 19 - 723: 11(int) Constant 164 - 728: 11(int) Constant 166 - 726: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 727 10 40 728 16 101 19 - 731: 8(float) Constant 1064781546 - 735: 11(int) Constant 167 - 733: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 734 10 40 735 16 101 19 - 738: 8(float) Constant 1063781322 - 742: 11(int) Constant 168 - 740: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 741 10 40 742 16 101 19 - 745: 8(float) Constant 1120403456 - 749: 11(int) Constant 171 - 747: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 748 75 40 749 16 101 19 - 765: 11(int) Constant 174 - 763: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 764 10 40 765 16 101 19 - 774: 11(int) Constant 175 - 772: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 773 10 40 774 16 101 19 - 784: 11(int) Constant 176 - 782: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 783 10 40 784 16 101 19 - 793: 11(int) Constant 179 - 791: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 792 10 40 793 16 101 19 - 803: 11(int) Constant 180 - 801: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 802 75 40 803 16 101 19 - 811: 11(int) Constant 183 - 809: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 810 75 40 811 16 101 19 - 821: 11(int) Constant 184 - 819: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 820 10 40 821 16 101 19 - 831: 11(int) Constant 185 - 829: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 830 75 40 831 16 101 19 - 835: 8(float) Constant 1098907648 - 840: 8(float) Constant 1075838976 - 845: 11(int) Constant 187 - 853: 235(int) Constant 2 - 870: 11(int) Constant 191 - 879: 11(int) Constant 193 - 886: 11(int) Constant 196 - 895: TypePointer Input 26(fvec2) - 896(inUV): 895(ptr) Variable Input - 898: TypePointer Output 18(fvec4) -899(@entryPointOutput): 898(ptr) Variable Output + 618: 11(int) Constant 137 + 620: 11(int) Constant 138 + 625: 11(int) Constant 140 + 628: 11(int) Constant 141 + 633: 11(int) Constant 143 + 636: 11(int) Constant 144 + 642: 11(int) Constant 146 + 651: 11(int) Constant 150 + 653: 8(float) Constant 1036831949 + 658: 11(int) Constant 152 + 656: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 657 75 40 658 16 101 19 + 665: 11(int) Constant 154 + 664: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 410 237 40 665 16 101 19 + 682: 11(int) Constant 157 + 680: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 681 75 40 682 16 101 19 + 687: TypePointer Uniform 18(fvec4) + 688: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 27 16 + 696: 11(int) Constant 159 + 695: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 155 10 40 696 16 101 19 + 703: 11(int) Constant 160 + 708: 11(int) Constant 163 + 706: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 707 75 40 708 16 101 19 + 718: 11(int) Constant 164 + 723: 11(int) Constant 166 + 721: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 722 10 40 723 16 101 19 + 726: 8(float) Constant 1064781546 + 730: 11(int) Constant 167 + 728: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 729 10 40 730 16 101 19 + 733: 8(float) Constant 1063781322 + 737: 11(int) Constant 168 + 735: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 736 10 40 737 16 101 19 + 740: 8(float) Constant 1120403456 + 744: 11(int) Constant 171 + 742: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 743 75 40 744 16 101 19 + 760: 11(int) Constant 174 + 758: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 759 10 40 760 16 101 19 + 769: 11(int) Constant 175 + 767: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 768 10 40 769 16 101 19 + 779: 11(int) Constant 176 + 777: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 778 10 40 779 16 101 19 + 788: 11(int) Constant 179 + 786: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 787 10 40 788 16 101 19 + 798: 11(int) Constant 180 + 796: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 797 75 40 798 16 101 19 + 806: 11(int) Constant 183 + 804: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 805 75 40 806 16 101 19 + 816: 11(int) Constant 184 + 814: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 815 10 40 816 16 101 19 + 826: 11(int) Constant 185 + 824: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 825 75 40 826 16 101 19 + 830: 8(float) Constant 1098907648 + 835: 8(float) Constant 1075838976 + 840: 11(int) Constant 187 + 848: 235(int) Constant 2 + 865: 11(int) Constant 191 + 874: 11(int) Constant 193 + 881: 11(int) Constant 196 + 891: TypePointer Input 26(fvec2) + 892(inUV): 891(ptr) Variable Input + 894: TypePointer Output 18(fvec4) +895(@entryPointOutput): 894(ptr) Variable Output 6(main): 4 Function None 5 7: Label - 894(inUV): 29(ptr) Variable Function - 900(param): 29(ptr) Variable Function - 897: 26(fvec2) Load 896(inUV) - Store 894(inUV) 897 - 901: 26(fvec2) Load 894(inUV) - Store 900(param) 901 - 902: 18(fvec4) FunctionCall 98(@main(vf2;) 900(param) - Store 899(@entryPointOutput) 902 + 890(inUV): 29(ptr) Variable Function + 896(param): 29(ptr) Variable Function + 893: 26(fvec2) Load 892(inUV) + Store 890(inUV) 893 + 897: 26(fvec2) Load 890(inUV) + Store 896(param) 897 + 898: 18(fvec4) FunctionCall 98(@main(vf2;) 896(param) + Store 895(@entryPointOutput) 898 Return FunctionEnd 36(textureProj(vf4;f1;vf2;): 8(float) Function None 31 @@ -576,13 +576,12 @@ spv.debuginfo.hlsl.frag Store 109(shadow) 210 Branch 209 209: Label - 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 Branch 152 152: Label - 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 - 217: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 218 218 16 16 - 215: 8(float) Load 109(shadow) - ReturnValue 215 + 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 + 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 217 217 16 16 + 214: 8(float) Load 109(shadow) + ReturnValue 214 FunctionEnd 62(filterPCF(vf4;f1;): 8(float) Function None 58 60(sc): 21(ptr) FunctionParameter @@ -736,23 +735,22 @@ spv.debuginfo.hlsl.frag Store 343(y) 391 Branch 352 354: Label - 392: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 Branch 334 334: Label - 394: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 395: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 326 326 16 16 - 393: 235(int) Load 323(x) - 396: 235(int) IAdd 393 322 - Store 323(x) 396 + 393: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 394: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 326 326 16 16 + 392: 235(int) Load 323(x) + 395: 235(int) IAdd 392 322 + Store 323(x) 395 Branch 331 333: Label - 398: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 399: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 400 400 16 16 - 397: 8(float) Load 303(shadowFactor) - 401: 235(int) Load 309(count) - 402: 8(float) ConvertSToF 401 - 403: 8(float) FDiv 397 402 - ReturnValue 403 + 397: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 398: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 399 399 16 16 + 396: 8(float) Load 303(shadowFactor) + 400: 235(int) Load 309(count) + 401: 8(float) ConvertSToF 400 + 402: 8(float) FDiv 396 401 + ReturnValue 402 FunctionEnd 82(shadow(vf3;vf3;): 74(fvec3) Function None 78 80(fragcolor): 76(ptr) FunctionParameter @@ -828,317 +826,317 @@ spv.debuginfo.hlsl.frag 98(@main(vf2;): 18(fvec4) Function None 95 97(inUV): 29(ptr) FunctionParameter 99: Label - 512(fragPos): 76(ptr) Variable Function - 536(normal): 76(ptr) Variable Function - 555(albedo): 21(ptr) Variable Function - 593(fragcolor): 76(ptr) Variable Function - 600(param): 76(ptr) Variable Function + 513(fragPos): 76(ptr) Variable Function + 537(normal): 76(ptr) Variable Function + 556(albedo): 21(ptr) Variable Function + 594(fragcolor): 76(ptr) Variable Function 601(param): 76(ptr) Variable Function - 660(N): 76(ptr) Variable Function - 668(i): 251(ptr) Variable Function - 684(L): 76(ptr) Variable Function - 699(dist): 24(ptr) Variable Function - 710(V): 76(ptr) Variable Function -725(lightCosInnerAngle): 24(ptr) Variable Function -732(lightCosOuterAngle): 24(ptr) Variable Function - 739(lightRange): 24(ptr) Variable Function - 746(dir): 76(ptr) Variable Function - 762(cosDir): 24(ptr) Variable Function - 771(spotEffect): 24(ptr) Variable Function -781(heightAttenuation): 24(ptr) Variable Function - 790(NdotL): 24(ptr) Variable Function - 800(diff): 76(ptr) Variable Function - 808(R): 76(ptr) Variable Function - 818(NdotR): 24(ptr) Variable Function - 828(spec): 76(ptr) Variable Function + 602(param): 76(ptr) Variable Function + 655(N): 76(ptr) Variable Function + 663(i): 251(ptr) Variable Function + 679(L): 76(ptr) Variable Function + 694(dist): 24(ptr) Variable Function + 705(V): 76(ptr) Variable Function +720(lightCosInnerAngle): 24(ptr) Variable Function +727(lightCosOuterAngle): 24(ptr) Variable Function + 734(lightRange): 24(ptr) Variable Function + 741(dir): 76(ptr) Variable Function + 757(cosDir): 24(ptr) Variable Function + 766(spotEffect): 24(ptr) Variable Function +776(heightAttenuation): 24(ptr) Variable Function + 785(NdotL): 24(ptr) Variable Function + 795(diff): 76(ptr) Variable Function + 803(R): 76(ptr) Variable Function + 813(NdotR): 24(ptr) Variable Function + 823(spec): 76(ptr) Variable Function + 870(param): 76(ptr) Variable Function 875(param): 76(ptr) Variable Function - 880(param): 76(ptr) Variable Function 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 102 102 16 16 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 103 97(inUV) 49 - 511: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 101 98(@main(vf2;) - 516: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 514 514 16 16 - 515: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 513 512(fragPos) 49 - 524: 517 Load 521(textureposition) - 529: 172 Load 526(samplerposition) - 532: 530 SampledImage 524 529 - 533: 26(fvec2) Load 97(inUV) - 534: 18(fvec4) ImageSampleImplicitLod 532 533 - 535: 74(fvec3) VectorShuffle 534 534 0 1 2 - Store 512(fragPos) 535 - 541: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 539 539 16 16 - 540: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 537 536(normal) 49 - 545: 517 Load 542(textureNormal) - 550: 172 Load 547(samplerNormal) - 551: 530 SampledImage 545 550 - 552: 26(fvec2) Load 97(inUV) - 553: 18(fvec4) ImageSampleImplicitLod 551 552 - 554: 74(fvec3) VectorShuffle 553 553 0 1 2 - Store 536(normal) 554 - 560: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 558 558 16 16 - 559: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 556 555(albedo) 49 - 564: 517 Load 561(textureAlbedo) - 569: 172 Load 566(samplerAlbedo) - 570: 530 SampledImage 564 569 - 571: 26(fvec2) Load 97(inUV) - 572: 18(fvec4) ImageSampleImplicitLod 570 571 - Store 555(albedo) 572 - 576: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 577 577 16 16 - 575: 573(ptr) AccessChain 476 315 424 - 578: 235(int) Load 575 - 579: 143(bool) SGreaterThan 578 315 - SelectionMerge 581 None - BranchConditional 579 580 581 - 580: Label - 583: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 584: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 585 585 16 16 - 582: 573(ptr) AccessChain 476 315 424 - 586: 235(int) Load 582 - SelectionMerge 592 None - Switch 586 592 - case 1: 587 - case 2: 588 - case 3: 589 - case 4: 590 - case 5: 591 - 587: Label - 597: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 598: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 595 595 16 16 - 596: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 594 593(fragcolor) 49 - Store 600(param) 599 - 602: 74(fvec3) Load 512(fragPos) - Store 601(param) 602 - 603: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 600(param) 601(param) - Store 593(fragcolor) 603 - 604: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 605 605 16 16 - Branch 592 + 512: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 101 98(@main(vf2;) + 517: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 515 515 16 16 + 516: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 514 513(fragPos) 49 + 525: 518 Load 522(textureposition) + 530: 172 Load 527(samplerposition) + 533: 531 SampledImage 525 530 + 534: 26(fvec2) Load 97(inUV) + 535: 18(fvec4) ImageSampleImplicitLod 533 534 + 536: 74(fvec3) VectorShuffle 535 535 0 1 2 + Store 513(fragPos) 536 + 542: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 540 540 16 16 + 541: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 538 537(normal) 49 + 546: 518 Load 543(textureNormal) + 551: 172 Load 548(samplerNormal) + 552: 531 SampledImage 546 551 + 553: 26(fvec2) Load 97(inUV) + 554: 18(fvec4) ImageSampleImplicitLod 552 553 + 555: 74(fvec3) VectorShuffle 554 554 0 1 2 + Store 537(normal) 555 + 561: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 559 559 16 16 + 560: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 557 556(albedo) 49 + 565: 518 Load 562(textureAlbedo) + 570: 172 Load 567(samplerAlbedo) + 571: 531 SampledImage 565 570 + 572: 26(fvec2) Load 97(inUV) + 573: 18(fvec4) ImageSampleImplicitLod 571 572 + Store 556(albedo) 573 + 577: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 578 578 16 16 + 576: 574(ptr) AccessChain 476 315 424 + 579: 235(int) Load 576 + 580: 143(bool) SGreaterThan 579 315 + SelectionMerge 582 None + BranchConditional 580 581 582 + 581: Label + 584: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 585: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 586 586 16 16 + 583: 574(ptr) AccessChain 476 315 424 + 587: 235(int) Load 583 + SelectionMerge 593 None + Switch 587 593 + case 1: 588 + case 2: 589 + case 3: 590 + case 4: 591 + case 5: 592 588: Label + 598: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 599: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 596 596 16 16 + 597: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 595 594(fragcolor) 49 + Store 601(param) 600 + 603: 74(fvec3) Load 513(fragPos) + Store 602(param) 603 + 604: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 601(param) 602(param) + Store 594(fragcolor) 604 + 605: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 606 606 16 16 + Branch 593 + 589: Label 609: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 610: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 611 611 16 16 - 608: 74(fvec3) Load 512(fragPos) - Store 593(fragcolor) 608 + 608: 74(fvec3) Load 513(fragPos) + Store 594(fragcolor) 608 612: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 613 613 16 16 - Branch 592 - 589: Label - 617: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 618: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 619 619 16 16 - 616: 74(fvec3) Load 536(normal) - Store 593(fragcolor) 616 - 620: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 621 621 16 16 - Branch 592 + Branch 593 590: Label - 625: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 626: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 627 627 16 16 - 624: 18(fvec4) Load 555(albedo) - 628: 74(fvec3) VectorShuffle 624 624 0 1 2 - Store 593(fragcolor) 628 - 629: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 630 630 16 16 - Branch 592 + 616: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 617: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 618 618 16 16 + 615: 74(fvec3) Load 537(normal) + Store 594(fragcolor) 615 + 619: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 620 620 16 16 + Branch 593 591: Label - 634: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 623: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 624: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 625 625 16 16 + 622: 18(fvec4) Load 556(albedo) + 626: 74(fvec3) VectorShuffle 622 622 0 1 2 + Store 594(fragcolor) 626 + 627: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 628 628 16 16 + Branch 593 + 592: Label + 631: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 632: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 633 633 16 16 + 630: 18(fvec4) Load 556(albedo) + 634: 74(fvec3) VectorShuffle 630 630 3 3 3 + Store 594(fragcolor) 634 635: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 636 636 16 16 - 633: 18(fvec4) Load 555(albedo) - 637: 74(fvec3) VectorShuffle 633 633 3 3 3 - Store 593(fragcolor) 637 - 638: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 639 639 16 16 - Branch 592 - 592: Label - 644: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 645: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 646 646 16 16 - 643: 74(fvec3) Load 593(fragcolor) - 647: 8(float) CompositeExtract 643 0 - 648: 8(float) CompositeExtract 643 1 - 649: 8(float) CompositeExtract 643 2 - 650: 18(fvec4) CompositeConstruct 647 648 649 114 - ReturnValue 650 - 581: Label - 654: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 655: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 656 656 16 16 - 653: 18(fvec4) Load 555(albedo) - 657: 74(fvec3) VectorShuffle 653 653 0 1 2 - 659: 74(fvec3) VectorTimesScalar 657 658 - Store 593(fragcolor) 659 - 665: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 663 663 16 16 - 664: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 661 660(N) 49 - 666: 74(fvec3) Load 536(normal) - 667: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 666 - Store 660(N) 667 - 672: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 670 670 16 16 - 671: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 669 668(i) 49 - Store 668(i) 315 - Branch 673 - 673: Label - 677: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 678: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 670 670 16 16 - LoopMerge 675 676 None - Branch 679 - 679: Label - 681: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 682: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 670 670 16 16 - 680: 235(int) Load 668(i) - 683: 143(bool) SLessThan 680 424 - BranchConditional 683 674 675 - 674: Label - 689: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 690: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 687 687 16 16 - 688: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 685 684(L) 49 - 691: 235(int) Load 668(i) - 694: 692(ptr) AccessChain 476 315 322 691 315 - 695: 18(fvec4) Load 694 - 696: 74(fvec3) VectorShuffle 695 695 0 1 2 - 697: 74(fvec3) Load 512(fragPos) - 698: 74(fvec3) FSub 696 697 - Store 684(L) 698 - 703: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 701 701 16 16 - 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 700 699(dist) 49 - 704: 74(fvec3) Load 684(L) - 705: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 704 - Store 699(dist) 705 - 707: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 708 708 16 16 - 706: 74(fvec3) Load 684(L) - 709: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 706 - Store 684(L) 709 - 715: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 713 713 16 16 - 714: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 711 710(V) 49 - 716: 692(ptr) AccessChain 476 315 315 - 717: 18(fvec4) Load 716 - 718: 74(fvec3) VectorShuffle 717 717 0 1 2 - 719: 74(fvec3) Load 512(fragPos) - 720: 74(fvec3) FSub 718 719 - Store 710(V) 720 - 722: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 723 723 16 16 - 721: 74(fvec3) Load 710(V) - 724: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 721 - Store 710(V) 724 - 730: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 728 728 16 16 - 729: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 726 725(lightCosInnerAngle) 49 - Store 725(lightCosInnerAngle) 731 - 737: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 735 735 16 16 - 736: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 733 732(lightCosOuterAngle) 49 - Store 732(lightCosOuterAngle) 738 - 744: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 742 742 16 16 - 743: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 740 739(lightRange) 49 - Store 739(lightRange) 745 - 751: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 749 749 16 16 - 750: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 747 746(dir) 49 - 752: 235(int) Load 668(i) - 753: 692(ptr) AccessChain 476 315 322 752 315 - 754: 18(fvec4) Load 753 - 755: 74(fvec3) VectorShuffle 754 754 0 1 2 - 756: 235(int) Load 668(i) - 757: 692(ptr) AccessChain 476 315 322 756 322 - 758: 18(fvec4) Load 757 - 759: 74(fvec3) VectorShuffle 758 758 0 1 2 - 760: 74(fvec3) FSub 755 759 - 761: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 760 - Store 746(dir) 761 - 767: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 765 765 16 16 - 766: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 763 762(cosDir) 49 - 768: 74(fvec3) Load 684(L) - 769: 74(fvec3) Load 746(dir) - 770: 8(float) Dot 768 769 - Store 762(cosDir) 770 - 776: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 774 774 16 16 - 775: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 772 771(spotEffect) 49 - 777: 8(float) Load 732(lightCosOuterAngle) - 778: 8(float) Load 725(lightCosInnerAngle) - 779: 8(float) Load 762(cosDir) - 780: 8(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 777 778 779 - Store 771(spotEffect) 780 - 786: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 784 784 16 16 - 785: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 782 781(heightAttenuation) 49 - 787: 8(float) Load 739(lightRange) - 788: 8(float) Load 699(dist) - 789: 8(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 787 201 788 - Store 781(heightAttenuation) 789 - 795: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 793 793 16 16 - 794: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 791 790(NdotL) 49 - 796: 74(fvec3) Load 660(N) - 797: 74(fvec3) Load 684(L) - 798: 8(float) Dot 796 797 - 799: 8(float) ExtInst 3(GLSL.std.450) 40(FMax) 201 798 - Store 790(NdotL) 799 - 805: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 803 803 16 16 - 804: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 801 800(diff) 49 - 806: 8(float) Load 790(NdotL) - 807: 74(fvec3) CompositeConstruct 806 806 806 - Store 800(diff) 807 - 813: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 811 811 16 16 - 812: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 809 808(R) 49 - 814: 74(fvec3) Load 684(L) - 815: 74(fvec3) FNegate 814 - 816: 74(fvec3) Load 660(N) - 817: 74(fvec3) ExtInst 3(GLSL.std.450) 71(Reflect) 815 816 - Store 808(R) 817 - 823: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 821 821 16 16 - 822: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 819 818(NdotR) 49 - 824: 74(fvec3) Load 808(R) - 825: 74(fvec3) Load 710(V) - 826: 8(float) Dot 824 825 - 827: 8(float) ExtInst 3(GLSL.std.450) 40(FMax) 201 826 - Store 818(NdotR) 827 - 833: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 831 831 16 16 - 832: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 829 828(spec) 49 - 834: 8(float) Load 818(NdotR) - 836: 8(float) ExtInst 3(GLSL.std.450) 26(Pow) 834 835 - 837: 24(ptr) AccessChain 555(albedo) 17 - 838: 8(float) Load 837 - 839: 8(float) FMul 836 838 - 841: 8(float) FMul 839 840 - 842: 74(fvec3) CompositeConstruct 841 841 841 - Store 828(spec) 842 - 844: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 845 845 16 16 - 843: 74(fvec3) Load 800(diff) - 846: 74(fvec3) Load 828(spec) - 847: 74(fvec3) FAdd 843 846 - 848: 8(float) Load 771(spotEffect) - 849: 74(fvec3) VectorTimesScalar 847 848 - 850: 8(float) Load 781(heightAttenuation) - 851: 74(fvec3) VectorTimesScalar 849 850 - 852: 235(int) Load 668(i) - 854: 692(ptr) AccessChain 476 315 322 852 853 - 855: 18(fvec4) Load 854 - 856: 74(fvec3) VectorShuffle 855 855 0 1 2 - 857: 74(fvec3) FMul 851 856 - 858: 18(fvec4) Load 555(albedo) - 859: 74(fvec3) VectorShuffle 858 858 0 1 2 - 860: 74(fvec3) FMul 857 859 - 861: 74(fvec3) Load 593(fragcolor) - 862: 74(fvec3) FAdd 861 860 - Store 593(fragcolor) 862 - Branch 676 - 676: Label - 864: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 865: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 670 670 16 16 - 863: 235(int) Load 668(i) - 866: 235(int) IAdd 863 322 - Store 668(i) 866 - Branch 673 - 675: Label - 868: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 869: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 870 870 16 16 - 867: 573(ptr) AccessChain 476 315 853 - 871: 235(int) Load 867 - 872: 143(bool) SGreaterThan 871 315 - SelectionMerge 874 None - BranchConditional 872 873 874 - 873: Label - 877: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 878: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 879 879 16 16 - 876: 74(fvec3) Load 593(fragcolor) + Branch 593 + 593: Label + 640: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 641: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 642 642 16 16 + 639: 74(fvec3) Load 594(fragcolor) + 643: 8(float) CompositeExtract 639 0 + 644: 8(float) CompositeExtract 639 1 + 645: 8(float) CompositeExtract 639 2 + 646: 18(fvec4) CompositeConstruct 643 644 645 114 + ReturnValue 646 + 582: Label + 649: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 650: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 651 651 16 16 + 648: 18(fvec4) Load 556(albedo) + 652: 74(fvec3) VectorShuffle 648 648 0 1 2 + 654: 74(fvec3) VectorTimesScalar 652 653 + Store 594(fragcolor) 654 + 660: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 658 658 16 16 + 659: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 656 655(N) 49 + 661: 74(fvec3) Load 537(normal) + 662: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 661 + Store 655(N) 662 + 667: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 665 665 16 16 + 666: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 664 663(i) 49 + Store 663(i) 315 + Branch 668 + 668: Label + 672: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 673: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 665 665 16 16 + LoopMerge 670 671 None + Branch 674 + 674: Label + 676: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 677: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 665 665 16 16 + 675: 235(int) Load 663(i) + 678: 143(bool) SLessThan 675 424 + BranchConditional 678 669 670 + 669: Label + 684: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 685: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 682 682 16 16 + 683: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 680 679(L) 49 + 686: 235(int) Load 663(i) + 689: 687(ptr) AccessChain 476 315 322 686 315 + 690: 18(fvec4) Load 689 + 691: 74(fvec3) VectorShuffle 690 690 0 1 2 + 692: 74(fvec3) Load 513(fragPos) + 693: 74(fvec3) FSub 691 692 + Store 679(L) 693 + 698: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 696 696 16 16 + 697: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 695 694(dist) 49 + 699: 74(fvec3) Load 679(L) + 700: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 699 + Store 694(dist) 700 + 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 703 703 16 16 + 701: 74(fvec3) Load 679(L) + 704: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 701 + Store 679(L) 704 + 710: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 708 708 16 16 + 709: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 706 705(V) 49 + 711: 687(ptr) AccessChain 476 315 315 + 712: 18(fvec4) Load 711 + 713: 74(fvec3) VectorShuffle 712 712 0 1 2 + 714: 74(fvec3) Load 513(fragPos) + 715: 74(fvec3) FSub 713 714 + Store 705(V) 715 + 717: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 718 718 16 16 + 716: 74(fvec3) Load 705(V) + 719: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 716 + Store 705(V) 719 + 725: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 723 723 16 16 + 724: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 721 720(lightCosInnerAngle) 49 + Store 720(lightCosInnerAngle) 726 + 732: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 730 730 16 16 + 731: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 728 727(lightCosOuterAngle) 49 + Store 727(lightCosOuterAngle) 733 + 739: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 737 737 16 16 + 738: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 735 734(lightRange) 49 + Store 734(lightRange) 740 + 746: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 744 744 16 16 + 745: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 742 741(dir) 49 + 747: 235(int) Load 663(i) + 748: 687(ptr) AccessChain 476 315 322 747 315 + 749: 18(fvec4) Load 748 + 750: 74(fvec3) VectorShuffle 749 749 0 1 2 + 751: 235(int) Load 663(i) + 752: 687(ptr) AccessChain 476 315 322 751 322 + 753: 18(fvec4) Load 752 + 754: 74(fvec3) VectorShuffle 753 753 0 1 2 + 755: 74(fvec3) FSub 750 754 + 756: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 755 + Store 741(dir) 756 + 762: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 760 760 16 16 + 761: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 758 757(cosDir) 49 + 763: 74(fvec3) Load 679(L) + 764: 74(fvec3) Load 741(dir) + 765: 8(float) Dot 763 764 + Store 757(cosDir) 765 + 771: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 769 769 16 16 + 770: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 767 766(spotEffect) 49 + 772: 8(float) Load 727(lightCosOuterAngle) + 773: 8(float) Load 720(lightCosInnerAngle) + 774: 8(float) Load 757(cosDir) + 775: 8(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 772 773 774 + Store 766(spotEffect) 775 + 781: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 779 779 16 16 + 780: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 777 776(heightAttenuation) 49 + 782: 8(float) Load 734(lightRange) + 783: 8(float) Load 694(dist) + 784: 8(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 782 201 783 + Store 776(heightAttenuation) 784 + 790: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 788 788 16 16 + 789: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 786 785(NdotL) 49 + 791: 74(fvec3) Load 655(N) + 792: 74(fvec3) Load 679(L) + 793: 8(float) Dot 791 792 + 794: 8(float) ExtInst 3(GLSL.std.450) 40(FMax) 201 793 + Store 785(NdotL) 794 + 800: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 798 798 16 16 + 799: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 796 795(diff) 49 + 801: 8(float) Load 785(NdotL) + 802: 74(fvec3) CompositeConstruct 801 801 801 + Store 795(diff) 802 + 808: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 806 806 16 16 + 807: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 804 803(R) 49 + 809: 74(fvec3) Load 679(L) + 810: 74(fvec3) FNegate 809 + 811: 74(fvec3) Load 655(N) + 812: 74(fvec3) ExtInst 3(GLSL.std.450) 71(Reflect) 810 811 + Store 803(R) 812 + 818: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 816 816 16 16 + 817: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 814 813(NdotR) 49 + 819: 74(fvec3) Load 803(R) + 820: 74(fvec3) Load 705(V) + 821: 8(float) Dot 819 820 + 822: 8(float) ExtInst 3(GLSL.std.450) 40(FMax) 201 821 + Store 813(NdotR) 822 + 828: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 826 826 16 16 + 827: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 824 823(spec) 49 + 829: 8(float) Load 813(NdotR) + 831: 8(float) ExtInst 3(GLSL.std.450) 26(Pow) 829 830 + 832: 24(ptr) AccessChain 556(albedo) 17 + 833: 8(float) Load 832 + 834: 8(float) FMul 831 833 + 836: 8(float) FMul 834 835 + 837: 74(fvec3) CompositeConstruct 836 836 836 + Store 823(spec) 837 + 839: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 840 840 16 16 + 838: 74(fvec3) Load 795(diff) + 841: 74(fvec3) Load 823(spec) + 842: 74(fvec3) FAdd 838 841 + 843: 8(float) Load 766(spotEffect) + 844: 74(fvec3) VectorTimesScalar 842 843 + 845: 8(float) Load 776(heightAttenuation) + 846: 74(fvec3) VectorTimesScalar 844 845 + 847: 235(int) Load 663(i) + 849: 687(ptr) AccessChain 476 315 322 847 848 + 850: 18(fvec4) Load 849 + 851: 74(fvec3) VectorShuffle 850 850 0 1 2 + 852: 74(fvec3) FMul 846 851 + 853: 18(fvec4) Load 556(albedo) + 854: 74(fvec3) VectorShuffle 853 853 0 1 2 + 855: 74(fvec3) FMul 852 854 + 856: 74(fvec3) Load 594(fragcolor) + 857: 74(fvec3) FAdd 856 855 + Store 594(fragcolor) 857 + Branch 671 + 671: Label + 859: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 860: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 665 665 16 16 + 858: 235(int) Load 663(i) + 861: 235(int) IAdd 858 322 + Store 663(i) 861 + Branch 668 + 670: Label + 863: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 864: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 865 865 16 16 + 862: 574(ptr) AccessChain 476 315 848 + 866: 235(int) Load 862 + 867: 143(bool) SGreaterThan 866 315 + SelectionMerge 869 None + BranchConditional 867 868 869 + 868: Label + 872: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 873: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 874 874 16 16 + 871: 74(fvec3) Load 594(fragcolor) + Store 870(param) 871 + 876: 74(fvec3) Load 513(fragPos) Store 875(param) 876 - 881: 74(fvec3) Load 512(fragPos) - Store 880(param) 881 - 882: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 875(param) 880(param) - Store 593(fragcolor) 882 - Branch 874 - 874: Label - 884: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 885: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 886 886 16 16 - 883: 74(fvec3) Load 593(fragcolor) - 887: 8(float) CompositeExtract 883 0 - 888: 8(float) CompositeExtract 883 1 - 889: 8(float) CompositeExtract 883 2 - 890: 18(fvec4) CompositeConstruct 887 888 889 114 - ReturnValue 890 + 877: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 870(param) 875(param) + Store 594(fragcolor) 877 + Branch 869 + 869: Label + 879: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 880: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 881 881 16 16 + 878: 74(fvec3) Load 594(fragcolor) + 882: 8(float) CompositeExtract 878 0 + 883: 8(float) CompositeExtract 878 1 + 884: 8(float) CompositeExtract 878 2 + 885: 18(fvec4) CompositeConstruct 882 883 884 114 + ReturnValue 885 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.hlsl.tesc.out b/Test/baseResults/spv.debuginfo.hlsl.tesc.out index 04e24c4c9..a3cbcc5ea 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.tesc.out +++ b/Test/baseResults/spv.debuginfo.hlsl.tesc.out @@ -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 diff --git a/Test/baseResults/spv.debuginfo.hlsl.tese.out b/Test/baseResults/spv.debuginfo.hlsl.tese.out index e2b8ffd3d..230e96a8b 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.tese.out +++ b/Test/baseResults/spv.debuginfo.hlsl.tese.out @@ -1,14 +1,14 @@ spv.debuginfo.hlsl.tese // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 477 +// Id's are bound by 478 Capability Tessellation Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint TessellationEvaluation 6 "main" 368 383 392 401 408 414 454 458 462 465 468 471 474 + EntryPoint TessellationEvaluation 6 "main" 369 384 393 402 409 415 455 459 463 466 469 472 475 ExecutionMode 6 Quads 2: String "" 9: String "float" @@ -102,25 +102,25 @@ spv.debuginfo.hlsl.tese Name 297 "ubo" MemberName 297(ubo) 0 "ubo" Name 303 "" - Name 366 "input" - Name 368 "input.TessLevelOuter" - Name 383 "input.TessLevelInner" - Name 390 "TessCoord" - Name 392 "TessCoord" - Name 398 "patch" - Name 401 "patch.Pos" - Name 408 "patch.Normal" - Name 414 "patch.UV" - Name 446 "flattenTemp" - Name 448 "param" - Name 450 "param" - Name 454 "@entryPointOutput.Pos" - Name 458 "@entryPointOutput.Normal" - Name 462 "@entryPointOutput.UV" - Name 465 "@entryPointOutput.ViewVec" - Name 468 "@entryPointOutput.LightVec" - Name 471 "@entryPointOutput.EyePos" - Name 474 "@entryPointOutput.WorldPos" + Name 367 "input" + Name 369 "input.TessLevelOuter" + Name 384 "input.TessLevelInner" + Name 391 "TessCoord" + Name 393 "TessCoord" + Name 399 "patch" + Name 402 "patch.Pos" + Name 409 "patch.Normal" + Name 415 "patch.UV" + Name 447 "flattenTemp" + Name 449 "param" + Name 451 "param" + Name 455 "@entryPointOutput.Pos" + Name 459 "@entryPointOutput.Normal" + Name 463 "@entryPointOutput.UV" + Name 466 "@entryPointOutput.ViewVec" + Name 469 "@entryPointOutput.LightVec" + Name 472 "@entryPointOutput.EyePos" + Name 475 "@entryPointOutput.WorldPos" Decorate 241(displacementMapTexture) Binding 1 Decorate 241(displacementMapTexture) DescriptorSet 0 Decorate 253(displacementMapSampler) Binding 1 @@ -142,22 +142,22 @@ spv.debuginfo.hlsl.tese MemberDecorate 297(ubo) 0 Offset 0 Decorate 303 Binding 0 Decorate 303 DescriptorSet 0 - Decorate 368(input.TessLevelOuter) BuiltIn TessLevelOuter - Decorate 368(input.TessLevelOuter) Patch - Decorate 383(input.TessLevelInner) BuiltIn TessLevelInner - Decorate 383(input.TessLevelInner) Patch - Decorate 392(TessCoord) BuiltIn TessCoord - Decorate 392(TessCoord) Patch - Decorate 401(patch.Pos) BuiltIn Position - Decorate 408(patch.Normal) Location 0 - Decorate 414(patch.UV) Location 1 - Decorate 454(@entryPointOutput.Pos) BuiltIn Position - Decorate 458(@entryPointOutput.Normal) Location 0 - Decorate 462(@entryPointOutput.UV) Location 1 - Decorate 465(@entryPointOutput.ViewVec) Location 2 - Decorate 468(@entryPointOutput.LightVec) Location 3 - Decorate 471(@entryPointOutput.EyePos) Location 4 - Decorate 474(@entryPointOutput.WorldPos) Location 5 + Decorate 369(input.TessLevelOuter) BuiltIn TessLevelOuter + Decorate 369(input.TessLevelOuter) Patch + Decorate 384(input.TessLevelInner) BuiltIn TessLevelInner + Decorate 384(input.TessLevelInner) Patch + Decorate 393(TessCoord) BuiltIn TessCoord + Decorate 393(TessCoord) Patch + Decorate 402(patch.Pos) BuiltIn Position + Decorate 409(patch.Normal) Location 0 + Decorate 415(patch.UV) Location 1 + Decorate 455(@entryPointOutput.Pos) BuiltIn Position + Decorate 459(@entryPointOutput.Normal) Location 0 + Decorate 463(@entryPointOutput.UV) Location 1 + Decorate 466(@entryPointOutput.ViewVec) Location 2 + Decorate 469(@entryPointOutput.LightVec) Location 3 + Decorate 472(@entryPointOutput.EyePos) Location 4 + Decorate 475(@entryPointOutput.WorldPos) Location 5 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 @@ -330,148 +330,148 @@ spv.debuginfo.hlsl.tese 351: 124(int) Constant 5 354: 11(int) Constant 92 362: 11(int) Constant 93 - 367: TypePointer Input 19 -368(input.TessLevelOuter): 367(ptr) Variable Input - 369: TypePointer Input 8(float) - 382: TypePointer Input 22 -383(input.TessLevelInner): 382(ptr) Variable Input - 391: TypePointer Input 49(fvec3) - 392(TessCoord): 391(ptr) Variable Input - 397: TypePointer Function 65 - 399: TypeArray 47(fvec4) 18 - 400: TypePointer Input 399 - 401(patch.Pos): 400(ptr) Variable Input - 402: TypePointer Input 47(fvec4) - 406: TypeArray 49(fvec3) 18 - 407: TypePointer Input 406 -408(patch.Normal): 407(ptr) Variable Input - 412: TypeArray 43(fvec2) 18 - 413: TypePointer Input 412 - 414(patch.UV): 413(ptr) Variable Input - 415: TypePointer Input 43(fvec2) - 453: TypePointer Output 47(fvec4) -454(@entryPointOutput.Pos): 453(ptr) Variable Output - 457: TypePointer Output 49(fvec3) -458(@entryPointOutput.Normal): 457(ptr) Variable Output - 461: TypePointer Output 43(fvec2) -462(@entryPointOutput.UV): 461(ptr) Variable Output -465(@entryPointOutput.ViewVec): 457(ptr) Variable Output -468(@entryPointOutput.LightVec): 457(ptr) Variable Output -471(@entryPointOutput.EyePos): 457(ptr) Variable Output -474(@entryPointOutput.WorldPos): 457(ptr) Variable Output + 368: TypePointer Input 19 +369(input.TessLevelOuter): 368(ptr) Variable Input + 370: TypePointer Input 8(float) + 383: TypePointer Input 22 +384(input.TessLevelInner): 383(ptr) Variable Input + 392: TypePointer Input 49(fvec3) + 393(TessCoord): 392(ptr) Variable Input + 398: TypePointer Function 65 + 400: TypeArray 47(fvec4) 18 + 401: TypePointer Input 400 + 402(patch.Pos): 401(ptr) Variable Input + 403: TypePointer Input 47(fvec4) + 407: TypeArray 49(fvec3) 18 + 408: TypePointer Input 407 +409(patch.Normal): 408(ptr) Variable Input + 413: TypeArray 43(fvec2) 18 + 414: TypePointer Input 413 + 415(patch.UV): 414(ptr) Variable Input + 416: TypePointer Input 43(fvec2) + 454: TypePointer Output 47(fvec4) +455(@entryPointOutput.Pos): 454(ptr) Variable Output + 458: TypePointer Output 49(fvec3) +459(@entryPointOutput.Normal): 458(ptr) Variable Output + 462: TypePointer Output 43(fvec2) +463(@entryPointOutput.UV): 462(ptr) Variable Output +466(@entryPointOutput.ViewVec): 458(ptr) Variable Output +469(@entryPointOutput.LightVec): 458(ptr) Variable Output +472(@entryPointOutput.EyePos): 458(ptr) Variable Output +475(@entryPointOutput.WorldPos): 458(ptr) Variable Output 6(main): 4 Function None 5 7: Label - 366(input): 40(ptr) Variable Function - 390(TessCoord): 45(ptr) Variable Function - 398(patch): 397(ptr) Variable Function -446(flattenTemp): 105(ptr) Variable Function - 448(param): 40(ptr) Variable Function - 450(param): 45(ptr) Variable Function - 370: 369(ptr) AccessChain 368(input.TessLevelOuter) 127 - 371: 8(float) Load 370 - 372: 132(ptr) AccessChain 366(input) 127 127 - Store 372 371 - 373: 369(ptr) AccessChain 368(input.TessLevelOuter) 130 - 374: 8(float) Load 373 - 375: 132(ptr) AccessChain 366(input) 127 130 - Store 375 374 - 376: 369(ptr) AccessChain 368(input.TessLevelOuter) 128 - 377: 8(float) Load 376 - 378: 132(ptr) AccessChain 366(input) 127 128 - Store 378 377 - 379: 369(ptr) AccessChain 368(input.TessLevelOuter) 144 - 380: 8(float) Load 379 - 381: 132(ptr) AccessChain 366(input) 127 144 - Store 381 380 - 384: 369(ptr) AccessChain 383(input.TessLevelInner) 127 - 385: 8(float) Load 384 - 386: 132(ptr) AccessChain 366(input) 130 127 - Store 386 385 - 387: 369(ptr) AccessChain 383(input.TessLevelInner) 130 - 388: 8(float) Load 387 - 389: 132(ptr) AccessChain 366(input) 130 130 - Store 389 388 - 393: 49(fvec3) Load 392(TessCoord) - 394: 8(float) CompositeExtract 393 0 - 395: 8(float) CompositeExtract 393 1 - 396: 43(fvec2) CompositeConstruct 394 395 - Store 390(TessCoord) 396 - 403: 402(ptr) AccessChain 401(patch.Pos) 127 - 404: 47(fvec4) Load 403 - 405: 195(ptr) AccessChain 398(patch) 127 127 - Store 405 404 - 409: 391(ptr) AccessChain 408(patch.Normal) 127 - 410: 49(fvec3) Load 409 - 411: 160(ptr) AccessChain 398(patch) 127 130 - Store 411 410 - 416: 415(ptr) AccessChain 414(patch.UV) 127 - 417: 43(fvec2) Load 416 - 418: 45(ptr) AccessChain 398(patch) 127 128 - Store 418 417 - 419: 402(ptr) AccessChain 401(patch.Pos) 130 - 420: 47(fvec4) Load 419 - 421: 195(ptr) AccessChain 398(patch) 130 127 - Store 421 420 - 422: 391(ptr) AccessChain 408(patch.Normal) 130 - 423: 49(fvec3) Load 422 - 424: 160(ptr) AccessChain 398(patch) 130 130 - Store 424 423 - 425: 415(ptr) AccessChain 414(patch.UV) 130 - 426: 43(fvec2) Load 425 - 427: 45(ptr) AccessChain 398(patch) 130 128 - Store 427 426 - 428: 402(ptr) AccessChain 401(patch.Pos) 128 - 429: 47(fvec4) Load 428 - 430: 195(ptr) AccessChain 398(patch) 128 127 - Store 430 429 - 431: 391(ptr) AccessChain 408(patch.Normal) 128 - 432: 49(fvec3) Load 431 - 433: 160(ptr) AccessChain 398(patch) 128 130 - Store 433 432 - 434: 415(ptr) AccessChain 414(patch.UV) 128 - 435: 43(fvec2) Load 434 - 436: 45(ptr) AccessChain 398(patch) 128 128 - Store 436 435 - 437: 402(ptr) AccessChain 401(patch.Pos) 144 - 438: 47(fvec4) Load 437 - 439: 195(ptr) AccessChain 398(patch) 144 127 - Store 439 438 - 440: 391(ptr) AccessChain 408(patch.Normal) 144 - 441: 49(fvec3) Load 440 - 442: 160(ptr) AccessChain 398(patch) 144 130 - Store 442 441 - 443: 415(ptr) AccessChain 414(patch.UV) 144 - 444: 43(fvec2) Load 443 - 445: 45(ptr) AccessChain 398(patch) 144 128 - Store 445 444 - 447: 65 Load 398(patch) - 449:24(ConstantsHSOutput) Load 366(input) - Store 448(param) 449 - 451: 43(fvec2) Load 390(TessCoord) - Store 450(param) 451 - 452:67(DSOutput) FunctionCall 88(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];) 448(param) 450(param) 447 - Store 446(flattenTemp) 452 - 455: 195(ptr) AccessChain 446(flattenTemp) 127 - 456: 47(fvec4) Load 455 - Store 454(@entryPointOutput.Pos) 456 - 459: 160(ptr) AccessChain 446(flattenTemp) 130 - 460: 49(fvec3) Load 459 - Store 458(@entryPointOutput.Normal) 460 - 463: 45(ptr) AccessChain 446(flattenTemp) 128 - 464: 43(fvec2) Load 463 - Store 462(@entryPointOutput.UV) 464 - 466: 160(ptr) AccessChain 446(flattenTemp) 144 - 467: 49(fvec3) Load 466 - Store 465(@entryPointOutput.ViewVec) 467 - 469: 160(ptr) AccessChain 446(flattenTemp) 305 - 470: 49(fvec3) Load 469 - Store 468(@entryPointOutput.LightVec) 470 - 472: 160(ptr) AccessChain 446(flattenTemp) 351 - 473: 49(fvec3) Load 472 - Store 471(@entryPointOutput.EyePos) 473 - 475: 160(ptr) AccessChain 446(flattenTemp) 345 - 476: 49(fvec3) Load 475 - Store 474(@entryPointOutput.WorldPos) 476 + 367(input): 40(ptr) Variable Function + 391(TessCoord): 45(ptr) Variable Function + 399(patch): 398(ptr) Variable Function +447(flattenTemp): 105(ptr) Variable Function + 449(param): 40(ptr) Variable Function + 451(param): 45(ptr) Variable Function + 371: 370(ptr) AccessChain 369(input.TessLevelOuter) 127 + 372: 8(float) Load 371 + 373: 132(ptr) AccessChain 367(input) 127 127 + Store 373 372 + 374: 370(ptr) AccessChain 369(input.TessLevelOuter) 130 + 375: 8(float) Load 374 + 376: 132(ptr) AccessChain 367(input) 127 130 + Store 376 375 + 377: 370(ptr) AccessChain 369(input.TessLevelOuter) 128 + 378: 8(float) Load 377 + 379: 132(ptr) AccessChain 367(input) 127 128 + Store 379 378 + 380: 370(ptr) AccessChain 369(input.TessLevelOuter) 144 + 381: 8(float) Load 380 + 382: 132(ptr) AccessChain 367(input) 127 144 + Store 382 381 + 385: 370(ptr) AccessChain 384(input.TessLevelInner) 127 + 386: 8(float) Load 385 + 387: 132(ptr) AccessChain 367(input) 130 127 + Store 387 386 + 388: 370(ptr) AccessChain 384(input.TessLevelInner) 130 + 389: 8(float) Load 388 + 390: 132(ptr) AccessChain 367(input) 130 130 + Store 390 389 + 394: 49(fvec3) Load 393(TessCoord) + 395: 8(float) CompositeExtract 394 0 + 396: 8(float) CompositeExtract 394 1 + 397: 43(fvec2) CompositeConstruct 395 396 + Store 391(TessCoord) 397 + 404: 403(ptr) AccessChain 402(patch.Pos) 127 + 405: 47(fvec4) Load 404 + 406: 195(ptr) AccessChain 399(patch) 127 127 + Store 406 405 + 410: 392(ptr) AccessChain 409(patch.Normal) 127 + 411: 49(fvec3) Load 410 + 412: 160(ptr) AccessChain 399(patch) 127 130 + Store 412 411 + 417: 416(ptr) AccessChain 415(patch.UV) 127 + 418: 43(fvec2) Load 417 + 419: 45(ptr) AccessChain 399(patch) 127 128 + Store 419 418 + 420: 403(ptr) AccessChain 402(patch.Pos) 130 + 421: 47(fvec4) Load 420 + 422: 195(ptr) AccessChain 399(patch) 130 127 + Store 422 421 + 423: 392(ptr) AccessChain 409(patch.Normal) 130 + 424: 49(fvec3) Load 423 + 425: 160(ptr) AccessChain 399(patch) 130 130 + Store 425 424 + 426: 416(ptr) AccessChain 415(patch.UV) 130 + 427: 43(fvec2) Load 426 + 428: 45(ptr) AccessChain 399(patch) 130 128 + Store 428 427 + 429: 403(ptr) AccessChain 402(patch.Pos) 128 + 430: 47(fvec4) Load 429 + 431: 195(ptr) AccessChain 399(patch) 128 127 + Store 431 430 + 432: 392(ptr) AccessChain 409(patch.Normal) 128 + 433: 49(fvec3) Load 432 + 434: 160(ptr) AccessChain 399(patch) 128 130 + Store 434 433 + 435: 416(ptr) AccessChain 415(patch.UV) 128 + 436: 43(fvec2) Load 435 + 437: 45(ptr) AccessChain 399(patch) 128 128 + Store 437 436 + 438: 403(ptr) AccessChain 402(patch.Pos) 144 + 439: 47(fvec4) Load 438 + 440: 195(ptr) AccessChain 399(patch) 144 127 + Store 440 439 + 441: 392(ptr) AccessChain 409(patch.Normal) 144 + 442: 49(fvec3) Load 441 + 443: 160(ptr) AccessChain 399(patch) 144 130 + Store 443 442 + 444: 416(ptr) AccessChain 415(patch.UV) 144 + 445: 43(fvec2) Load 444 + 446: 45(ptr) AccessChain 399(patch) 144 128 + Store 446 445 + 448: 65 Load 399(patch) + 450:24(ConstantsHSOutput) Load 367(input) + Store 449(param) 450 + 452: 43(fvec2) Load 391(TessCoord) + Store 451(param) 452 + 453:67(DSOutput) FunctionCall 88(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];) 449(param) 451(param) 448 + Store 447(flattenTemp) 453 + 456: 195(ptr) AccessChain 447(flattenTemp) 127 + 457: 47(fvec4) Load 456 + Store 455(@entryPointOutput.Pos) 457 + 460: 160(ptr) AccessChain 447(flattenTemp) 130 + 461: 49(fvec3) Load 460 + Store 459(@entryPointOutput.Normal) 461 + 464: 45(ptr) AccessChain 447(flattenTemp) 128 + 465: 43(fvec2) Load 464 + Store 463(@entryPointOutput.UV) 465 + 467: 160(ptr) AccessChain 447(flattenTemp) 144 + 468: 49(fvec3) Load 467 + Store 466(@entryPointOutput.ViewVec) 468 + 470: 160(ptr) AccessChain 447(flattenTemp) 305 + 471: 49(fvec3) Load 470 + Store 469(@entryPointOutput.LightVec) 471 + 473: 160(ptr) AccessChain 447(flattenTemp) 351 + 474: 49(fvec3) Load 473 + Store 472(@entryPointOutput.EyePos) 474 + 476: 160(ptr) AccessChain 447(flattenTemp) 345 + 477: 49(fvec3) Load 476 + Store 475(@entryPointOutput.WorldPos) 477 Return FunctionEnd 88(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];):67(DSOutput) Function None 83 diff --git a/Test/baseResults/spv.debuginfo.hlsl.vert.out b/Test/baseResults/spv.debuginfo.hlsl.vert.out index 4e9f17fa0..d26021cf7 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.vert.out +++ b/Test/baseResults/spv.debuginfo.hlsl.vert.out @@ -1,14 +1,14 @@ spv.debuginfo.hlsl.vert // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 512 +// Id's are bound by 513 Capability Shader Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 6 "main" 461 464 468 471 474 477 481 485 493 497 500 503 506 509 + EntryPoint Vertex 6 "main" 462 465 469 472 475 478 482 486 494 498 501 504 507 510 2: String "" 9: String "float" 12: String "uint" @@ -88,23 +88,23 @@ spv.debuginfo.hlsl.vert Name 339 "locPos" Name 353 "pos" Name 419 "lPos" - Name 459 "input" - Name 461 "input.Pos" - Name 464 "input.Normal" - Name 468 "input.UV" - Name 471 "input.Color" - Name 474 "input.instancePos" - Name 477 "input.instanceRot" - Name 481 "input.instanceScale" - Name 485 "input.instanceTexIndex" - Name 488 "flattenTemp" - Name 489 "param" - Name 493 "@entryPointOutput.Pos" - Name 497 "@entryPointOutput.Normal" - Name 500 "@entryPointOutput.Color" - Name 503 "@entryPointOutput.UV" - Name 506 "@entryPointOutput.ViewVec" - Name 509 "@entryPointOutput.LightVec" + Name 460 "input" + Name 462 "input.Pos" + Name 465 "input.Normal" + Name 469 "input.UV" + Name 472 "input.Color" + Name 475 "input.instancePos" + Name 478 "input.instanceRot" + Name 482 "input.instanceScale" + Name 486 "input.instanceTexIndex" + Name 489 "flattenTemp" + Name 490 "param" + Name 494 "@entryPointOutput.Pos" + Name 498 "@entryPointOutput.Normal" + Name 501 "@entryPointOutput.Color" + Name 504 "@entryPointOutput.UV" + Name 507 "@entryPointOutput.ViewVec" + Name 510 "@entryPointOutput.LightVec" MemberDecorate 143(UBO) 0 RowMajor MemberDecorate 143(UBO) 0 MatrixStride 16 MemberDecorate 143(UBO) 0 Offset 0 @@ -118,20 +118,20 @@ spv.debuginfo.hlsl.vert MemberDecorate 159(ubo) 0 Offset 0 Decorate 166 Binding 0 Decorate 166 DescriptorSet 0 - Decorate 461(input.Pos) Location 0 - Decorate 464(input.Normal) Location 1 - Decorate 468(input.UV) Location 2 - Decorate 471(input.Color) Location 3 - Decorate 474(input.instancePos) Location 4 - Decorate 477(input.instanceRot) Location 5 - Decorate 481(input.instanceScale) Location 6 - Decorate 485(input.instanceTexIndex) Location 7 - Decorate 493(@entryPointOutput.Pos) BuiltIn Position - Decorate 497(@entryPointOutput.Normal) Location 0 - Decorate 500(@entryPointOutput.Color) Location 1 - Decorate 503(@entryPointOutput.UV) Location 2 - Decorate 506(@entryPointOutput.ViewVec) Location 3 - Decorate 509(@entryPointOutput.LightVec) Location 4 + Decorate 462(input.Pos) Location 0 + Decorate 465(input.Normal) Location 1 + Decorate 469(input.UV) Location 2 + Decorate 472(input.Color) Location 3 + Decorate 475(input.instancePos) Location 4 + Decorate 478(input.instanceRot) Location 5 + Decorate 482(input.instanceScale) Location 6 + Decorate 486(input.instanceTexIndex) Location 7 + Decorate 494(@entryPointOutput.Pos) BuiltIn Position + Decorate 498(@entryPointOutput.Normal) Location 0 + Decorate 501(@entryPointOutput.Color) Location 1 + Decorate 504(@entryPointOutput.UV) Location 2 + Decorate 507(@entryPointOutput.ViewVec) Location 3 + Decorate 510(@entryPointOutput.LightVec) Location 4 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 @@ -302,77 +302,77 @@ spv.debuginfo.hlsl.vert 442: 11(int) Constant 109 449: 11(int) Constant 110 455: 11(int) Constant 111 - 460: TypePointer Input 18(fvec3) - 461(input.Pos): 460(ptr) Variable Input -464(input.Normal): 460(ptr) Variable Input - 467: TypePointer Input 20(fvec2) - 468(input.UV): 467(ptr) Variable Input -471(input.Color): 460(ptr) Variable Input -474(input.instancePos): 460(ptr) Variable Input -477(input.instanceRot): 460(ptr) Variable Input - 480: TypePointer Input 8(float) -481(input.instanceScale): 480(ptr) Variable Input - 484: TypePointer Input 23(int) -485(input.instanceTexIndex): 484(ptr) Variable Input - 492: TypePointer Output 59(fvec4) -493(@entryPointOutput.Pos): 492(ptr) Variable Output - 496: TypePointer Output 18(fvec3) -497(@entryPointOutput.Normal): 496(ptr) Variable Output -500(@entryPointOutput.Color): 496(ptr) Variable Output -503(@entryPointOutput.UV): 496(ptr) Variable Output -506(@entryPointOutput.ViewVec): 496(ptr) Variable Output -509(@entryPointOutput.LightVec): 496(ptr) Variable Output + 461: TypePointer Input 18(fvec3) + 462(input.Pos): 461(ptr) Variable Input +465(input.Normal): 461(ptr) Variable Input + 468: TypePointer Input 20(fvec2) + 469(input.UV): 468(ptr) Variable Input +472(input.Color): 461(ptr) Variable Input +475(input.instancePos): 461(ptr) Variable Input +478(input.instanceRot): 461(ptr) Variable Input + 481: TypePointer Input 8(float) +482(input.instanceScale): 481(ptr) Variable Input + 485: TypePointer Input 23(int) +486(input.instanceTexIndex): 485(ptr) Variable Input + 493: TypePointer Output 59(fvec4) +494(@entryPointOutput.Pos): 493(ptr) Variable Output + 497: TypePointer Output 18(fvec3) +498(@entryPointOutput.Normal): 497(ptr) Variable Output +501(@entryPointOutput.Color): 497(ptr) Variable Output +504(@entryPointOutput.UV): 497(ptr) Variable Output +507(@entryPointOutput.ViewVec): 497(ptr) Variable Output +510(@entryPointOutput.LightVec): 497(ptr) Variable Output 6(main): 4 Function None 5 7: Label - 459(input): 56(ptr) Variable Function -488(flattenTemp): 89(ptr) Variable Function - 489(param): 56(ptr) Variable Function - 462: 18(fvec3) Load 461(input.Pos) - 463: 103(ptr) AccessChain 459(input) 169 - Store 463 462 - 465: 18(fvec3) Load 464(input.Normal) - 466: 103(ptr) AccessChain 459(input) 324 - Store 466 465 - 469: 20(fvec2) Load 468(input.UV) - 470: 110(ptr) AccessChain 459(input) 101 - Store 470 469 - 472: 18(fvec3) Load 471(input.Color) - 473: 103(ptr) AccessChain 459(input) 102 - Store 473 472 - 475: 18(fvec3) Load 474(input.instancePos) - 476: 103(ptr) AccessChain 459(input) 296 - Store 476 475 - 478: 18(fvec3) Load 477(input.instanceRot) - 479: 103(ptr) AccessChain 459(input) 134 - Store 479 478 - 482: 8(float) Load 481(input.instanceScale) - 483: 126(ptr) AccessChain 459(input) 361 - Store 483 482 - 486: 23(int) Load 485(input.instanceTexIndex) - 487: 117(ptr) AccessChain 459(input) 116 - Store 487 486 - 490: 27(VSInput) Load 459(input) - Store 489(param) 490 - 491:61(VSOutput) FunctionCall 78(@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;) 489(param) - Store 488(flattenTemp) 491 - 494: 321(ptr) AccessChain 488(flattenTemp) 169 - 495: 59(fvec4) Load 494 - Store 493(@entryPointOutput.Pos) 495 - 498: 103(ptr) AccessChain 488(flattenTemp) 324 - 499: 18(fvec3) Load 498 - Store 497(@entryPointOutput.Normal) 499 - 501: 103(ptr) AccessChain 488(flattenTemp) 101 - 502: 18(fvec3) Load 501 - Store 500(@entryPointOutput.Color) 502 - 504: 103(ptr) AccessChain 488(flattenTemp) 102 - 505: 18(fvec3) Load 504 - Store 503(@entryPointOutput.UV) 505 - 507: 103(ptr) AccessChain 488(flattenTemp) 296 - 508: 18(fvec3) Load 507 - Store 506(@entryPointOutput.ViewVec) 508 - 510: 103(ptr) AccessChain 488(flattenTemp) 134 - 511: 18(fvec3) Load 510 - Store 509(@entryPointOutput.LightVec) 511 + 460(input): 56(ptr) Variable Function +489(flattenTemp): 89(ptr) Variable Function + 490(param): 56(ptr) Variable Function + 463: 18(fvec3) Load 462(input.Pos) + 464: 103(ptr) AccessChain 460(input) 169 + Store 464 463 + 466: 18(fvec3) Load 465(input.Normal) + 467: 103(ptr) AccessChain 460(input) 324 + Store 467 466 + 470: 20(fvec2) Load 469(input.UV) + 471: 110(ptr) AccessChain 460(input) 101 + Store 471 470 + 473: 18(fvec3) Load 472(input.Color) + 474: 103(ptr) AccessChain 460(input) 102 + Store 474 473 + 476: 18(fvec3) Load 475(input.instancePos) + 477: 103(ptr) AccessChain 460(input) 296 + Store 477 476 + 479: 18(fvec3) Load 478(input.instanceRot) + 480: 103(ptr) AccessChain 460(input) 134 + Store 480 479 + 483: 8(float) Load 482(input.instanceScale) + 484: 126(ptr) AccessChain 460(input) 361 + Store 484 483 + 487: 23(int) Load 486(input.instanceTexIndex) + 488: 117(ptr) AccessChain 460(input) 116 + Store 488 487 + 491: 27(VSInput) Load 460(input) + Store 490(param) 491 + 492:61(VSOutput) FunctionCall 78(@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;) 490(param) + Store 489(flattenTemp) 492 + 495: 321(ptr) AccessChain 489(flattenTemp) 169 + 496: 59(fvec4) Load 495 + Store 494(@entryPointOutput.Pos) 496 + 499: 103(ptr) AccessChain 489(flattenTemp) 324 + 500: 18(fvec3) Load 499 + Store 498(@entryPointOutput.Normal) 500 + 502: 103(ptr) AccessChain 489(flattenTemp) 101 + 503: 18(fvec3) Load 502 + Store 501(@entryPointOutput.Color) 503 + 505: 103(ptr) AccessChain 489(flattenTemp) 102 + 506: 18(fvec3) Load 505 + Store 504(@entryPointOutput.UV) 506 + 508: 103(ptr) AccessChain 489(flattenTemp) 296 + 509: 18(fvec3) Load 508 + Store 507(@entryPointOutput.ViewVec) 509 + 511: 103(ptr) AccessChain 489(flattenTemp) 134 + 512: 18(fvec3) Load 511 + Store 510(@entryPointOutput.LightVec) 512 Return FunctionEnd 78(@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;):61(VSOutput) Function None 75 diff --git a/Test/baseResults/spv.debuginfo.implicit_br.glsl.frag.out b/Test/baseResults/spv.debuginfo.implicit_br.glsl.frag.out new file mode 100644 index 000000000..8b2af8e8e --- /dev/null +++ b/Test/baseResults/spv.debuginfo.implicit_br.glsl.frag.out @@ -0,0 +1,325 @@ +spv.debuginfo.implicit_br.glsl.frag +// Module Version 10000 +// Generated by (magic number): 8000b +// Id's are bound by 194 + + Capability Shader + Extension "SPV_KHR_non_semantic_info" + 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" + 3: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 14 "main" 186 + ExecutionMode 14 OriginUpperLeft + 2: String "spv.debuginfo.implicit_br.glsl.frag" + 8: String "uint" + 18: String "test_if" + 21: String "// OpModuleProcessed auto-map-locations +// OpModuleProcessed auto-map-bindings +// OpModuleProcessed client vulkan100 +// OpModuleProcessed target-env vulkan1.0 +// OpModuleProcessed keep-uncalled +// OpModuleProcessed entry-point main +#line 1 +#version 460 + +out int outx; +int counter = 0; + +void test_if() { + if (false) { + counter += 1; + } +} + +void test_ifelse() { + if (false) { + counter += 1; + } + else { + counter += 2; + } +} + +void test_if_compound() { + if (false) { + if (false) { + counter += 1; + } + } +} + +void test_if_compound2() { + if (false) { + if (false) { + counter += 1; + } + + counter += 2; + } +} + +void test_switch() { + switch (0) { + case 0: + counter += 1; + // implict fallthrough + case 1: + counter += 2; + break; + default: + counter += 3; + // implicit break + } +} + +void main() { + test_if(); + test_ifelse(); + test_if_compound(); + test_if_compound2(); + test_switch(); + outx = counter; +}" + 28: String "test_ifelse" + 33: String "test_if_compound" + 38: String "test_if_compound2" + 43: String "test_switch" + 46: String "main" + 50: String "int" + 56: String "counter" + 65: String "bool" + 188: String "outx" + Name 14 "main" + Name 16 "test_if(" + Name 26 "test_ifelse(" + Name 31 "test_if_compound(" + Name 36 "test_if_compound2(" + Name 41 "test_switch(" + Name 54 "counter" + Name 186 "outx" + Decorate 186(outx) Location 0 + 4: TypeVoid + 5: TypeFunction 4 + 7: TypeInt 32 0 + 10: 7(int) Constant 32 + 11: 7(int) Constant 6 + 12: 7(int) Constant 0 + 9: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 10 11 12 + 13: 7(int) Constant 3 + 6: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 4 + 20: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 21 + 23: 7(int) Constant 1 + 24: 7(int) Constant 4 + 25: 7(int) Constant 2 + 22: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 23 24 20 25 + 19: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 18 6 20 11 12 22 18 13 11 + 30: 7(int) Constant 12 + 29: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 28 6 20 30 12 22 28 13 30 + 35: 7(int) Constant 21 + 34: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 33 6 20 35 12 22 33 13 35 + 40: 7(int) Constant 29 + 39: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 38 6 20 40 12 22 38 13 40 + 45: 7(int) Constant 39 + 44: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 43 6 20 45 12 22 43 13 45 + 48: 7(int) Constant 53 + 47: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 46 6 20 48 12 22 46 13 48 + 49: TypeInt 32 1 + 51: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 50 10 24 12 + 52: TypePointer Private 49(int) + 53: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 51 11 12 + 54(counter): 52(ptr) Variable Private + 57: 7(int) Constant 8 + 55: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 56 51 20 24 12 22 56 54(counter) 57 + 58: 49(int) Constant 0 + 64: TypeBool + 66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 65 10 25 12 + 67: 64(bool) ConstantFalse + 70: 49(int) Constant 1 + 77: 7(int) Constant 10 + 86: 7(int) Constant 14 + 89: 49(int) Constant 2 + 93: 7(int) Constant 17 + 97: 7(int) Constant 19 + 110: 7(int) Constant 24 + 114: 7(int) Constant 27 + 131: 7(int) Constant 35 + 135: 7(int) Constant 37 + 146: 7(int) Constant 42 + 151: 7(int) Constant 45 + 154: 7(int) Constant 46 + 156: 49(int) Constant 3 + 160: 7(int) Constant 48 + 165: 7(int) Constant 51 + 171: 7(int) Constant 54 + 174: 7(int) Constant 55 + 177: 7(int) Constant 56 + 180: 7(int) Constant 57 + 183: 7(int) Constant 58 + 184: TypePointer Output 49(int) + 185: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 51 13 12 + 186(outx): 184(ptr) Variable Output + 189: 7(int) Constant 59 + 187: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 188 51 20 189 12 22 188 186(outx) 57 + 193: 7(int) Constant 60 + 14(main): 4 Function None 5 + 15: Label + 59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 22 + 60: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 24 24 12 12 + Store 54(counter) 58 + 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 47 + 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 48 48 12 12 + 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 47 14(main) + 170: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 171 171 12 12 + 169: 4 FunctionCall 16(test_if() + 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 174 174 12 12 + 172: 4 FunctionCall 26(test_ifelse() + 176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 177 177 12 12 + 175: 4 FunctionCall 31(test_if_compound() + 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 180 180 12 12 + 178: 4 FunctionCall 36(test_if_compound2() + 182: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 183 183 12 12 + 181: 4 FunctionCall 41(test_switch() + 191: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 189 189 12 12 + 190: 49(int) Load 54(counter) + Store 186(outx) 190 + 192: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 193 193 12 12 + Return + FunctionEnd + 16(test_if(): 4 Function None 5 + 17: Label + 62: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 19 + 63: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 11 11 12 12 + 61: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 19 16(test_if() + SelectionMerge 69 None + BranchConditional 67 68 69 + 68: Label + 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 19 + 73: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 57 57 12 12 + 71: 49(int) Load 54(counter) + 74: 49(int) IAdd 71 70 + Store 54(counter) 74 + Branch 69 + 69: Label + 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 19 + 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 77 77 12 12 + Return + FunctionEnd +26(test_ifelse(): 4 Function None 5 + 27: Label + 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 29 + 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 30 30 12 12 + 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 29 26(test_ifelse() + SelectionMerge 82 None + BranchConditional 67 81 88 + 81: Label + 84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 29 + 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 86 86 12 12 + 83: 49(int) Load 54(counter) + 87: 49(int) IAdd 83 70 + Store 54(counter) 87 + Branch 82 + 88: Label + 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 29 + 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 93 93 12 12 + 90: 49(int) Load 54(counter) + 94: 49(int) IAdd 90 89 + Store 54(counter) 94 + Branch 82 + 82: Label + 95: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 29 + 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 97 97 12 12 + Return + FunctionEnd +31(test_if_compound(): 4 Function None 5 + 32: Label + 99: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34 + 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 35 35 12 12 + 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 34 31(test_if_compound() + SelectionMerge 102 None + BranchConditional 67 101 102 + 101: Label + 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34 + 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 35 35 12 12 + SelectionMerge 104 None + BranchConditional 67 103 104 + 103: Label + 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34 + 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 110 110 12 12 + 107: 49(int) Load 54(counter) + 111: 49(int) IAdd 107 70 + Store 54(counter) 111 + Branch 104 + 104: Label + Branch 102 + 102: Label + 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34 + 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 114 114 12 12 + Return + FunctionEnd +36(test_if_compound2(): 4 Function None 5 + 37: Label + 116: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 + 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 40 40 12 12 + 115: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 39 36(test_if_compound2() + SelectionMerge 119 None + BranchConditional 67 118 119 + 118: Label + 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 + 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 40 40 12 12 + SelectionMerge 121 None + BranchConditional 67 120 121 + 120: Label + 125: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 + 126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 10 10 12 12 + 124: 49(int) Load 54(counter) + 127: 49(int) IAdd 124 70 + Store 54(counter) 127 + Branch 121 + 121: Label + 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 + 130: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 131 131 12 12 + 128: 49(int) Load 54(counter) + 132: 49(int) IAdd 128 89 + Store 54(counter) 132 + Branch 119 + 119: Label + 133: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 + 134: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 135 135 12 12 + Return + FunctionEnd +41(test_switch(): 4 Function None 5 + 42: Label + 137: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 + 138: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 45 45 12 12 + 136: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 44 41(test_switch() + SelectionMerge 142 None + Switch 58 141 + case 0: 139 + case 1: 140 + 141: Label + 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 + 159: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 160 160 12 12 + 157: 49(int) Load 54(counter) + 161: 49(int) IAdd 157 156 + Store 54(counter) 161 + Branch 142 + 139: Label + 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 + 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 146 146 12 12 + 143: 49(int) Load 54(counter) + 147: 49(int) IAdd 143 70 + Store 54(counter) 147 + Branch 140 + 140: Label + 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 + 150: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 151 151 12 12 + 148: 49(int) Load 54(counter) + 152: 49(int) IAdd 148 89 + Store 54(counter) 152 + 153: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 154 154 12 12 + Branch 142 + 142: Label + 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 + 164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 165 165 12 12 + Return + FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.include.glsl.frag.out b/Test/baseResults/spv.debuginfo.include.glsl.frag.out index a6ca6e153..1d8348ae7 100644 --- a/Test/baseResults/spv.debuginfo.include.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.include.glsl.frag.out @@ -1,14 +1,14 @@ spv.debuginfo.include.glsl.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 108 +// Id's are bound by 112 Capability Shader Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 4: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 15 "main" 80 + EntryPoint Fragment 15 "main" 82 ExecutionMode 15 OriginUpperLeft 2: String "spv.debuginfo.include.glsl.frag" 3: String "spv.debuginfo.include.glsl.h" @@ -48,11 +48,11 @@ void main() { 50: String "mainFileFunction" 53: String "v" 57: String "main" - 82: String "headerOut" - 86: String "headerUboItem" - 89: String "UBO" - 94: String "" - 96: String "int" + 84: String "headerOut" + 88: String "headerUboItem" + 91: String "UBO" + 96: String "" + 98: String "int" SourceExtension "GL_GOOGLE_cpp_style_line_directive" SourceExtension "GL_GOOGLE_include_directive" Name 15 "main" @@ -60,17 +60,17 @@ void main() { Name 28 "a" Name 48 "mainFileFunction(vf4;" Name 47 "v" - Name 80 "headerOut" - Name 84 "UBO" - MemberName 84(UBO) 0 "headerUboItem" - Name 92 "" - Name 99 "param" - Name 106 "param" - Decorate 80(headerOut) Location 0 - Decorate 84(UBO) Block - MemberDecorate 84(UBO) 0 Offset 0 - Decorate 92 Binding 0 - Decorate 92 DescriptorSet 0 + Name 82 "headerOut" + Name 86 "UBO" + MemberName 86(UBO) 0 "headerUboItem" + Name 94 "" + Name 101 "param" + Name 108 "param" + Decorate 82(headerOut) Location 0 + Decorate 86(UBO) Block + MemberDecorate 86(UBO) 0 Offset 0 + Decorate 94 Binding 0 + Decorate 94 DescriptorSet 0 5: TypeVoid 6: TypeFunction 5 8: TypeInt 32 0 @@ -104,39 +104,41 @@ void main() { 59: 8(int) Constant 10 58: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 57 7 38 59 13 36 57 14 59 63: 8(int) Constant 9 - 78: TypePointer Output 20(fvec4) - 79: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 14 13 - 80(headerOut): 78(ptr) Variable Output - 83: 8(int) Constant 11 - 81: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 82 22 38 83 13 36 82 80(headerOut) 35 - 84(UBO): TypeStruct 20(fvec4) - 87: 8(int) Constant 5 - 85: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 86 22 38 87 24 13 13 14 - 88: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 89 37 38 83 13 36 89 13 14 85 - 90: TypePointer Uniform 84(UBO) - 91: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 88 40 13 - 92: 90(ptr) Variable Uniform - 93: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 94 88 38 83 13 36 94 92 35 - 95: TypeInt 32 1 - 97: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 96 11 21 13 - 98: 95(int) Constant 0 - 100: TypePointer Uniform 20(fvec4) - 101: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 40 13 + 80: TypePointer Output 20(fvec4) + 81: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 14 13 + 82(headerOut): 80(ptr) Variable Output + 85: 8(int) Constant 11 + 83: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 84 22 38 85 13 36 84 82(headerOut) 35 + 86(UBO): TypeStruct 20(fvec4) + 89: 8(int) Constant 5 + 87: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 88 22 38 89 24 13 13 14 + 90: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 91 37 38 85 13 36 91 13 14 87 + 92: TypePointer Uniform 86(UBO) + 93: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 90 40 13 + 94: 92(ptr) Variable Uniform + 95: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 96 90 38 85 13 36 96 94 35 + 97: TypeInt 32 1 + 99: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 98 11 21 13 + 100: 97(int) Constant 0 + 102: TypePointer Uniform 20(fvec4) + 103: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 40 13 + 111: 8(int) Constant 12 15(main): 5 Function None 6 16: Label - 99(param): 23(ptr) Variable Function - 106(param): 23(ptr) Variable Function - 76: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 58 - 77: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 59 59 13 13 - 75: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 58 15(main) - 103: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 83 83 13 13 - 102: 100(ptr) AccessChain 92 98 - 104: 20(fvec4) Load 102 - Store 99(param) 104 - 105: 20(fvec4) FunctionCall 48(mainFileFunction(vf4;) 99(param) - Store 106(param) 105 - 107: 20(fvec4) FunctionCall 29(headerFunction(vf4;) 106(param) - Store 80(headerOut) 107 + 101(param): 23(ptr) Variable Function + 108(param): 23(ptr) Variable Function + 78: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 58 + 79: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 59 59 13 13 + 77: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 58 15(main) + 105: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 85 85 13 13 + 104: 102(ptr) AccessChain 94 100 + 106: 20(fvec4) Load 104 + Store 101(param) 106 + 107: 20(fvec4) FunctionCall 48(mainFileFunction(vf4;) 101(param) + Store 108(param) 107 + 109: 20(fvec4) FunctionCall 29(headerFunction(vf4;) 108(param) + Store 82(headerOut) 109 + 110: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 111 111 13 13 Return FunctionEnd 29(headerFunction(vf4;): 20(fvec4) Function None 26 @@ -157,9 +159,9 @@ void main() { 55: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 51 56: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 12 12 13 13 54: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 52 47(v) 44 - 68: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 51 48(mainFileFunction(vf4;) - 70: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 24 24 13 13 - 69: 20(fvec4) Load 47(v) - 71: 20(fvec4) FNegate 69 - ReturnValue 71 + 69: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 51 48(mainFileFunction(vf4;) + 71: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 24 24 13 13 + 70: 20(fvec4) Load 47(v) + 72: 20(fvec4) FNegate 70 + ReturnValue 72 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.multiline.glsl.frag.out b/Test/baseResults/spv.debuginfo.multiline.glsl.frag.out index 00dda0b4d..b16727df3 100644 --- a/Test/baseResults/spv.debuginfo.multiline.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.multiline.glsl.frag.out @@ -1,14 +1,14 @@ spv.debuginfo.multiline.glsl.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 105 +// Id's are bound by 109 Capability Shader Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 14 "main" 73 79 + EntryPoint Fragment 14 "main" 75 81 ExecutionMode 14 OriginUpperLeft 2: String "spv.debuginfo.multiline.glsl.frag" 8: String "uint" @@ -50,20 +50,20 @@ void main() { 44: String "y" 47: String "z" 49: String "main" - 75: String "outx" - 81: String "inx" + 77: String "outx" + 83: String "inx" Name 14 "main" Name 27 "add(f1;f1;f1;" Name 24 "x" Name 25 "y" Name 26 "z" - Name 73 "outx" - Name 79 "inx" - Name 97 "param" - Name 100 "param" - Name 101 "param" - Decorate 73(outx) Location 0 - Decorate 79(inx) Location 0 + Name 75 "outx" + Name 81 "inx" + Name 99 "param" + Name 102 "param" + Name 103 "param" + Decorate 75(outx) Location 0 + Decorate 81(inx) Location 0 4: TypeVoid 5: TypeFunction 4 7: TypeInt 32 0 @@ -95,47 +95,50 @@ void main() { 55: 7(int) Constant 8 58: 7(int) Constant 10 62: 7(int) Constant 12 - 71: TypePointer Output 16(float) - 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 - 73(outx): 71(ptr) Variable Output - 76: 7(int) Constant 17 - 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 75 18 31 76 12 33 75 73(outx) 55 - 77: TypePointer Input 16(float) - 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 34 12 - 79(inx): 77(ptr) Variable Input - 82: 7(int) Constant 20 - 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 81 18 31 82 12 33 81 79(inx) 55 - 85: 16(float) Constant 1065353216 - 89: 7(int) Constant 21 - 90: 16(float) Constant 1073741824 - 94: 7(int) Constant 22 - 95: 16(float) Constant 1077936128 - 99: 7(int) Constant 23 - 104: 7(int) Constant 18 + 69: 7(int) Constant 14 + 73: TypePointer Output 16(float) + 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 + 75(outx): 73(ptr) Variable Output + 78: 7(int) Constant 17 + 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 77 18 31 78 12 33 77 75(outx) 55 + 79: TypePointer Input 16(float) + 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 34 12 + 81(inx): 79(ptr) Variable Input + 84: 7(int) Constant 20 + 82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 83 18 31 84 12 33 83 81(inx) 55 + 87: 16(float) Constant 1065353216 + 91: 7(int) Constant 21 + 92: 16(float) Constant 1073741824 + 96: 7(int) Constant 22 + 97: 16(float) Constant 1077936128 + 101: 7(int) Constant 23 + 106: 7(int) Constant 18 + 108: 7(int) Constant 25 14(main): 4 Function None 5 15: Label - 97(param): 19(ptr) Variable Function - 100(param): 19(ptr) Variable Function - 101(param): 19(ptr) Variable Function - 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 50 - 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 51 51 12 12 - 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 50 14(main) - 84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 82 82 12 12 - 83: 16(float) Load 79(inx) - 86: 16(float) FAdd 83 85 - 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 89 89 12 12 - 87: 16(float) Load 79(inx) - 91: 16(float) FAdd 87 90 - 93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 94 94 12 12 - 92: 16(float) Load 79(inx) - 96: 16(float) FAdd 92 95 - 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 99 99 12 12 - Store 97(param) 86 - Store 100(param) 91 - Store 101(param) 96 - 102: 16(float) FunctionCall 27(add(f1;f1;f1;) 97(param) 100(param) 101(param) - 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 104 104 12 12 - Store 73(outx) 102 + 99(param): 19(ptr) Variable Function + 102(param): 19(ptr) Variable Function + 103(param): 19(ptr) Variable Function + 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 50 + 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 51 51 12 12 + 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 50 14(main) + 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 84 84 12 12 + 85: 16(float) Load 81(inx) + 88: 16(float) FAdd 85 87 + 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 91 91 12 12 + 89: 16(float) Load 81(inx) + 93: 16(float) FAdd 89 92 + 95: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 96 96 12 12 + 94: 16(float) Load 81(inx) + 98: 16(float) FAdd 94 97 + 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 101 101 12 12 + Store 99(param) 88 + Store 102(param) 93 + Store 103(param) 98 + 104: 16(float) FunctionCall 27(add(f1;f1;f1;) 99(param) 102(param) 103(param) + 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 106 106 12 12 + Store 75(outx) 104 + 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 108 108 12 12 Return FunctionEnd 27(add(f1;f1;f1;): 16(float) Function None 22 diff --git a/Test/baseResults/spv.debuginfo.rt_types.glsl.rgen.out b/Test/baseResults/spv.debuginfo.rt_types.glsl.rgen.out index 39814e859..02e5280be 100644 --- a/Test/baseResults/spv.debuginfo.rt_types.glsl.rgen.out +++ b/Test/baseResults/spv.debuginfo.rt_types.glsl.rgen.out @@ -1,7 +1,7 @@ spv.debuginfo.rt_types.glsl.rgen // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 123 +// Id's are bound by 125 Capability RayQueryKHR Capability RayTracingNV @@ -148,6 +148,7 @@ void main() 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 111 10 24 12 115: 7(int) Constant 19 121: 7(int) Constant 21 + 124: 7(int) Constant 23 14(main): 4 Function None 5 15: Label 31(rayFlags): 28(ptr) Variable Function @@ -187,5 +188,6 @@ void main() Branch 118 118: Label 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 124 124 12 12 Return FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.scalar_types.glsl.frag.out b/Test/baseResults/spv.debuginfo.scalar_types.glsl.frag.out index e914cb661..019c0a036 100644 --- a/Test/baseResults/spv.debuginfo.scalar_types.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.scalar_types.glsl.frag.out @@ -1,7 +1,7 @@ spv.debuginfo.scalar_types.glsl.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 159 +// Id's are bound by 161 Capability Shader Capability Float16 @@ -229,6 +229,7 @@ void main() { 156: 7(int) Constant 54 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 155 150 18 156 12 21 155 153(VAR_float16_t) 37 157:148(float16_t) Constant 0 + 160: 7(int) Constant 55 14(main): 4 Function None 5 15: Label 26: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 @@ -258,5 +259,6 @@ void main() { Store 142(VAR_uint64_t) 146 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 156 156 12 12 Store 153(VAR_float16_t) 157 + 159: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 160 160 12 12 Return FunctionEnd diff --git a/Test/baseResults/spv.pp.line.frag.out b/Test/baseResults/spv.pp.line.frag.out index a5fbf16c8..807ecaef0 100644 --- a/Test/baseResults/spv.pp.line.frag.out +++ b/Test/baseResults/spv.pp.line.frag.out @@ -168,6 +168,7 @@ void main() 82: 34(fvec4) CompositeConstruct 81 81 81 81 83: 34(fvec4) ExtInst 2(GLSL.std.450) 46(FMix) 73 76 82 Store 72(gl_FragColor) 83 + Line 1 107 0 Return FunctionEnd Line 7 1 20 diff --git a/Test/spv.debuginfo.implicit_br.glsl.frag b/Test/spv.debuginfo.implicit_br.glsl.frag new file mode 100644 index 000000000..2451b7715 --- /dev/null +++ b/Test/spv.debuginfo.implicit_br.glsl.frag @@ -0,0 +1,60 @@ +#version 460 + +out int outx; +int counter = 0; + +void test_if() { + if (false) { + counter += 1; + } +} + +void test_ifelse() { + if (false) { + counter += 1; + } + else { + counter += 2; + } +} + +void test_if_compound() { + if (false) { + if (false) { + counter += 1; + } + } +} + +void test_if_compound2() { + if (false) { + if (false) { + counter += 1; + } + + counter += 2; + } +} + +void test_switch() { + switch (0) { + case 0: + counter += 1; + // implict fallthrough + case 1: + counter += 2; + break; + default: + counter += 3; + // implicit break + } +} + +void main() { + test_if(); + test_ifelse(); + test_if_compound(); + test_if_compound2(); + test_switch(); + outx = counter; +} \ No newline at end of file diff --git a/glslang/Include/intermediate.h b/glslang/Include/intermediate.h index bcce91d3a..82de2b4de 100644 --- a/glslang/Include/intermediate.h +++ b/glslang/Include/intermediate.h @@ -1694,8 +1694,12 @@ typedef TVector TQualifierList; // class TIntermAggregate : public TIntermOperator { public: - TIntermAggregate() : TIntermOperator(EOpNull), userDefined(false), pragmaTable(nullptr) { } - TIntermAggregate(TOperator o) : TIntermOperator(o), pragmaTable(nullptr) { } + TIntermAggregate() : TIntermOperator(EOpNull), userDefined(false), pragmaTable(nullptr) { + endLoc.init(); + } + TIntermAggregate(TOperator o) : TIntermOperator(o), pragmaTable(nullptr) { + endLoc.init(); + } ~TIntermAggregate() { delete pragmaTable; } virtual TIntermAggregate* getAsAggregate() { return this; } virtual const TIntermAggregate* getAsAggregate() const { return this; } @@ -1719,6 +1723,9 @@ public: void setSpirvInstruction(const TSpirvInstruction& inst) { spirvInst = inst; } const TSpirvInstruction& getSpirvInstruction() const { return spirvInst; } + void setEndLoc(TSourceLoc loc) { endLoc = loc; } + TSourceLoc getEndLoc() const { return endLoc; } + void setLinkType(TLinkType l) { linkType = l; } TLinkType getLinkType() const { return linkType; } protected: @@ -1733,6 +1740,10 @@ protected: TPragmaTable* pragmaTable; TSpirvInstruction spirvInst; TLinkType linkType = ELinkNone; + + // Marking the end source location of the aggregate. + // This is currently only set for a compound statement or a function body, pointing to '}'. + TSourceLoc endLoc; }; // diff --git a/glslang/MachineIndependent/glslang.y b/glslang/MachineIndependent/glslang.y index 53c576778..35686fbc7 100644 --- a/glslang/MachineIndependent/glslang.y +++ b/glslang/MachineIndependent/glslang.y @@ -3773,8 +3773,10 @@ compound_statement --parseContext.statementNestingLevel; } RIGHT_BRACE { - if ($3 && $3->getAsAggregate()) + if ($3 && $3->getAsAggregate()) { $3->getAsAggregate()->setOperator(parseContext.intermediate.getDebugInfo() ? EOpScope : EOpSequence); + $3->getAsAggregate()->setEndLoc($5.loc); + } $$ = $3; } ; @@ -3810,8 +3812,10 @@ compound_statement_no_new_scope $$ = 0; } | LEFT_BRACE statement_list RIGHT_BRACE { - if ($2 && $2->getAsAggregate()) + if ($2 && $2->getAsAggregate()) { $2->getAsAggregate()->setOperator(EOpSequence); + $2->getAsAggregate()->setEndLoc($3.loc); + } $$ = $2; } ; diff --git a/glslang/MachineIndependent/glslang_tab.cpp b/glslang/MachineIndependent/glslang_tab.cpp index 5764d3929..77571b947 100644 --- a/glslang/MachineIndependent/glslang_tab.cpp +++ b/glslang/MachineIndependent/glslang_tab.cpp @@ -1217,20 +1217,20 @@ static const yytype_int16 yyrline[] = 3551, 3567, 3572, 3577, 3585, 3585, 3602, 3602, 3612, 3615, 3628, 3650, 3677, 3681, 3687, 3692, 3703, 3706, 3712, 3718, 3727, 3730, 3736, 3740, 3741, 3747, 3748, 3749, 3750, 3751, - 3752, 3753, 3754, 3758, 3766, 3767, 3771, 3767, 3783, 3784, - 3788, 3788, 3795, 3795, 3809, 3812, 3820, 3828, 3839, 3840, - 3844, 3847, 3854, 3861, 3865, 3873, 3877, 3890, 3893, 3900, - 3900, 3920, 3923, 3929, 3941, 3953, 3956, 3964, 3964, 3979, - 3979, 3997, 3997, 4018, 4021, 4027, 4030, 4036, 4040, 4047, - 4052, 4057, 4064, 4067, 4071, 4075, 4079, 4088, 4092, 4101, - 4104, 4107, 4115, 4115, 4157, 4162, 4165, 4170, 4173, 4178, - 4181, 4186, 4189, 4194, 4197, 4202, 4205, 4210, 4214, 4219, - 4223, 4228, 4232, 4239, 4242, 4247, 4250, 4253, 4256, 4259, - 4264, 4273, 4284, 4289, 4297, 4301, 4306, 4310, 4315, 4319, - 4324, 4328, 4335, 4338, 4343, 4346, 4349, 4352, 4357, 4360, - 4365, 4371, 4374, 4377, 4380, 4385, 4389, 4394, 4398, 4403, - 4407, 4414, 4417, 4422, 4425, 4430, 4433, 4439, 4442, 4447, - 4450 + 3752, 3753, 3754, 3758, 3766, 3767, 3771, 3767, 3785, 3786, + 3790, 3790, 3797, 3797, 3811, 3814, 3824, 3832, 3843, 3844, + 3848, 3851, 3858, 3865, 3869, 3877, 3881, 3894, 3897, 3904, + 3904, 3924, 3927, 3933, 3945, 3957, 3960, 3968, 3968, 3983, + 3983, 4001, 4001, 4022, 4025, 4031, 4034, 4040, 4044, 4051, + 4056, 4061, 4068, 4071, 4075, 4079, 4083, 4092, 4096, 4105, + 4108, 4111, 4119, 4119, 4161, 4166, 4169, 4174, 4177, 4182, + 4185, 4190, 4193, 4198, 4201, 4206, 4209, 4214, 4218, 4223, + 4227, 4232, 4236, 4243, 4246, 4251, 4254, 4257, 4260, 4263, + 4268, 4277, 4288, 4293, 4301, 4305, 4310, 4314, 4319, 4323, + 4328, 4332, 4339, 4342, 4347, 4350, 4353, 4356, 4361, 4364, + 4369, 4375, 4378, 4381, 4384, 4389, 4393, 4398, 4402, 4407, + 4411, 4418, 4421, 4426, 4429, 4434, 4437, 4443, 4446, 4451, + 4454 }; #endif @@ -11277,83 +11277,87 @@ yyreduce: case 577: /* compound_statement: LEFT_BRACE $@5 statement_list $@6 RIGHT_BRACE */ #line 3775 "MachineIndependent/glslang.y" { - if ((yyvsp[-2].interm.intermNode) && (yyvsp[-2].interm.intermNode)->getAsAggregate()) + if ((yyvsp[-2].interm.intermNode) && (yyvsp[-2].interm.intermNode)->getAsAggregate()) { (yyvsp[-2].interm.intermNode)->getAsAggregate()->setOperator(parseContext.intermediate.getDebugInfo() ? EOpScope : EOpSequence); + (yyvsp[-2].interm.intermNode)->getAsAggregate()->setEndLoc((yyvsp[0].lex).loc); + } (yyval.interm.intermNode) = (yyvsp[-2].interm.intermNode); } -#line 11285 "MachineIndependent/glslang_tab.cpp" +#line 11287 "MachineIndependent/glslang_tab.cpp" break; case 578: /* statement_no_new_scope: compound_statement_no_new_scope */ -#line 3783 "MachineIndependent/glslang.y" +#line 3785 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11291 "MachineIndependent/glslang_tab.cpp" +#line 11293 "MachineIndependent/glslang_tab.cpp" break; case 579: /* statement_no_new_scope: simple_statement */ -#line 3784 "MachineIndependent/glslang.y" +#line 3786 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11297 "MachineIndependent/glslang_tab.cpp" +#line 11299 "MachineIndependent/glslang_tab.cpp" break; case 580: /* $@7: %empty */ -#line 3788 "MachineIndependent/glslang.y" +#line 3790 "MachineIndependent/glslang.y" { ++parseContext.controlFlowNestingLevel; } -#line 11305 "MachineIndependent/glslang_tab.cpp" +#line 11307 "MachineIndependent/glslang_tab.cpp" break; case 581: /* statement_scoped: $@7 compound_statement */ -#line 3791 "MachineIndependent/glslang.y" +#line 3793 "MachineIndependent/glslang.y" { --parseContext.controlFlowNestingLevel; (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11314 "MachineIndependent/glslang_tab.cpp" +#line 11316 "MachineIndependent/glslang_tab.cpp" break; case 582: /* $@8: %empty */ -#line 3795 "MachineIndependent/glslang.y" +#line 3797 "MachineIndependent/glslang.y" { parseContext.symbolTable.push(); ++parseContext.statementNestingLevel; ++parseContext.controlFlowNestingLevel; } -#line 11324 "MachineIndependent/glslang_tab.cpp" +#line 11326 "MachineIndependent/glslang_tab.cpp" break; case 583: /* statement_scoped: $@8 simple_statement */ -#line 3800 "MachineIndependent/glslang.y" +#line 3802 "MachineIndependent/glslang.y" { parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11335 "MachineIndependent/glslang_tab.cpp" +#line 11337 "MachineIndependent/glslang_tab.cpp" break; case 584: /* compound_statement_no_new_scope: LEFT_BRACE RIGHT_BRACE */ -#line 3809 "MachineIndependent/glslang.y" +#line 3811 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = 0; } -#line 11343 "MachineIndependent/glslang_tab.cpp" +#line 11345 "MachineIndependent/glslang_tab.cpp" break; case 585: /* compound_statement_no_new_scope: LEFT_BRACE statement_list RIGHT_BRACE */ -#line 3812 "MachineIndependent/glslang.y" +#line 3814 "MachineIndependent/glslang.y" { - if ((yyvsp[-1].interm.intermNode) && (yyvsp[-1].interm.intermNode)->getAsAggregate()) + if ((yyvsp[-1].interm.intermNode) && (yyvsp[-1].interm.intermNode)->getAsAggregate()) { (yyvsp[-1].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence); + (yyvsp[-1].interm.intermNode)->getAsAggregate()->setEndLoc((yyvsp[0].lex).loc); + } (yyval.interm.intermNode) = (yyvsp[-1].interm.intermNode); } -#line 11353 "MachineIndependent/glslang_tab.cpp" +#line 11357 "MachineIndependent/glslang_tab.cpp" break; case 586: /* statement_list: statement */ -#line 3820 "MachineIndependent/glslang.y" +#line 3824 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode)); if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase || @@ -11362,11 +11366,11 @@ yyreduce: (yyval.interm.intermNode) = 0; // start a fresh subsequence for what's after this case } } -#line 11366 "MachineIndependent/glslang_tab.cpp" +#line 11370 "MachineIndependent/glslang_tab.cpp" break; case 587: /* statement_list: statement_list statement */ -#line 3828 "MachineIndependent/glslang.y" +#line 3832 "MachineIndependent/glslang.y" { if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase || (yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpDefault)) { @@ -11375,77 +11379,77 @@ yyreduce: } else (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode)); } -#line 11379 "MachineIndependent/glslang_tab.cpp" +#line 11383 "MachineIndependent/glslang_tab.cpp" break; case 588: /* expression_statement: SEMICOLON */ -#line 3839 "MachineIndependent/glslang.y" +#line 3843 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = 0; } -#line 11385 "MachineIndependent/glslang_tab.cpp" +#line 11389 "MachineIndependent/glslang_tab.cpp" break; case 589: /* expression_statement: expression SEMICOLON */ -#line 3840 "MachineIndependent/glslang.y" +#line 3844 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = static_cast((yyvsp[-1].interm.intermTypedNode)); } -#line 11391 "MachineIndependent/glslang_tab.cpp" +#line 11395 "MachineIndependent/glslang_tab.cpp" break; case 590: /* selection_statement: selection_statement_nonattributed */ -#line 3844 "MachineIndependent/glslang.y" +#line 3848 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11399 "MachineIndependent/glslang_tab.cpp" +#line 11403 "MachineIndependent/glslang_tab.cpp" break; case 591: /* selection_statement: attribute selection_statement_nonattributed */ -#line 3847 "MachineIndependent/glslang.y" +#line 3851 "MachineIndependent/glslang.y" { parseContext.requireExtensions((yyvsp[0].interm.intermNode)->getLoc(), 1, &E_GL_EXT_control_flow_attributes, "attribute"); parseContext.handleSelectionAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode)); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11409 "MachineIndependent/glslang_tab.cpp" +#line 11413 "MachineIndependent/glslang_tab.cpp" break; case 592: /* selection_statement_nonattributed: IF LEFT_PAREN expression RIGHT_PAREN selection_rest_statement */ -#line 3854 "MachineIndependent/glslang.y" +#line 3858 "MachineIndependent/glslang.y" { parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-2].interm.intermTypedNode)); (yyval.interm.intermNode) = parseContext.intermediate.addSelection((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.nodePair), (yyvsp[-4].lex).loc); } -#line 11418 "MachineIndependent/glslang_tab.cpp" +#line 11422 "MachineIndependent/glslang_tab.cpp" break; case 593: /* selection_rest_statement: statement_scoped ELSE statement_scoped */ -#line 3861 "MachineIndependent/glslang.y" +#line 3865 "MachineIndependent/glslang.y" { (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode); (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermNode); } -#line 11427 "MachineIndependent/glslang_tab.cpp" +#line 11431 "MachineIndependent/glslang_tab.cpp" break; case 594: /* selection_rest_statement: statement_scoped */ -#line 3865 "MachineIndependent/glslang.y" +#line 3869 "MachineIndependent/glslang.y" { (yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode); (yyval.interm.nodePair).node2 = 0; } -#line 11436 "MachineIndependent/glslang_tab.cpp" +#line 11440 "MachineIndependent/glslang_tab.cpp" break; case 595: /* condition: expression */ -#line 3873 "MachineIndependent/glslang.y" +#line 3877 "MachineIndependent/glslang.y" { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); parseContext.boolCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode)); } -#line 11445 "MachineIndependent/glslang_tab.cpp" +#line 11449 "MachineIndependent/glslang_tab.cpp" break; case 596: /* condition: fully_specified_type IDENTIFIER EQUAL initializer */ -#line 3877 "MachineIndependent/glslang.y" +#line 3881 "MachineIndependent/glslang.y" { parseContext.boolCheck((yyvsp[-2].lex).loc, (yyvsp[-3].interm.type)); @@ -11456,29 +11460,29 @@ yyreduce: else (yyval.interm.intermTypedNode) = 0; } -#line 11460 "MachineIndependent/glslang_tab.cpp" +#line 11464 "MachineIndependent/glslang_tab.cpp" break; case 597: /* switch_statement: switch_statement_nonattributed */ -#line 3890 "MachineIndependent/glslang.y" +#line 3894 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11468 "MachineIndependent/glslang_tab.cpp" +#line 11472 "MachineIndependent/glslang_tab.cpp" break; case 598: /* switch_statement: attribute switch_statement_nonattributed */ -#line 3893 "MachineIndependent/glslang.y" +#line 3897 "MachineIndependent/glslang.y" { parseContext.requireExtensions((yyvsp[0].interm.intermNode)->getLoc(), 1, &E_GL_EXT_control_flow_attributes, "attribute"); parseContext.handleSwitchAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode)); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11478 "MachineIndependent/glslang_tab.cpp" +#line 11482 "MachineIndependent/glslang_tab.cpp" break; case 599: /* $@9: %empty */ -#line 3900 "MachineIndependent/glslang.y" +#line 3904 "MachineIndependent/glslang.y" { // start new switch sequence on the switch stack ++parseContext.controlFlowNestingLevel; @@ -11487,11 +11491,11 @@ yyreduce: parseContext.switchLevel.push_back(parseContext.statementNestingLevel); parseContext.symbolTable.push(); } -#line 11491 "MachineIndependent/glslang_tab.cpp" +#line 11495 "MachineIndependent/glslang_tab.cpp" break; case 600: /* switch_statement_nonattributed: SWITCH LEFT_PAREN expression RIGHT_PAREN $@9 LEFT_BRACE switch_statement_list RIGHT_BRACE */ -#line 3908 "MachineIndependent/glslang.y" +#line 3912 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.addSwitch((yyvsp[-7].lex).loc, (yyvsp[-5].interm.intermTypedNode), (yyvsp[-1].interm.intermNode) ? (yyvsp[-1].interm.intermNode)->getAsAggregate() : 0); delete parseContext.switchSequenceStack.back(); @@ -11501,27 +11505,27 @@ yyreduce: --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; } -#line 11505 "MachineIndependent/glslang_tab.cpp" +#line 11509 "MachineIndependent/glslang_tab.cpp" break; case 601: /* switch_statement_list: %empty */ -#line 3920 "MachineIndependent/glslang.y" +#line 3924 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = 0; } -#line 11513 "MachineIndependent/glslang_tab.cpp" +#line 11517 "MachineIndependent/glslang_tab.cpp" break; case 602: /* switch_statement_list: statement_list */ -#line 3923 "MachineIndependent/glslang.y" +#line 3927 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11521 "MachineIndependent/glslang_tab.cpp" +#line 11525 "MachineIndependent/glslang_tab.cpp" break; case 603: /* case_label: CASE expression COLON */ -#line 3929 "MachineIndependent/glslang.y" +#line 3933 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = 0; if (parseContext.switchLevel.size() == 0) @@ -11534,11 +11538,11 @@ yyreduce: (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpCase, (yyvsp[-1].interm.intermTypedNode), (yyvsp[-2].lex).loc); } } -#line 11538 "MachineIndependent/glslang_tab.cpp" +#line 11542 "MachineIndependent/glslang_tab.cpp" break; case 604: /* case_label: DEFAULT COLON */ -#line 3941 "MachineIndependent/glslang.y" +#line 3945 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = 0; if (parseContext.switchLevel.size() == 0) @@ -11548,30 +11552,30 @@ yyreduce: else (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDefault, (yyvsp[-1].lex).loc); } -#line 11552 "MachineIndependent/glslang_tab.cpp" +#line 11556 "MachineIndependent/glslang_tab.cpp" break; case 605: /* iteration_statement: iteration_statement_nonattributed */ -#line 3953 "MachineIndependent/glslang.y" +#line 3957 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11560 "MachineIndependent/glslang_tab.cpp" +#line 11564 "MachineIndependent/glslang_tab.cpp" break; case 606: /* iteration_statement: attribute iteration_statement_nonattributed */ -#line 3956 "MachineIndependent/glslang.y" +#line 3960 "MachineIndependent/glslang.y" { const char * extensions[2] = { E_GL_EXT_control_flow_attributes, E_GL_EXT_control_flow_attributes2 }; parseContext.requireExtensions((yyvsp[0].interm.intermNode)->getLoc(), 2, extensions, "attribute"); parseContext.handleLoopAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode)); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11571 "MachineIndependent/glslang_tab.cpp" +#line 11575 "MachineIndependent/glslang_tab.cpp" break; case 607: /* $@10: %empty */ -#line 3964 "MachineIndependent/glslang.y" +#line 3968 "MachineIndependent/glslang.y" { if (! parseContext.limits.whileLoops) parseContext.error((yyvsp[-1].lex).loc, "while loops not available", "limitation", ""); @@ -11580,11 +11584,11 @@ yyreduce: ++parseContext.statementNestingLevel; ++parseContext.controlFlowNestingLevel; } -#line 11584 "MachineIndependent/glslang_tab.cpp" +#line 11588 "MachineIndependent/glslang_tab.cpp" break; case 608: /* iteration_statement_nonattributed: WHILE LEFT_PAREN $@10 condition RIGHT_PAREN statement_no_new_scope */ -#line 3972 "MachineIndependent/glslang.y" +#line 3976 "MachineIndependent/glslang.y" { parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); (yyval.interm.intermNode) = parseContext.intermediate.addLoop((yyvsp[0].interm.intermNode), (yyvsp[-2].interm.intermTypedNode), 0, true, (yyvsp[-5].lex).loc); @@ -11592,22 +11596,22 @@ yyreduce: --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; } -#line 11596 "MachineIndependent/glslang_tab.cpp" +#line 11600 "MachineIndependent/glslang_tab.cpp" break; case 609: /* $@11: %empty */ -#line 3979 "MachineIndependent/glslang.y" +#line 3983 "MachineIndependent/glslang.y" { parseContext.symbolTable.push(); ++parseContext.loopNestingLevel; ++parseContext.statementNestingLevel; ++parseContext.controlFlowNestingLevel; } -#line 11607 "MachineIndependent/glslang_tab.cpp" +#line 11611 "MachineIndependent/glslang_tab.cpp" break; case 610: /* iteration_statement_nonattributed: DO $@11 statement WHILE LEFT_PAREN expression RIGHT_PAREN SEMICOLON */ -#line 3985 "MachineIndependent/glslang.y" +#line 3989 "MachineIndependent/glslang.y" { if (! parseContext.limits.whileLoops) parseContext.error((yyvsp[-7].lex).loc, "do-while loops not available", "limitation", ""); @@ -11620,22 +11624,22 @@ yyreduce: --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; } -#line 11624 "MachineIndependent/glslang_tab.cpp" +#line 11628 "MachineIndependent/glslang_tab.cpp" break; case 611: /* $@12: %empty */ -#line 3997 "MachineIndependent/glslang.y" +#line 4001 "MachineIndependent/glslang.y" { parseContext.symbolTable.push(); ++parseContext.loopNestingLevel; ++parseContext.statementNestingLevel; ++parseContext.controlFlowNestingLevel; } -#line 11635 "MachineIndependent/glslang_tab.cpp" +#line 11639 "MachineIndependent/glslang_tab.cpp" break; case 612: /* iteration_statement_nonattributed: FOR LEFT_PAREN $@12 for_init_statement for_rest_statement RIGHT_PAREN statement_no_new_scope */ -#line 4003 "MachineIndependent/glslang.y" +#line 4007 "MachineIndependent/glslang.y" { parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[-3].interm.intermNode), (yyvsp[-5].lex).loc); @@ -11648,81 +11652,81 @@ yyreduce: --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; } -#line 11652 "MachineIndependent/glslang_tab.cpp" +#line 11656 "MachineIndependent/glslang_tab.cpp" break; case 613: /* for_init_statement: expression_statement */ -#line 4018 "MachineIndependent/glslang.y" +#line 4022 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11660 "MachineIndependent/glslang_tab.cpp" +#line 11664 "MachineIndependent/glslang_tab.cpp" break; case 614: /* for_init_statement: declaration_statement */ -#line 4021 "MachineIndependent/glslang.y" +#line 4025 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11668 "MachineIndependent/glslang_tab.cpp" +#line 11672 "MachineIndependent/glslang_tab.cpp" break; case 615: /* conditionopt: condition */ -#line 4027 "MachineIndependent/glslang.y" +#line 4031 "MachineIndependent/glslang.y" { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 11676 "MachineIndependent/glslang_tab.cpp" +#line 11680 "MachineIndependent/glslang_tab.cpp" break; case 616: /* conditionopt: %empty */ -#line 4030 "MachineIndependent/glslang.y" +#line 4034 "MachineIndependent/glslang.y" { (yyval.interm.intermTypedNode) = 0; } -#line 11684 "MachineIndependent/glslang_tab.cpp" +#line 11688 "MachineIndependent/glslang_tab.cpp" break; case 617: /* for_rest_statement: conditionopt SEMICOLON */ -#line 4036 "MachineIndependent/glslang.y" +#line 4040 "MachineIndependent/glslang.y" { (yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode); (yyval.interm.nodePair).node2 = 0; } -#line 11693 "MachineIndependent/glslang_tab.cpp" +#line 11697 "MachineIndependent/glslang_tab.cpp" break; case 618: /* for_rest_statement: conditionopt SEMICOLON expression */ -#line 4040 "MachineIndependent/glslang.y" +#line 4044 "MachineIndependent/glslang.y" { (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode); (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermTypedNode); } -#line 11702 "MachineIndependent/glslang_tab.cpp" +#line 11706 "MachineIndependent/glslang_tab.cpp" break; case 619: /* jump_statement: CONTINUE SEMICOLON */ -#line 4047 "MachineIndependent/glslang.y" +#line 4051 "MachineIndependent/glslang.y" { if (parseContext.loopNestingLevel <= 0) parseContext.error((yyvsp[-1].lex).loc, "continue statement only allowed in loops", "", ""); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpContinue, (yyvsp[-1].lex).loc); } -#line 11712 "MachineIndependent/glslang_tab.cpp" +#line 11716 "MachineIndependent/glslang_tab.cpp" break; case 620: /* jump_statement: BREAK SEMICOLON */ -#line 4052 "MachineIndependent/glslang.y" +#line 4056 "MachineIndependent/glslang.y" { if (parseContext.loopNestingLevel + parseContext.switchSequenceStack.size() <= 0) parseContext.error((yyvsp[-1].lex).loc, "break statement only allowed in switch and loops", "", ""); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpBreak, (yyvsp[-1].lex).loc); } -#line 11722 "MachineIndependent/glslang_tab.cpp" +#line 11726 "MachineIndependent/glslang_tab.cpp" break; case 621: /* jump_statement: RETURN SEMICOLON */ -#line 4057 "MachineIndependent/glslang.y" +#line 4061 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpReturn, (yyvsp[-1].lex).loc); if (parseContext.currentFunctionType->getBasicType() != EbtVoid) @@ -11730,101 +11734,101 @@ yyreduce: if (parseContext.inMain) parseContext.postEntryPointReturn = true; } -#line 11734 "MachineIndependent/glslang_tab.cpp" +#line 11738 "MachineIndependent/glslang_tab.cpp" break; case 622: /* jump_statement: RETURN expression SEMICOLON */ -#line 4064 "MachineIndependent/glslang.y" +#line 4068 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.handleReturnValue((yyvsp[-2].lex).loc, (yyvsp[-1].interm.intermTypedNode)); } -#line 11742 "MachineIndependent/glslang_tab.cpp" +#line 11746 "MachineIndependent/glslang_tab.cpp" break; case 623: /* jump_statement: DISCARD SEMICOLON */ -#line 4067 "MachineIndependent/glslang.y" +#line 4071 "MachineIndependent/glslang.y" { parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "discard"); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpKill, (yyvsp[-1].lex).loc); } -#line 11751 "MachineIndependent/glslang_tab.cpp" +#line 11755 "MachineIndependent/glslang_tab.cpp" break; case 624: /* jump_statement: TERMINATE_INVOCATION SEMICOLON */ -#line 4071 "MachineIndependent/glslang.y" +#line 4075 "MachineIndependent/glslang.y" { parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "terminateInvocation"); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpTerminateInvocation, (yyvsp[-1].lex).loc); } -#line 11760 "MachineIndependent/glslang_tab.cpp" +#line 11764 "MachineIndependent/glslang_tab.cpp" break; case 625: /* jump_statement: TERMINATE_RAY SEMICOLON */ -#line 4075 "MachineIndependent/glslang.y" +#line 4079 "MachineIndependent/glslang.y" { parseContext.requireStage((yyvsp[-1].lex).loc, EShLangAnyHit, "terminateRayEXT"); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpTerminateRayKHR, (yyvsp[-1].lex).loc); } -#line 11769 "MachineIndependent/glslang_tab.cpp" +#line 11773 "MachineIndependent/glslang_tab.cpp" break; case 626: /* jump_statement: IGNORE_INTERSECTION SEMICOLON */ -#line 4079 "MachineIndependent/glslang.y" +#line 4083 "MachineIndependent/glslang.y" { parseContext.requireStage((yyvsp[-1].lex).loc, EShLangAnyHit, "ignoreIntersectionEXT"); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpIgnoreIntersectionKHR, (yyvsp[-1].lex).loc); } -#line 11778 "MachineIndependent/glslang_tab.cpp" +#line 11782 "MachineIndependent/glslang_tab.cpp" break; case 627: /* translation_unit: external_declaration */ -#line 4088 "MachineIndependent/glslang.y" +#line 4092 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); parseContext.intermediate.setTreeRoot((yyval.interm.intermNode)); } -#line 11787 "MachineIndependent/glslang_tab.cpp" +#line 11791 "MachineIndependent/glslang_tab.cpp" break; case 628: /* translation_unit: translation_unit external_declaration */ -#line 4092 "MachineIndependent/glslang.y" +#line 4096 "MachineIndependent/glslang.y" { if ((yyvsp[0].interm.intermNode) != nullptr) { (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode)); parseContext.intermediate.setTreeRoot((yyval.interm.intermNode)); } } -#line 11798 "MachineIndependent/glslang_tab.cpp" +#line 11802 "MachineIndependent/glslang_tab.cpp" break; case 629: /* external_declaration: function_definition */ -#line 4101 "MachineIndependent/glslang.y" +#line 4105 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11806 "MachineIndependent/glslang_tab.cpp" +#line 11810 "MachineIndependent/glslang_tab.cpp" break; case 630: /* external_declaration: declaration */ -#line 4104 "MachineIndependent/glslang.y" +#line 4108 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11814 "MachineIndependent/glslang_tab.cpp" +#line 11818 "MachineIndependent/glslang_tab.cpp" break; case 631: /* external_declaration: SEMICOLON */ -#line 4107 "MachineIndependent/glslang.y" +#line 4111 "MachineIndependent/glslang.y" { parseContext.requireProfile((yyvsp[0].lex).loc, ~EEsProfile, "extraneous semicolon"); parseContext.profileRequires((yyvsp[0].lex).loc, ~EEsProfile, 460, nullptr, "extraneous semicolon"); (yyval.interm.intermNode) = nullptr; } -#line 11824 "MachineIndependent/glslang_tab.cpp" +#line 11828 "MachineIndependent/glslang_tab.cpp" break; case 632: /* $@13: %empty */ -#line 4115 "MachineIndependent/glslang.y" +#line 4119 "MachineIndependent/glslang.y" { (yyvsp[0].interm).function = parseContext.handleFunctionDeclarator((yyvsp[0].interm).loc, *(yyvsp[0].interm).function, false /* not prototype */); (yyvsp[0].interm).intermNode = parseContext.handleFunctionDefinition((yyvsp[0].interm).loc, *(yyvsp[0].interm).function); @@ -11837,11 +11841,11 @@ yyreduce: ++parseContext.statementNestingLevel; } } -#line 11841 "MachineIndependent/glslang_tab.cpp" +#line 11845 "MachineIndependent/glslang_tab.cpp" break; case 633: /* function_definition: function_prototype $@13 compound_statement_no_new_scope */ -#line 4127 "MachineIndependent/glslang.y" +#line 4131 "MachineIndependent/glslang.y" { // May be best done as post process phase on intermediate code if (parseContext.currentFunctionType->getBasicType() != EbtVoid && ! parseContext.functionReturnsValue) @@ -11869,228 +11873,228 @@ yyreduce: --parseContext.statementNestingLevel; } } -#line 11873 "MachineIndependent/glslang_tab.cpp" +#line 11877 "MachineIndependent/glslang_tab.cpp" break; case 634: /* attribute: LEFT_BRACKET LEFT_BRACKET attribute_list RIGHT_BRACKET RIGHT_BRACKET */ -#line 4157 "MachineIndependent/glslang.y" +#line 4161 "MachineIndependent/glslang.y" { (yyval.interm.attributes) = (yyvsp[-2].interm.attributes); } -#line 11881 "MachineIndependent/glslang_tab.cpp" +#line 11885 "MachineIndependent/glslang_tab.cpp" break; case 635: /* attribute_list: single_attribute */ -#line 4162 "MachineIndependent/glslang.y" +#line 4166 "MachineIndependent/glslang.y" { (yyval.interm.attributes) = (yyvsp[0].interm.attributes); } -#line 11889 "MachineIndependent/glslang_tab.cpp" +#line 11893 "MachineIndependent/glslang_tab.cpp" break; case 636: /* attribute_list: attribute_list COMMA single_attribute */ -#line 4165 "MachineIndependent/glslang.y" +#line 4169 "MachineIndependent/glslang.y" { (yyval.interm.attributes) = parseContext.mergeAttributes((yyvsp[-2].interm.attributes), (yyvsp[0].interm.attributes)); } -#line 11897 "MachineIndependent/glslang_tab.cpp" +#line 11901 "MachineIndependent/glslang_tab.cpp" break; case 637: /* single_attribute: IDENTIFIER */ -#line 4170 "MachineIndependent/glslang.y" +#line 4174 "MachineIndependent/glslang.y" { (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[0].lex).string); } -#line 11905 "MachineIndependent/glslang_tab.cpp" +#line 11909 "MachineIndependent/glslang_tab.cpp" break; case 638: /* single_attribute: IDENTIFIER LEFT_PAREN constant_expression RIGHT_PAREN */ -#line 4173 "MachineIndependent/glslang.y" +#line 4177 "MachineIndependent/glslang.y" { (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[-3].lex).string, (yyvsp[-1].interm.intermTypedNode)); } -#line 11913 "MachineIndependent/glslang_tab.cpp" +#line 11917 "MachineIndependent/glslang_tab.cpp" break; case 639: /* spirv_requirements_list: spirv_requirements_parameter */ -#line 4178 "MachineIndependent/glslang.y" +#line 4182 "MachineIndependent/glslang.y" { (yyval.interm.spirvReq) = (yyvsp[0].interm.spirvReq); } -#line 11921 "MachineIndependent/glslang_tab.cpp" +#line 11925 "MachineIndependent/glslang_tab.cpp" break; case 640: /* spirv_requirements_list: spirv_requirements_list COMMA spirv_requirements_parameter */ -#line 4181 "MachineIndependent/glslang.y" +#line 4185 "MachineIndependent/glslang.y" { (yyval.interm.spirvReq) = parseContext.mergeSpirvRequirements((yyvsp[-1].lex).loc, (yyvsp[-2].interm.spirvReq), (yyvsp[0].interm.spirvReq)); } -#line 11929 "MachineIndependent/glslang_tab.cpp" +#line 11933 "MachineIndependent/glslang_tab.cpp" break; case 641: /* spirv_requirements_parameter: IDENTIFIER EQUAL LEFT_BRACKET spirv_extension_list RIGHT_BRACKET */ -#line 4186 "MachineIndependent/glslang.y" +#line 4190 "MachineIndependent/glslang.y" { (yyval.interm.spirvReq) = parseContext.makeSpirvRequirement((yyvsp[-3].lex).loc, *(yyvsp[-4].lex).string, (yyvsp[-1].interm.intermNode)->getAsAggregate(), nullptr); } -#line 11937 "MachineIndependent/glslang_tab.cpp" +#line 11941 "MachineIndependent/glslang_tab.cpp" break; case 642: /* spirv_requirements_parameter: IDENTIFIER EQUAL LEFT_BRACKET spirv_capability_list RIGHT_BRACKET */ -#line 4189 "MachineIndependent/glslang.y" +#line 4193 "MachineIndependent/glslang.y" { (yyval.interm.spirvReq) = parseContext.makeSpirvRequirement((yyvsp[-3].lex).loc, *(yyvsp[-4].lex).string, nullptr, (yyvsp[-1].interm.intermNode)->getAsAggregate()); } -#line 11945 "MachineIndependent/glslang_tab.cpp" +#line 11949 "MachineIndependent/glslang_tab.cpp" break; case 643: /* spirv_extension_list: STRING_LITERAL */ -#line 4194 "MachineIndependent/glslang.y" +#line 4198 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate(parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true)); } -#line 11953 "MachineIndependent/glslang_tab.cpp" +#line 11957 "MachineIndependent/glslang_tab.cpp" break; case 644: /* spirv_extension_list: spirv_extension_list COMMA STRING_LITERAL */ -#line 4197 "MachineIndependent/glslang.y" +#line 4201 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true)); } -#line 11961 "MachineIndependent/glslang_tab.cpp" +#line 11965 "MachineIndependent/glslang_tab.cpp" break; case 645: /* spirv_capability_list: INTCONSTANT */ -#line 4202 "MachineIndependent/glslang.y" +#line 4206 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate(parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true)); } -#line 11969 "MachineIndependent/glslang_tab.cpp" +#line 11973 "MachineIndependent/glslang_tab.cpp" break; case 646: /* spirv_capability_list: spirv_capability_list COMMA INTCONSTANT */ -#line 4205 "MachineIndependent/glslang.y" +#line 4209 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true)); } -#line 11977 "MachineIndependent/glslang_tab.cpp" +#line 11981 "MachineIndependent/glslang_tab.cpp" break; case 647: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN INTCONSTANT RIGHT_PAREN */ -#line 4210 "MachineIndependent/glslang.y" +#line 4214 "MachineIndependent/glslang.y" { parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-1].lex).i); (yyval.interm.intermNode) = 0; } -#line 11986 "MachineIndependent/glslang_tab.cpp" +#line 11990 "MachineIndependent/glslang_tab.cpp" break; case 648: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */ -#line 4214 "MachineIndependent/glslang.y" +#line 4218 "MachineIndependent/glslang.y" { parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq)); parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-1].lex).i); (yyval.interm.intermNode) = 0; } -#line 11996 "MachineIndependent/glslang_tab.cpp" +#line 12000 "MachineIndependent/glslang_tab.cpp" break; case 649: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN INTCONSTANT COMMA spirv_execution_mode_parameter_list RIGHT_PAREN */ -#line 4219 "MachineIndependent/glslang.y" +#line 4223 "MachineIndependent/glslang.y" { parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); (yyval.interm.intermNode) = 0; } -#line 12005 "MachineIndependent/glslang_tab.cpp" +#line 12009 "MachineIndependent/glslang_tab.cpp" break; case 650: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_execution_mode_parameter_list RIGHT_PAREN */ -#line 4223 "MachineIndependent/glslang.y" +#line 4227 "MachineIndependent/glslang.y" { parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq)); parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); (yyval.interm.intermNode) = 0; } -#line 12015 "MachineIndependent/glslang_tab.cpp" +#line 12019 "MachineIndependent/glslang_tab.cpp" break; case 651: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE_ID LEFT_PAREN INTCONSTANT COMMA spirv_execution_mode_id_parameter_list RIGHT_PAREN */ -#line 4228 "MachineIndependent/glslang.y" +#line 4232 "MachineIndependent/glslang.y" { parseContext.intermediate.insertSpirvExecutionModeId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); (yyval.interm.intermNode) = 0; } -#line 12024 "MachineIndependent/glslang_tab.cpp" +#line 12028 "MachineIndependent/glslang_tab.cpp" break; case 652: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE_ID LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_execution_mode_id_parameter_list RIGHT_PAREN */ -#line 4232 "MachineIndependent/glslang.y" +#line 4236 "MachineIndependent/glslang.y" { parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq)); parseContext.intermediate.insertSpirvExecutionModeId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); (yyval.interm.intermNode) = 0; } -#line 12034 "MachineIndependent/glslang_tab.cpp" +#line 12038 "MachineIndependent/glslang_tab.cpp" break; case 653: /* spirv_execution_mode_parameter_list: spirv_execution_mode_parameter */ -#line 4239 "MachineIndependent/glslang.y" +#line 4243 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode)); } -#line 12042 "MachineIndependent/glslang_tab.cpp" +#line 12046 "MachineIndependent/glslang_tab.cpp" break; case 654: /* spirv_execution_mode_parameter_list: spirv_execution_mode_parameter_list COMMA spirv_execution_mode_parameter */ -#line 4242 "MachineIndependent/glslang.y" +#line 4246 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermNode)); } -#line 12050 "MachineIndependent/glslang_tab.cpp" +#line 12054 "MachineIndependent/glslang_tab.cpp" break; case 655: /* spirv_execution_mode_parameter: FLOATCONSTANT */ -#line 4247 "MachineIndependent/glslang.y" +#line 4251 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true); } -#line 12058 "MachineIndependent/glslang_tab.cpp" +#line 12062 "MachineIndependent/glslang_tab.cpp" break; case 656: /* spirv_execution_mode_parameter: INTCONSTANT */ -#line 4250 "MachineIndependent/glslang.y" +#line 4254 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true); } -#line 12066 "MachineIndependent/glslang_tab.cpp" +#line 12070 "MachineIndependent/glslang_tab.cpp" break; case 657: /* spirv_execution_mode_parameter: UINTCONSTANT */ -#line 4253 "MachineIndependent/glslang.y" +#line 4257 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true); } -#line 12074 "MachineIndependent/glslang_tab.cpp" +#line 12078 "MachineIndependent/glslang_tab.cpp" break; case 658: /* spirv_execution_mode_parameter: BOOLCONSTANT */ -#line 4256 "MachineIndependent/glslang.y" +#line 4260 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true); } -#line 12082 "MachineIndependent/glslang_tab.cpp" +#line 12086 "MachineIndependent/glslang_tab.cpp" break; case 659: /* spirv_execution_mode_parameter: STRING_LITERAL */ -#line 4259 "MachineIndependent/glslang.y" +#line 4263 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true); } -#line 12090 "MachineIndependent/glslang_tab.cpp" +#line 12094 "MachineIndependent/glslang_tab.cpp" break; case 660: /* spirv_execution_mode_id_parameter_list: constant_expression */ -#line 4264 "MachineIndependent/glslang.y" +#line 4268 "MachineIndependent/glslang.y" { if ((yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtFloat && (yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtInt && @@ -12100,11 +12104,11 @@ yyreduce: parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "this type not allowed", (yyvsp[0].interm.intermTypedNode)->getType().getBasicString(), ""); (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermTypedNode)); } -#line 12104 "MachineIndependent/glslang_tab.cpp" +#line 12108 "MachineIndependent/glslang_tab.cpp" break; case 661: /* spirv_execution_mode_id_parameter_list: spirv_execution_mode_id_parameter_list COMMA constant_expression */ -#line 4273 "MachineIndependent/glslang.y" +#line 4277 "MachineIndependent/glslang.y" { if ((yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtFloat && (yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtInt && @@ -12114,351 +12118,351 @@ yyreduce: parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "this type not allowed", (yyvsp[0].interm.intermTypedNode)->getType().getBasicString(), ""); (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermTypedNode)); } -#line 12118 "MachineIndependent/glslang_tab.cpp" +#line 12122 "MachineIndependent/glslang_tab.cpp" break; case 662: /* spirv_storage_class_qualifier: SPIRV_STORAGE_CLASS LEFT_PAREN INTCONSTANT RIGHT_PAREN */ -#line 4284 "MachineIndependent/glslang.y" +#line 4288 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-3].lex).loc); (yyval.interm.type).qualifier.storage = EvqSpirvStorageClass; (yyval.interm.type).qualifier.spirvStorageClass = (yyvsp[-1].lex).i; } -#line 12128 "MachineIndependent/glslang_tab.cpp" +#line 12132 "MachineIndependent/glslang_tab.cpp" break; case 663: /* spirv_storage_class_qualifier: SPIRV_STORAGE_CLASS LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */ -#line 4289 "MachineIndependent/glslang.y" +#line 4293 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-5].lex).loc); parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq)); (yyval.interm.type).qualifier.storage = EvqSpirvStorageClass; (yyval.interm.type).qualifier.spirvStorageClass = (yyvsp[-1].lex).i; } -#line 12139 "MachineIndependent/glslang_tab.cpp" +#line 12143 "MachineIndependent/glslang_tab.cpp" break; case 664: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN INTCONSTANT RIGHT_PAREN */ -#line 4297 "MachineIndependent/glslang.y" +#line 4301 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-3].lex).loc); (yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-1].lex).i); } -#line 12148 "MachineIndependent/glslang_tab.cpp" +#line 12152 "MachineIndependent/glslang_tab.cpp" break; case 665: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */ -#line 4301 "MachineIndependent/glslang.y" +#line 4305 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-5].lex).loc); parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq)); (yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-1].lex).i); } -#line 12158 "MachineIndependent/glslang_tab.cpp" +#line 12162 "MachineIndependent/glslang_tab.cpp" break; case 666: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN INTCONSTANT COMMA spirv_decorate_parameter_list RIGHT_PAREN */ -#line 4306 "MachineIndependent/glslang.y" +#line 4310 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-5].lex).loc); (yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); } -#line 12167 "MachineIndependent/glslang_tab.cpp" +#line 12171 "MachineIndependent/glslang_tab.cpp" break; case 667: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_parameter_list RIGHT_PAREN */ -#line 4310 "MachineIndependent/glslang.y" +#line 4314 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-7].lex).loc); parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq)); (yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); } -#line 12177 "MachineIndependent/glslang_tab.cpp" +#line 12181 "MachineIndependent/glslang_tab.cpp" break; case 668: /* spirv_decorate_qualifier: SPIRV_DECORATE_ID LEFT_PAREN INTCONSTANT COMMA spirv_decorate_id_parameter_list RIGHT_PAREN */ -#line 4315 "MachineIndependent/glslang.y" +#line 4319 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-5].lex).loc); (yyval.interm.type).qualifier.setSpirvDecorateId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); } -#line 12186 "MachineIndependent/glslang_tab.cpp" +#line 12190 "MachineIndependent/glslang_tab.cpp" break; case 669: /* spirv_decorate_qualifier: SPIRV_DECORATE_ID LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_id_parameter_list RIGHT_PAREN */ -#line 4319 "MachineIndependent/glslang.y" +#line 4323 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-7].lex).loc); parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq)); (yyval.interm.type).qualifier.setSpirvDecorateId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); } -#line 12196 "MachineIndependent/glslang_tab.cpp" +#line 12200 "MachineIndependent/glslang_tab.cpp" break; case 670: /* spirv_decorate_qualifier: SPIRV_DECORATE_STRING LEFT_PAREN INTCONSTANT COMMA spirv_decorate_string_parameter_list RIGHT_PAREN */ -#line 4324 "MachineIndependent/glslang.y" +#line 4328 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-5].lex).loc); (yyval.interm.type).qualifier.setSpirvDecorateString((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); } -#line 12205 "MachineIndependent/glslang_tab.cpp" +#line 12209 "MachineIndependent/glslang_tab.cpp" break; case 671: /* spirv_decorate_qualifier: SPIRV_DECORATE_STRING LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_string_parameter_list RIGHT_PAREN */ -#line 4328 "MachineIndependent/glslang.y" +#line 4332 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-7].lex).loc); parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq)); (yyval.interm.type).qualifier.setSpirvDecorateString((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); } -#line 12215 "MachineIndependent/glslang_tab.cpp" +#line 12219 "MachineIndependent/glslang_tab.cpp" break; case 672: /* spirv_decorate_parameter_list: spirv_decorate_parameter */ -#line 4335 "MachineIndependent/glslang.y" +#line 4339 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode)); } -#line 12223 "MachineIndependent/glslang_tab.cpp" +#line 12227 "MachineIndependent/glslang_tab.cpp" break; case 673: /* spirv_decorate_parameter_list: spirv_decorate_parameter_list COMMA spirv_decorate_parameter */ -#line 4338 "MachineIndependent/glslang.y" +#line 4342 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermNode)); } -#line 12231 "MachineIndependent/glslang_tab.cpp" +#line 12235 "MachineIndependent/glslang_tab.cpp" break; case 674: /* spirv_decorate_parameter: FLOATCONSTANT */ -#line 4343 "MachineIndependent/glslang.y" +#line 4347 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true); } -#line 12239 "MachineIndependent/glslang_tab.cpp" +#line 12243 "MachineIndependent/glslang_tab.cpp" break; case 675: /* spirv_decorate_parameter: INTCONSTANT */ -#line 4346 "MachineIndependent/glslang.y" +#line 4350 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true); } -#line 12247 "MachineIndependent/glslang_tab.cpp" +#line 12251 "MachineIndependent/glslang_tab.cpp" break; case 676: /* spirv_decorate_parameter: UINTCONSTANT */ -#line 4349 "MachineIndependent/glslang.y" +#line 4353 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true); } -#line 12255 "MachineIndependent/glslang_tab.cpp" +#line 12259 "MachineIndependent/glslang_tab.cpp" break; case 677: /* spirv_decorate_parameter: BOOLCONSTANT */ -#line 4352 "MachineIndependent/glslang.y" +#line 4356 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true); } -#line 12263 "MachineIndependent/glslang_tab.cpp" +#line 12267 "MachineIndependent/glslang_tab.cpp" break; case 678: /* spirv_decorate_id_parameter_list: spirv_decorate_id_parameter */ -#line 4357 "MachineIndependent/glslang.y" +#line 4361 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode)); } -#line 12271 "MachineIndependent/glslang_tab.cpp" +#line 12275 "MachineIndependent/glslang_tab.cpp" break; case 679: /* spirv_decorate_id_parameter_list: spirv_decorate_id_parameter_list COMMA spirv_decorate_id_parameter */ -#line 4360 "MachineIndependent/glslang.y" +#line 4364 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermNode)); } -#line 12279 "MachineIndependent/glslang_tab.cpp" +#line 12283 "MachineIndependent/glslang_tab.cpp" break; case 680: /* spirv_decorate_id_parameter: variable_identifier */ -#line 4365 "MachineIndependent/glslang.y" +#line 4369 "MachineIndependent/glslang.y" { if ((yyvsp[0].interm.intermTypedNode)->getAsConstantUnion() || (yyvsp[0].interm.intermTypedNode)->getAsSymbolNode()) (yyval.interm.intermNode) = (yyvsp[0].interm.intermTypedNode); else parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "only allow constants or variables which are not elements of a composite", "", ""); } -#line 12290 "MachineIndependent/glslang_tab.cpp" +#line 12294 "MachineIndependent/glslang_tab.cpp" break; case 681: /* spirv_decorate_id_parameter: FLOATCONSTANT */ -#line 4371 "MachineIndependent/glslang.y" +#line 4375 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true); } -#line 12298 "MachineIndependent/glslang_tab.cpp" +#line 12302 "MachineIndependent/glslang_tab.cpp" break; case 682: /* spirv_decorate_id_parameter: INTCONSTANT */ -#line 4374 "MachineIndependent/glslang.y" +#line 4378 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true); } -#line 12306 "MachineIndependent/glslang_tab.cpp" +#line 12310 "MachineIndependent/glslang_tab.cpp" break; case 683: /* spirv_decorate_id_parameter: UINTCONSTANT */ -#line 4377 "MachineIndependent/glslang.y" +#line 4381 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true); } -#line 12314 "MachineIndependent/glslang_tab.cpp" +#line 12318 "MachineIndependent/glslang_tab.cpp" break; case 684: /* spirv_decorate_id_parameter: BOOLCONSTANT */ -#line 4380 "MachineIndependent/glslang.y" +#line 4384 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true); } -#line 12322 "MachineIndependent/glslang_tab.cpp" +#line 12326 "MachineIndependent/glslang_tab.cpp" break; case 685: /* spirv_decorate_string_parameter_list: STRING_LITERAL */ -#line 4385 "MachineIndependent/glslang.y" +#line 4389 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate( parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true)); } -#line 12331 "MachineIndependent/glslang_tab.cpp" +#line 12335 "MachineIndependent/glslang_tab.cpp" break; case 686: /* spirv_decorate_string_parameter_list: spirv_decorate_string_parameter_list COMMA STRING_LITERAL */ -#line 4389 "MachineIndependent/glslang.y" +#line 4393 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true)); } -#line 12339 "MachineIndependent/glslang_tab.cpp" +#line 12343 "MachineIndependent/glslang_tab.cpp" break; case 687: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_instruction_qualifier_list COMMA spirv_type_parameter_list RIGHT_PAREN */ -#line 4394 "MachineIndependent/glslang.y" +#line 4398 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-5].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).setSpirvType(*(yyvsp[-3].interm.spirvInst), (yyvsp[-1].interm.spirvTypeParams)); } -#line 12348 "MachineIndependent/glslang_tab.cpp" +#line 12352 "MachineIndependent/glslang_tab.cpp" break; case 688: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list COMMA spirv_type_parameter_list RIGHT_PAREN */ -#line 4398 "MachineIndependent/glslang.y" +#line 4402 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-7].lex).loc, parseContext.symbolTable.atGlobalLevel()); parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq)); (yyval.interm.type).setSpirvType(*(yyvsp[-3].interm.spirvInst), (yyvsp[-1].interm.spirvTypeParams)); } -#line 12358 "MachineIndependent/glslang_tab.cpp" +#line 12362 "MachineIndependent/glslang_tab.cpp" break; case 689: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN */ -#line 4403 "MachineIndependent/glslang.y" +#line 4407 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-3].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).setSpirvType(*(yyvsp[-1].interm.spirvInst)); } -#line 12367 "MachineIndependent/glslang_tab.cpp" +#line 12371 "MachineIndependent/glslang_tab.cpp" break; case 690: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list RIGHT_PAREN */ -#line 4407 "MachineIndependent/glslang.y" +#line 4411 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-5].lex).loc, parseContext.symbolTable.atGlobalLevel()); parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq)); (yyval.interm.type).setSpirvType(*(yyvsp[-1].interm.spirvInst)); } -#line 12377 "MachineIndependent/glslang_tab.cpp" +#line 12381 "MachineIndependent/glslang_tab.cpp" break; case 691: /* spirv_type_parameter_list: spirv_type_parameter */ -#line 4414 "MachineIndependent/glslang.y" +#line 4418 "MachineIndependent/glslang.y" { (yyval.interm.spirvTypeParams) = (yyvsp[0].interm.spirvTypeParams); } -#line 12385 "MachineIndependent/glslang_tab.cpp" +#line 12389 "MachineIndependent/glslang_tab.cpp" break; case 692: /* spirv_type_parameter_list: spirv_type_parameter_list COMMA spirv_type_parameter */ -#line 4417 "MachineIndependent/glslang.y" +#line 4421 "MachineIndependent/glslang.y" { (yyval.interm.spirvTypeParams) = parseContext.mergeSpirvTypeParameters((yyvsp[-2].interm.spirvTypeParams), (yyvsp[0].interm.spirvTypeParams)); } -#line 12393 "MachineIndependent/glslang_tab.cpp" +#line 12397 "MachineIndependent/glslang_tab.cpp" break; case 693: /* spirv_type_parameter: constant_expression */ -#line 4422 "MachineIndependent/glslang.y" +#line 4426 "MachineIndependent/glslang.y" { (yyval.interm.spirvTypeParams) = parseContext.makeSpirvTypeParameters((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode)->getAsConstantUnion()); } -#line 12401 "MachineIndependent/glslang_tab.cpp" +#line 12405 "MachineIndependent/glslang_tab.cpp" break; case 694: /* spirv_type_parameter: type_specifier_nonarray */ -#line 4425 "MachineIndependent/glslang.y" +#line 4429 "MachineIndependent/glslang.y" { (yyval.interm.spirvTypeParams) = parseContext.makeSpirvTypeParameters((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type)); } -#line 12409 "MachineIndependent/glslang_tab.cpp" +#line 12413 "MachineIndependent/glslang_tab.cpp" break; case 695: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN */ -#line 4430 "MachineIndependent/glslang.y" +#line 4434 "MachineIndependent/glslang.y" { (yyval.interm.spirvInst) = (yyvsp[-1].interm.spirvInst); } -#line 12417 "MachineIndependent/glslang_tab.cpp" +#line 12421 "MachineIndependent/glslang_tab.cpp" break; case 696: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list RIGHT_PAREN */ -#line 4433 "MachineIndependent/glslang.y" +#line 4437 "MachineIndependent/glslang.y" { parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq)); (yyval.interm.spirvInst) = (yyvsp[-1].interm.spirvInst); } -#line 12426 "MachineIndependent/glslang_tab.cpp" +#line 12430 "MachineIndependent/glslang_tab.cpp" break; case 697: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_id */ -#line 4439 "MachineIndependent/glslang.y" +#line 4443 "MachineIndependent/glslang.y" { (yyval.interm.spirvInst) = (yyvsp[0].interm.spirvInst); } -#line 12434 "MachineIndependent/glslang_tab.cpp" +#line 12438 "MachineIndependent/glslang_tab.cpp" break; case 698: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_list COMMA spirv_instruction_qualifier_id */ -#line 4442 "MachineIndependent/glslang.y" +#line 4446 "MachineIndependent/glslang.y" { (yyval.interm.spirvInst) = parseContext.mergeSpirvInstruction((yyvsp[-1].lex).loc, (yyvsp[-2].interm.spirvInst), (yyvsp[0].interm.spirvInst)); } -#line 12442 "MachineIndependent/glslang_tab.cpp" +#line 12446 "MachineIndependent/glslang_tab.cpp" break; case 699: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL STRING_LITERAL */ -#line 4447 "MachineIndependent/glslang.y" +#line 4451 "MachineIndependent/glslang.y" { (yyval.interm.spirvInst) = parseContext.makeSpirvInstruction((yyvsp[-1].lex).loc, *(yyvsp[-2].lex).string, *(yyvsp[0].lex).string); } -#line 12450 "MachineIndependent/glslang_tab.cpp" +#line 12454 "MachineIndependent/glslang_tab.cpp" break; case 700: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL INTCONSTANT */ -#line 4450 "MachineIndependent/glslang.y" +#line 4454 "MachineIndependent/glslang.y" { (yyval.interm.spirvInst) = parseContext.makeSpirvInstruction((yyvsp[-1].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[0].lex).i); } -#line 12458 "MachineIndependent/glslang_tab.cpp" +#line 12462 "MachineIndependent/glslang_tab.cpp" break; -#line 12462 "MachineIndependent/glslang_tab.cpp" +#line 12466 "MachineIndependent/glslang_tab.cpp" default: break; } @@ -12682,5 +12686,5 @@ yyreturnlab: return yyresult; } -#line 4454 "MachineIndependent/glslang.y" +#line 4458 "MachineIndependent/glslang.y" diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp index 4f820c162..c8a24eca8 100644 --- a/gtests/Spv.FromFile.cpp +++ b/gtests/Spv.FromFile.cpp @@ -956,6 +956,7 @@ INSTANTIATE_TEST_SUITE_P( "spv.debuginfo.rt_types.glsl.rgen", "spv.debuginfo.include.glsl.frag", "spv.debuginfo.multiline.glsl.frag", + "spv.debuginfo.implicit_br.glsl.frag", })), FileNameAsCustomTestSuffix );