From 1aefd184a602c3efe414cf0208ab36a720d19e95 Mon Sep 17 00:00:00 2001 From: Jeremy Hayes Date: Mon, 3 Apr 2023 14:24:00 -0600 Subject: [PATCH] Fix DebugCompilationUnit scope Fix 3167. --- SPIRV/SpvBuilder.cpp | 11 + Test/baseResults/spv.debuginfo.glsl.frag.out | 1649 +++++++++--------- Test/spv.debuginfo.glsl.frag | 2 + 3 files changed, 841 insertions(+), 821 deletions(-) diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp index da194e99a..9d0733425 100644 --- a/SPIRV/SpvBuilder.cpp +++ b/SPIRV/SpvBuilder.cpp @@ -144,6 +144,7 @@ void Builder::addLine(Id fileName, int lineNum, int column) void Builder::addDebugScopeAndLine(Id fileName, int lineNum, int column) { + assert(!currentDebugScopeId.empty()); if (currentDebugScopeId.top() != lastDebugScopeId) { spv::Id resultId = getUniqueId(); Instruction* scopeInst = new Instruction(resultId, makeVoidType(), OpExtInst); @@ -1071,6 +1072,12 @@ Id Builder::makeDebugCompilationUnit() { constantsTypesGlobals.push_back(std::unique_ptr(sourceInst)); module.mapInstruction(sourceInst); nonSemanticShaderCompilationUnitId = resultId; + + // We can reasonably assume that makeDebugCompilationUnit will be called before any of + // debug-scope stack. Function scopes and lexical scopes will occur afterward. + assert(currentDebugScopeId.empty()); + currentDebugScopeId.push(nonSemanticShaderCompilationUnitId); + return resultId; } @@ -1100,6 +1107,8 @@ Id Builder::createDebugGlobalVariable(Id const type, char const*const name, Id c Id Builder::createDebugLocalVariable(Id type, char const*const name, size_t const argNumber) { assert(name != nullptr); + assert(!currentDebugScopeId.empty()); + Instruction* inst = new Instruction(getUniqueId(), makeVoidType(), OpExtInst); inst->addIdOperand(nonSemanticShaderDebugInfo); inst->addImmediateOperand(NonSemanticShaderDebugInfo100DebugLocalVariable); @@ -2119,6 +2128,8 @@ Id Builder::makeDebugFunction(Function* function, Id nameId, Id funcTypeId) { } Id Builder::makeDebugLexicalBlock(uint32_t line) { + assert(!currentDebugScopeId.empty()); + Id lexId = getUniqueId(); auto lex = new Instruction(lexId, makeVoidType(), OpExtInst); lex->addIdOperand(nonSemanticShaderDebugInfo); diff --git a/Test/baseResults/spv.debuginfo.glsl.frag.out b/Test/baseResults/spv.debuginfo.glsl.frag.out index ffe327515..358a3bc7d 100644 --- a/Test/baseResults/spv.debuginfo.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.glsl.frag.out @@ -2,7 +2,7 @@ spv.debuginfo.glsl.frag Validation failed // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 704 +// Id's are bound by 709 Capability Shader Capability ImageQuery @@ -10,7 +10,7 @@ Validation failed 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 2: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 13 "main" 400 445 + EntryPoint Fragment 13 "main" 405 450 ExecutionMode 13 OriginUpperLeft 8: String "uint" 14: String "main" @@ -25,56 +25,57 @@ Validation failed 77: String "shadow" 83: String "fragcolor" 86: String "fragpos" - 96: String "shadowCoord" - 118: String "bool" - 132: String "dist" - 137: String "type.2d.image" - 138: String "@type.2d.image" - 142: String "type.sampled.image" - 143: String "@type.sampled.image" - 147: String "samplerShadowMap" - 181: String "int" - 188: String "texDim" - 200: String "scale" - 206: String "dx" - 218: String "dy" - 229: String "shadowFactor" - 234: String "count" - 239: String "range" - 245: String "x" - 261: String "y" - 307: String "i" - 321: String "shadowClip" - 329: String "color" - 335: String "viewMatrix" - 338: String "Light" - 344: String "lights" - 347: String "debugDisplayTarget" - 351: String "UBO" - 355: String "ubo" - 387: String "fragPos" - 397: String "samplerposition" - 402: String "inUV" - 408: String "normal" - 413: String "samplerNormal" - 420: String "albedo" - 425: String "samplerAlbedo" - 447: String "outFragColor" - 509: String "N" - 528: String "L" - 548: String "V" - 560: String "lightCosInnerAngle" - 566: String "lightCosOuterAngle" - 572: String "lightRange" - 578: String "dir" - 593: String "cosDir" - 601: String "spotEffect" - 610: String "heightAttenuation" - 618: String "NdotL" - 627: String "diff" - 634: String "R" - 643: String "NdotR" - 652: String "spec" + 89: String "int" + 94: String "global_var" + 106: String "shadowCoord" + 128: String "bool" + 142: String "dist" + 147: String "type.2d.image" + 148: String "@type.2d.image" + 152: String "type.sampled.image" + 153: String "@type.sampled.image" + 157: String "samplerShadowMap" + 194: String "texDim" + 205: String "scale" + 211: String "dx" + 223: String "dy" + 234: String "shadowFactor" + 239: String "count" + 244: String "range" + 250: String "x" + 266: String "y" + 312: String "i" + 326: String "shadowClip" + 334: String "color" + 340: String "viewMatrix" + 343: String "Light" + 349: String "lights" + 352: String "debugDisplayTarget" + 356: String "UBO" + 360: String "ubo" + 392: String "fragPos" + 402: String "samplerposition" + 407: String "inUV" + 413: String "normal" + 418: String "samplerNormal" + 425: String "albedo" + 430: String "samplerAlbedo" + 452: String "outFragColor" + 514: String "N" + 533: String "L" + 553: String "V" + 565: String "lightCosInnerAngle" + 571: String "lightCosOuterAngle" + 577: String "lightRange" + 583: String "dir" + 598: String "cosDir" + 606: String "spotEffect" + 615: String "heightAttenuation" + 623: String "NdotL" + 632: String "diff" + 639: String "R" + 648: String "NdotR" + 657: String "spec" Name 13 "main" Name 38 "textureProj(vf4;f1;vf2;" Name 35 "P" @@ -86,92 +87,93 @@ Validation failed Name 76 "shadow(vf3;vf3;" Name 74 "fragcolor" Name 75 "fragpos" - Name 89 "shadow" - Name 94 "shadowCoord" - Name 130 "dist" - Name 145 "samplerShadowMap" - Name 186 "texDim" - Name 198 "scale" - Name 204 "dx" - Name 216 "dy" - Name 227 "shadowFactor" - Name 232 "count" - Name 237 "range" - Name 243 "x" - Name 259 "y" - Name 284 "param" - Name 286 "param" - Name 288 "param" - Name 305 "i" - Name 319 "shadowClip" - Name 327 "Light" - MemberName 327(Light) 0 "position" - MemberName 327(Light) 1 "target" - MemberName 327(Light) 2 "color" - MemberName 327(Light) 3 "viewMatrix" - Name 341 "UBO" - MemberName 341(UBO) 0 "viewPos" - MemberName 341(UBO) 1 "lights" - MemberName 341(UBO) 2 "useShadows" - MemberName 341(UBO) 3 "debugDisplayTarget" - Name 353 "ubo" - Name 366 "shadowFactor" - Name 372 "param" - Name 374 "param" - Name 385 "fragPos" - Name 395 "samplerposition" - Name 400 "inUV" - Name 406 "normal" - Name 411 "samplerNormal" - Name 418 "albedo" - Name 423 "samplerAlbedo" - Name 445 "outFragColor" - Name 450 "param" - Name 451 "param" - Name 499 "fragcolor" - Name 507 "N" - Name 514 "i" - Name 526 "L" - Name 538 "dist" - Name 546 "V" - Name 558 "lightCosInnerAngle" - Name 564 "lightCosOuterAngle" - Name 570 "lightRange" - Name 576 "dir" - Name 591 "cosDir" - Name 599 "spotEffect" - Name 608 "heightAttenuation" - Name 616 "NdotL" - Name 625 "diff" - Name 632 "R" - Name 641 "NdotR" - Name 650 "spec" - Name 694 "param" - Name 696 "param" - Decorate 145(samplerShadowMap) DescriptorSet 0 - Decorate 145(samplerShadowMap) Binding 5 - MemberDecorate 327(Light) 0 Offset 0 - MemberDecorate 327(Light) 1 Offset 16 - MemberDecorate 327(Light) 2 Offset 32 - MemberDecorate 327(Light) 3 ColMajor - MemberDecorate 327(Light) 3 Offset 48 - MemberDecorate 327(Light) 3 MatrixStride 16 - Decorate 339 ArrayStride 112 - MemberDecorate 341(UBO) 0 Offset 0 - MemberDecorate 341(UBO) 1 Offset 16 - MemberDecorate 341(UBO) 2 Offset 352 - MemberDecorate 341(UBO) 3 Offset 356 - Decorate 341(UBO) Block - Decorate 353(ubo) DescriptorSet 0 - Decorate 353(ubo) Binding 4 - Decorate 395(samplerposition) DescriptorSet 0 - Decorate 395(samplerposition) Binding 1 - Decorate 400(inUV) Location 0 - Decorate 411(samplerNormal) DescriptorSet 0 - Decorate 411(samplerNormal) Binding 2 - Decorate 423(samplerAlbedo) DescriptorSet 0 - Decorate 423(samplerAlbedo) Binding 3 - Decorate 445(outFragColor) Location 0 + Name 92 "global_var" + Name 99 "shadow" + Name 104 "shadowCoord" + Name 140 "dist" + Name 155 "samplerShadowMap" + Name 192 "texDim" + Name 203 "scale" + Name 209 "dx" + Name 221 "dy" + Name 232 "shadowFactor" + Name 237 "count" + Name 242 "range" + Name 248 "x" + Name 264 "y" + Name 289 "param" + Name 291 "param" + Name 293 "param" + Name 310 "i" + Name 324 "shadowClip" + Name 332 "Light" + MemberName 332(Light) 0 "position" + MemberName 332(Light) 1 "target" + MemberName 332(Light) 2 "color" + MemberName 332(Light) 3 "viewMatrix" + Name 346 "UBO" + MemberName 346(UBO) 0 "viewPos" + MemberName 346(UBO) 1 "lights" + MemberName 346(UBO) 2 "useShadows" + MemberName 346(UBO) 3 "debugDisplayTarget" + Name 358 "ubo" + Name 371 "shadowFactor" + Name 377 "param" + Name 379 "param" + Name 390 "fragPos" + Name 400 "samplerposition" + Name 405 "inUV" + Name 411 "normal" + Name 416 "samplerNormal" + Name 423 "albedo" + Name 428 "samplerAlbedo" + Name 450 "outFragColor" + Name 455 "param" + Name 456 "param" + Name 504 "fragcolor" + Name 512 "N" + Name 519 "i" + Name 531 "L" + Name 543 "dist" + Name 551 "V" + Name 563 "lightCosInnerAngle" + Name 569 "lightCosOuterAngle" + Name 575 "lightRange" + Name 581 "dir" + Name 596 "cosDir" + Name 604 "spotEffect" + Name 613 "heightAttenuation" + Name 621 "NdotL" + Name 630 "diff" + Name 637 "R" + Name 646 "NdotR" + Name 655 "spec" + Name 699 "param" + Name 701 "param" + Decorate 155(samplerShadowMap) DescriptorSet 0 + Decorate 155(samplerShadowMap) Binding 5 + MemberDecorate 332(Light) 0 Offset 0 + MemberDecorate 332(Light) 1 Offset 16 + MemberDecorate 332(Light) 2 Offset 32 + MemberDecorate 332(Light) 3 ColMajor + MemberDecorate 332(Light) 3 Offset 48 + MemberDecorate 332(Light) 3 MatrixStride 16 + Decorate 344 ArrayStride 112 + MemberDecorate 346(UBO) 0 Offset 0 + MemberDecorate 346(UBO) 1 Offset 16 + MemberDecorate 346(UBO) 2 Offset 352 + MemberDecorate 346(UBO) 3 Offset 356 + Decorate 346(UBO) Block + Decorate 358(ubo) DescriptorSet 0 + Decorate 358(ubo) Binding 4 + Decorate 400(samplerposition) DescriptorSet 0 + Decorate 400(samplerposition) Binding 1 + Decorate 405(inUV) Location 0 + Decorate 416(samplerNormal) DescriptorSet 0 + Decorate 416(samplerNormal) Binding 2 + Decorate 428(samplerAlbedo) DescriptorSet 0 + Decorate 428(samplerAlbedo) Binding 3 + Decorate 450(outFragColor) Location 0 3: TypeVoid 4: TypeFunction 3 6: TypeInt 32 0 @@ -216,459 +218,464 @@ Validation failed 78: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 77 73 16 11 11 18 77 12 11 82: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 83 70 16 11 11 78 20 19 85: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 86 70 16 11 11 78 20 21 - 91: 6(int) Constant 59 - 90: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 77 25 16 91 11 40 20 - 93: 23(float) Constant 1065353216 - 97: 6(int) Constant 60 - 95: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 96 27 16 97 11 40 20 - 106: 23(float) Constant 1056964608 - 114: TypeBool - 117: 23(float) Constant 3212836864 - 119: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 118 9 21 11 - 125: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 118 9 21 11 - 133: 6(int) Constant 65 - 131: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 132 25 16 133 11 40 20 - 135: TypeImage 23(float) 2D array sampled format:Unknown - 139: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) - 136: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 137 11 16 133 11 18 138 139 12 - 140: TypeSampledImage 135 - 141: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 142 11 16 133 11 18 143 139 12 - 144: TypePointer UniformConstant 140 -145(samplerShadowMap): 144(ptr) Variable UniformConstant - 148: 6(int) Constant 8 - 146: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 147 141 16 133 11 18 147 145(samplerShadowMap) 148 - 162: 23(float) Constant 0 - 163: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 118 9 21 11 - 170: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 118 9 21 11 - 175: 23(float) Constant 1048576000 - 180: TypeInt 32 1 - 182: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 181 9 20 11 - 183: TypeVector 180(int) 2 - 184: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 182 21 - 185: TypePointer Function 183(ivec2) - 189: 6(int) Constant 76 - 187: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 188 184 16 189 11 60 20 - 192: 180(int) Constant 0 - 194: TypeVector 180(int) 3 - 195: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 182 12 - 201: 6(int) Constant 77 - 199: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 200 25 16 201 11 60 20 - 203: 23(float) Constant 1069547520 - 207: 6(int) Constant 78 - 205: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 206 25 16 207 11 60 20 - 211: TypePointer Function 180(int) - 219: 6(int) Constant 79 - 217: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 218 25 16 219 11 60 20 - 230: 6(int) Constant 81 - 228: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 229 25 16 230 11 60 20 - 235: 6(int) Constant 82 - 233: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 234 182 16 235 11 60 20 - 240: 6(int) Constant 83 - 238: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 239 182 16 240 11 60 20 - 242: 180(int) Constant 1 - 246: 6(int) Constant 85 - 244: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 245 182 16 246 11 60 20 - 257: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 118 9 21 11 - 262: 6(int) Constant 87 - 260: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 261 182 16 262 11 60 20 - 273: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 118 9 21 11 - 308: 6(int) Constant 98 - 306: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 307 182 16 308 11 78 20 - 316: 180(int) Constant 3 - 317: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 118 9 21 11 - 322: 6(int) Constant 100 - 320: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 321 27 16 322 11 78 20 - 324: TypeMatrix 26(fvec4) 4 - 326: 114(bool) ConstantTrue - 325: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 27 20 326 - 327(Light): TypeStruct 26(fvec4) 26(fvec4) 26(fvec4) 324 - 330: 6(int) Constant 45 - 331: 6(int) Constant 7 - 328: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 329 27 16 330 331 11 11 12 - 332: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 329 27 16 330 331 11 11 12 - 333: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 329 27 16 330 331 11 11 12 - 336: 6(int) Constant 46 - 334: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 335 325 16 336 331 11 11 12 - 337: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 338 19 16 322 11 18 338 11 12 328 332 333 334 - 339: TypeArray 327(Light) 12 - 340: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 337 12 - 341(UBO): TypeStruct 26(fvec4) 339 180(int) 180(int) - 342: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 329 27 16 330 331 11 11 12 - 345: 6(int) Constant 52 - 343: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 344 340 16 345 148 11 11 12 - 348: 6(int) Constant 54 - 346: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 347 182 16 348 10 11 11 12 - 349: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 347 182 16 348 10 11 11 12 - 350: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 351 19 16 322 11 18 351 11 12 342 343 346 349 - 352: TypePointer Uniform 341(UBO) - 353(ubo): 352(ptr) Variable Uniform - 354: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 355 350 16 322 11 18 355 353(ubo) 148 - 357: TypePointer Uniform 324 - 368: 6(int) Constant 104 - 367: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 229 25 16 368 11 78 20 - 388: 6(int) Constant 117 - 386: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 387 70 16 388 11 15 20 - 390: TypeImage 23(float) 2D sampled format:Unknown - 391: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 137 11 16 388 11 18 138 139 12 - 392: TypeSampledImage 390 - 393: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 142 11 16 388 11 18 143 139 12 - 394: TypePointer UniformConstant 392 -395(samplerposition): 394(ptr) Variable UniformConstant - 396: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 397 393 16 388 11 18 397 395(samplerposition) 148 - 399: TypePointer Input 30(fvec2) - 400(inUV): 399(ptr) Variable Input - 401: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 402 31 16 388 11 18 402 400(inUV) 148 - 409: 6(int) Constant 118 - 407: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 408 70 16 409 11 15 20 -411(samplerNormal): 394(ptr) Variable UniformConstant - 412: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 413 393 16 409 11 18 413 411(samplerNormal) 148 - 421: 6(int) Constant 119 - 419: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 420 27 16 421 11 15 20 -423(samplerAlbedo): 394(ptr) Variable UniformConstant - 424: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 425 393 16 421 11 18 425 423(samplerAlbedo) 148 - 429: TypePointer Uniform 180(int) - 432: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 118 9 21 11 - 444: TypePointer Output 26(fvec4) -445(outFragColor): 444(ptr) Variable Output - 448: 6(int) Constant 125 - 446: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 447 27 16 448 11 18 447 445(outFragColor) 148 - 449: 69(fvec3) ConstantComposite 93 93 93 - 454: TypePointer Output 23(float) - 501: 6(int) Constant 145 - 500: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 83 70 16 501 11 15 20 - 505: 23(float) Constant 1036831949 - 510: 6(int) Constant 147 - 508: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 509 70 16 510 11 15 20 - 516: 6(int) Constant 149 - 515: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 307 182 16 516 11 15 20 - 524: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 118 9 21 11 - 529: 6(int) Constant 152 - 527: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 528 70 16 529 11 15 20 - 532: TypePointer Uniform 26(fvec4) - 540: 6(int) Constant 154 - 539: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 132 25 16 540 11 15 20 - 549: 6(int) Constant 158 - 547: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 548 70 16 549 11 15 20 - 561: 6(int) Constant 161 - 559: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 560 25 16 561 11 15 20 - 563: 23(float) Constant 1064781546 - 567: 6(int) Constant 162 - 565: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 566 25 16 567 11 15 20 - 569: 23(float) Constant 1063781322 - 573: 6(int) Constant 163 - 571: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 572 25 16 573 11 15 20 - 575: 23(float) Constant 1120403456 - 579: 6(int) Constant 166 - 577: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 578 70 16 579 11 15 20 - 594: 6(int) Constant 169 - 592: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 593 25 16 594 11 15 20 - 602: 6(int) Constant 170 - 600: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 601 25 16 602 11 15 20 - 611: 6(int) Constant 171 - 609: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 610 25 16 611 11 15 20 - 619: 6(int) Constant 174 - 617: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 618 25 16 619 11 15 20 - 628: 6(int) Constant 175 - 626: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 627 70 16 628 11 15 20 - 635: 6(int) Constant 178 - 633: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 634 70 16 635 11 15 20 - 644: 6(int) Constant 179 - 642: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 643 25 16 644 11 15 20 - 653: 6(int) Constant 180 - 651: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 652 70 16 653 11 15 20 - 656: 23(float) Constant 1098907648 - 661: 23(float) Constant 1075838976 - 676: 180(int) Constant 2 - 690: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 118 9 21 11 + 88: TypeInt 32 1 + 90: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 89 9 20 11 + 91: TypePointer Private 88(int) + 92(global_var): 91(ptr) Variable Private + 95: 6(int) Constant 41 + 96: 6(int) Constant 8 + 93: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 94 90 16 95 11 18 94 92(global_var) 96 + 97: 88(int) Constant 0 + 101: 6(int) Constant 61 + 100: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 77 25 16 101 11 40 20 + 103: 23(float) Constant 1065353216 + 107: 6(int) Constant 62 + 105: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 106 27 16 107 11 40 20 + 116: 23(float) Constant 1056964608 + 124: TypeBool + 127: 23(float) Constant 3212836864 + 129: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 128 9 21 11 + 135: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 128 9 21 11 + 143: 6(int) Constant 67 + 141: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 142 25 16 143 11 40 20 + 145: TypeImage 23(float) 2D array sampled format:Unknown + 149: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) + 146: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 147 11 16 143 11 18 148 149 12 + 150: TypeSampledImage 145 + 151: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 152 11 16 143 11 18 153 149 12 + 154: TypePointer UniformConstant 150 +155(samplerShadowMap): 154(ptr) Variable UniformConstant + 156: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 157 151 16 143 11 18 157 155(samplerShadowMap) 96 + 171: 23(float) Constant 0 + 172: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 128 9 21 11 + 179: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 128 9 21 11 + 184: 23(float) Constant 1048576000 + 189: TypeVector 88(int) 2 + 190: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 90 21 + 191: TypePointer Function 189(ivec2) + 195: 6(int) Constant 78 + 193: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 194 190 16 195 11 60 20 + 199: TypeVector 88(int) 3 + 200: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 90 12 + 206: 6(int) Constant 79 + 204: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 205 25 16 206 11 60 20 + 208: 23(float) Constant 1069547520 + 212: 6(int) Constant 80 + 210: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 211 25 16 212 11 60 20 + 216: TypePointer Function 88(int) + 224: 6(int) Constant 81 + 222: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 223 25 16 224 11 60 20 + 235: 6(int) Constant 83 + 233: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 234 25 16 235 11 60 20 + 240: 6(int) Constant 84 + 238: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 239 90 16 240 11 60 20 + 245: 6(int) Constant 85 + 243: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 244 90 16 245 11 60 20 + 247: 88(int) Constant 1 + 251: 6(int) Constant 87 + 249: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 250 90 16 251 11 60 20 + 262: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 128 9 21 11 + 267: 6(int) Constant 89 + 265: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 266 90 16 267 11 60 20 + 278: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 128 9 21 11 + 313: 6(int) Constant 100 + 311: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 312 90 16 313 11 78 20 + 321: 88(int) Constant 3 + 322: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 128 9 21 11 + 327: 6(int) Constant 102 + 325: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 326 27 16 327 11 78 20 + 329: TypeMatrix 26(fvec4) 4 + 331: 124(bool) ConstantTrue + 330: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 27 20 331 + 332(Light): TypeStruct 26(fvec4) 26(fvec4) 26(fvec4) 329 + 335: 6(int) Constant 47 + 336: 6(int) Constant 7 + 333: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 334 27 16 335 336 11 11 12 + 337: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 334 27 16 335 336 11 11 12 + 338: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 334 27 16 335 336 11 11 12 + 341: 6(int) Constant 48 + 339: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 340 330 16 341 336 11 11 12 + 342: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 343 19 16 327 11 18 343 11 12 333 337 338 339 + 344: TypeArray 332(Light) 12 + 345: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 342 12 + 346(UBO): TypeStruct 26(fvec4) 344 88(int) 88(int) + 347: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 334 27 16 335 336 11 11 12 + 350: 6(int) Constant 54 + 348: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 349 345 16 350 96 11 11 12 + 353: 6(int) Constant 56 + 351: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 352 90 16 353 10 11 11 12 + 354: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 352 90 16 353 10 11 11 12 + 355: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 356 19 16 327 11 18 356 11 12 347 348 351 354 + 357: TypePointer Uniform 346(UBO) + 358(ubo): 357(ptr) Variable Uniform + 359: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 360 355 16 327 11 18 360 358(ubo) 96 + 362: TypePointer Uniform 329 + 373: 6(int) Constant 106 + 372: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 234 25 16 373 11 78 20 + 393: 6(int) Constant 119 + 391: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 392 70 16 393 11 15 20 + 395: TypeImage 23(float) 2D sampled format:Unknown + 396: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 147 11 16 393 11 18 148 149 12 + 397: TypeSampledImage 395 + 398: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 152 11 16 393 11 18 153 149 12 + 399: TypePointer UniformConstant 397 +400(samplerposition): 399(ptr) Variable UniformConstant + 401: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 402 398 16 393 11 18 402 400(samplerposition) 96 + 404: TypePointer Input 30(fvec2) + 405(inUV): 404(ptr) Variable Input + 406: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 407 31 16 393 11 18 407 405(inUV) 96 + 414: 6(int) Constant 120 + 412: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 413 70 16 414 11 15 20 +416(samplerNormal): 399(ptr) Variable UniformConstant + 417: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 418 398 16 414 11 18 418 416(samplerNormal) 96 + 426: 6(int) Constant 121 + 424: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 425 27 16 426 11 15 20 +428(samplerAlbedo): 399(ptr) Variable UniformConstant + 429: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 430 398 16 426 11 18 430 428(samplerAlbedo) 96 + 434: TypePointer Uniform 88(int) + 437: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 128 9 21 11 + 449: TypePointer Output 26(fvec4) +450(outFragColor): 449(ptr) Variable Output + 453: 6(int) Constant 127 + 451: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 452 27 16 453 11 18 452 450(outFragColor) 96 + 454: 69(fvec3) ConstantComposite 103 103 103 + 459: TypePointer Output 23(float) + 506: 6(int) Constant 147 + 505: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 83 70 16 506 11 15 20 + 510: 23(float) Constant 1036831949 + 515: 6(int) Constant 149 + 513: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 514 70 16 515 11 15 20 + 521: 6(int) Constant 151 + 520: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 312 90 16 521 11 15 20 + 529: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 128 9 21 11 + 534: 6(int) Constant 154 + 532: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 533 70 16 534 11 15 20 + 537: TypePointer Uniform 26(fvec4) + 545: 6(int) Constant 156 + 544: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 142 25 16 545 11 15 20 + 554: 6(int) Constant 160 + 552: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 553 70 16 554 11 15 20 + 566: 6(int) Constant 163 + 564: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 565 25 16 566 11 15 20 + 568: 23(float) Constant 1064781546 + 572: 6(int) Constant 164 + 570: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 571 25 16 572 11 15 20 + 574: 23(float) Constant 1063781322 + 578: 6(int) Constant 165 + 576: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 577 25 16 578 11 15 20 + 580: 23(float) Constant 1120403456 + 584: 6(int) Constant 168 + 582: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 583 70 16 584 11 15 20 + 599: 6(int) Constant 171 + 597: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 598 25 16 599 11 15 20 + 607: 6(int) Constant 172 + 605: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 606 25 16 607 11 15 20 + 616: 6(int) Constant 173 + 614: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 615 25 16 616 11 15 20 + 624: 6(int) Constant 176 + 622: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 623 25 16 624 11 15 20 + 633: 6(int) Constant 177 + 631: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 632 70 16 633 11 15 20 + 640: 6(int) Constant 180 + 638: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 639 70 16 640 11 15 20 + 649: 6(int) Constant 181 + 647: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 648 25 16 649 11 15 20 + 658: 6(int) Constant 182 + 656: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 657 70 16 658 11 15 20 + 661: 23(float) Constant 1098907648 + 666: 23(float) Constant 1075838976 + 681: 88(int) Constant 2 + 695: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 128 9 21 11 13(main): 3 Function None 4 22: Label - 385(fragPos): 71(ptr) Variable Function - 406(normal): 71(ptr) Variable Function - 418(albedo): 28(ptr) Variable Function - 450(param): 71(ptr) Variable Function - 451(param): 71(ptr) Variable Function - 499(fragcolor): 71(ptr) Variable Function - 507(N): 71(ptr) Variable Function - 514(i): 211(ptr) Variable Function - 526(L): 71(ptr) Variable Function - 538(dist): 29(ptr) Variable Function - 546(V): 71(ptr) Variable Function -558(lightCosInnerAngle): 29(ptr) Variable Function -564(lightCosOuterAngle): 29(ptr) Variable Function - 570(lightRange): 29(ptr) Variable Function - 576(dir): 71(ptr) Variable Function - 591(cosDir): 29(ptr) Variable Function - 599(spotEffect): 29(ptr) Variable Function -608(heightAttenuation): 29(ptr) Variable Function - 616(NdotL): 29(ptr) Variable Function - 625(diff): 71(ptr) Variable Function - 632(R): 71(ptr) Variable Function - 641(NdotR): 29(ptr) Variable Function - 650(spec): 71(ptr) Variable Function - 694(param): 71(ptr) Variable Function - 696(param): 71(ptr) Variable Function - 384: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 15 13(main) - 389: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 386 385(fragPos) 47 - 398: 392 Load 395(samplerposition) - 403: 30(fvec2) Load 400(inUV) - 404: 26(fvec4) ImageSampleImplicitLod 398 403 - 405: 69(fvec3) VectorShuffle 404 404 0 1 2 - Store 385(fragPos) 405 - 410: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 407 406(normal) 47 - 414: 392 Load 411(samplerNormal) - 415: 30(fvec2) Load 400(inUV) - 416: 26(fvec4) ImageSampleImplicitLod 414 415 - 417: 69(fvec3) VectorShuffle 416 416 0 1 2 - Store 406(normal) 417 - 422: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 419 418(albedo) 47 - 426: 392 Load 423(samplerAlbedo) - 427: 30(fvec2) Load 400(inUV) - 428: 26(fvec4) ImageSampleImplicitLod 426 427 - Store 418(albedo) 428 - 430: 429(ptr) AccessChain 353(ubo) 316 - 431: 180(int) Load 430 - 433: 114(bool) SGreaterThan 431 192 - SelectionMerge 435 None - BranchConditional 433 434 435 - 434: Label - 436: 429(ptr) AccessChain 353(ubo) 316 - 437: 180(int) Load 436 - SelectionMerge 443 None - Switch 437 443 - case 1: 438 - case 2: 439 - case 3: 440 - case 4: 441 - case 5: 442 - 438: Label - Store 450(param) 449 - 452: 69(fvec3) Load 385(fragPos) - Store 451(param) 452 - 453: 69(fvec3) FunctionCall 76(shadow(vf3;vf3;) 450(param) 451(param) - 455: 454(ptr) AccessChain 445(outFragColor) 11 - 456: 23(float) CompositeExtract 453 0 - Store 455 456 - 457: 454(ptr) AccessChain 445(outFragColor) 19 - 458: 23(float) CompositeExtract 453 1 - Store 457 458 - 459: 454(ptr) AccessChain 445(outFragColor) 21 - 460: 23(float) CompositeExtract 453 2 - Store 459 460 - Branch 443 - 439: Label - 462: 69(fvec3) Load 385(fragPos) - 463: 454(ptr) AccessChain 445(outFragColor) 11 - 464: 23(float) CompositeExtract 462 0 - Store 463 464 - 465: 454(ptr) AccessChain 445(outFragColor) 19 - 466: 23(float) CompositeExtract 462 1 - Store 465 466 - 467: 454(ptr) AccessChain 445(outFragColor) 21 - 468: 23(float) CompositeExtract 462 2 - Store 467 468 - Branch 443 - 440: Label - 470: 69(fvec3) Load 406(normal) - 471: 454(ptr) AccessChain 445(outFragColor) 11 - 472: 23(float) CompositeExtract 470 0 - Store 471 472 - 473: 454(ptr) AccessChain 445(outFragColor) 19 - 474: 23(float) CompositeExtract 470 1 - Store 473 474 - 475: 454(ptr) AccessChain 445(outFragColor) 21 - 476: 23(float) CompositeExtract 470 2 - Store 475 476 - Branch 443 - 441: Label - 478: 26(fvec4) Load 418(albedo) - 479: 69(fvec3) VectorShuffle 478 478 0 1 2 - 480: 454(ptr) AccessChain 445(outFragColor) 11 - 481: 23(float) CompositeExtract 479 0 + 390(fragPos): 71(ptr) Variable Function + 411(normal): 71(ptr) Variable Function + 423(albedo): 28(ptr) Variable Function + 455(param): 71(ptr) Variable Function + 456(param): 71(ptr) Variable Function + 504(fragcolor): 71(ptr) Variable Function + 512(N): 71(ptr) Variable Function + 519(i): 216(ptr) Variable Function + 531(L): 71(ptr) Variable Function + 543(dist): 29(ptr) Variable Function + 551(V): 71(ptr) Variable Function +563(lightCosInnerAngle): 29(ptr) Variable Function +569(lightCosOuterAngle): 29(ptr) Variable Function + 575(lightRange): 29(ptr) Variable Function + 581(dir): 71(ptr) Variable Function + 596(cosDir): 29(ptr) Variable Function + 604(spotEffect): 29(ptr) Variable Function +613(heightAttenuation): 29(ptr) Variable Function + 621(NdotL): 29(ptr) Variable Function + 630(diff): 71(ptr) Variable Function + 637(R): 71(ptr) Variable Function + 646(NdotR): 29(ptr) Variable Function + 655(spec): 71(ptr) Variable Function + 699(param): 71(ptr) Variable Function + 701(param): 71(ptr) Variable Function + Store 92(global_var) 97 + 389: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 15 13(main) + 394: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 391 390(fragPos) 47 + 403: 397 Load 400(samplerposition) + 408: 30(fvec2) Load 405(inUV) + 409: 26(fvec4) ImageSampleImplicitLod 403 408 + 410: 69(fvec3) VectorShuffle 409 409 0 1 2 + Store 390(fragPos) 410 + 415: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 412 411(normal) 47 + 419: 397 Load 416(samplerNormal) + 420: 30(fvec2) Load 405(inUV) + 421: 26(fvec4) ImageSampleImplicitLod 419 420 + 422: 69(fvec3) VectorShuffle 421 421 0 1 2 + Store 411(normal) 422 + 427: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 424 423(albedo) 47 + 431: 397 Load 428(samplerAlbedo) + 432: 30(fvec2) Load 405(inUV) + 433: 26(fvec4) ImageSampleImplicitLod 431 432 + Store 423(albedo) 433 + 435: 434(ptr) AccessChain 358(ubo) 321 + 436: 88(int) Load 435 + 438: 124(bool) SGreaterThan 436 97 + SelectionMerge 440 None + BranchConditional 438 439 440 + 439: Label + 441: 434(ptr) AccessChain 358(ubo) 321 + 442: 88(int) Load 441 + SelectionMerge 448 None + Switch 442 448 + case 1: 443 + case 2: 444 + case 3: 445 + case 4: 446 + case 5: 447 + 443: Label + Store 455(param) 454 + 457: 69(fvec3) Load 390(fragPos) + Store 456(param) 457 + 458: 69(fvec3) FunctionCall 76(shadow(vf3;vf3;) 455(param) 456(param) + 460: 459(ptr) AccessChain 450(outFragColor) 11 + 461: 23(float) CompositeExtract 458 0 + Store 460 461 + 462: 459(ptr) AccessChain 450(outFragColor) 19 + 463: 23(float) CompositeExtract 458 1 + Store 462 463 + 464: 459(ptr) AccessChain 450(outFragColor) 21 + 465: 23(float) CompositeExtract 458 2 + Store 464 465 + Branch 448 + 444: Label + 467: 69(fvec3) Load 390(fragPos) + 468: 459(ptr) AccessChain 450(outFragColor) 11 + 469: 23(float) CompositeExtract 467 0 + Store 468 469 + 470: 459(ptr) AccessChain 450(outFragColor) 19 + 471: 23(float) CompositeExtract 467 1 + Store 470 471 + 472: 459(ptr) AccessChain 450(outFragColor) 21 + 473: 23(float) CompositeExtract 467 2 + Store 472 473 + Branch 448 + 445: Label + 475: 69(fvec3) Load 411(normal) + 476: 459(ptr) AccessChain 450(outFragColor) 11 + 477: 23(float) CompositeExtract 475 0 + Store 476 477 + 478: 459(ptr) AccessChain 450(outFragColor) 19 + 479: 23(float) CompositeExtract 475 1 + Store 478 479 + 480: 459(ptr) AccessChain 450(outFragColor) 21 + 481: 23(float) CompositeExtract 475 2 Store 480 481 - 482: 454(ptr) AccessChain 445(outFragColor) 19 - 483: 23(float) CompositeExtract 479 1 - Store 482 483 - 484: 454(ptr) AccessChain 445(outFragColor) 21 - 485: 23(float) CompositeExtract 479 2 - Store 484 485 - Branch 443 - 442: Label - 487: 26(fvec4) Load 418(albedo) - 488: 69(fvec3) VectorShuffle 487 487 3 3 3 - 489: 454(ptr) AccessChain 445(outFragColor) 11 - 490: 23(float) CompositeExtract 488 0 + Branch 448 + 446: Label + 483: 26(fvec4) Load 423(albedo) + 484: 69(fvec3) VectorShuffle 483 483 0 1 2 + 485: 459(ptr) AccessChain 450(outFragColor) 11 + 486: 23(float) CompositeExtract 484 0 + Store 485 486 + 487: 459(ptr) AccessChain 450(outFragColor) 19 + 488: 23(float) CompositeExtract 484 1 + Store 487 488 + 489: 459(ptr) AccessChain 450(outFragColor) 21 + 490: 23(float) CompositeExtract 484 2 Store 489 490 - 491: 454(ptr) AccessChain 445(outFragColor) 19 - 492: 23(float) CompositeExtract 488 1 - Store 491 492 - 493: 454(ptr) AccessChain 445(outFragColor) 21 - 494: 23(float) CompositeExtract 488 2 - Store 493 494 - Branch 443 - 443: Label - 497: 454(ptr) AccessChain 445(outFragColor) 12 - Store 497 93 + Branch 448 + 447: Label + 492: 26(fvec4) Load 423(albedo) + 493: 69(fvec3) VectorShuffle 492 492 3 3 3 + 494: 459(ptr) AccessChain 450(outFragColor) 11 + 495: 23(float) CompositeExtract 493 0 + Store 494 495 + 496: 459(ptr) AccessChain 450(outFragColor) 19 + 497: 23(float) CompositeExtract 493 1 + Store 496 497 + 498: 459(ptr) AccessChain 450(outFragColor) 21 + 499: 23(float) CompositeExtract 493 2 + Store 498 499 + Branch 448 + 448: Label + 502: 459(ptr) AccessChain 450(outFragColor) 12 + Store 502 103 Return - 435: Label - 502: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 500 499(fragcolor) 47 - 503: 26(fvec4) Load 418(albedo) - 504: 69(fvec3) VectorShuffle 503 503 0 1 2 - 506: 69(fvec3) VectorTimesScalar 504 505 - Store 499(fragcolor) 506 - 511: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 508 507(N) 47 - 512: 69(fvec3) Load 406(normal) - 513: 69(fvec3) ExtInst 2(GLSL.std.450) 69(Normalize) 512 - Store 507(N) 513 - 517: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 515 514(i) 47 - Store 514(i) 192 - Branch 518 - 518: Label - LoopMerge 520 521 None - Branch 522 - 522: Label - 523: 180(int) Load 514(i) - 525: 114(bool) SLessThan 523 316 - BranchConditional 525 519 520 - 519: Label - 530: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 527 526(L) 47 - 531: 180(int) Load 514(i) - 533: 532(ptr) AccessChain 353(ubo) 242 531 192 - 534: 26(fvec4) Load 533 - 535: 69(fvec3) VectorShuffle 534 534 0 1 2 - 536: 69(fvec3) Load 385(fragPos) - 537: 69(fvec3) FSub 535 536 - Store 526(L) 537 - 541: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 539 538(dist) 47 - 542: 69(fvec3) Load 526(L) - 543: 23(float) ExtInst 2(GLSL.std.450) 66(Length) 542 - Store 538(dist) 543 - 544: 69(fvec3) Load 526(L) - 545: 69(fvec3) ExtInst 2(GLSL.std.450) 69(Normalize) 544 - Store 526(L) 545 - 550: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 547 546(V) 47 - 551: 532(ptr) AccessChain 353(ubo) 192 - 552: 26(fvec4) Load 551 - 553: 69(fvec3) VectorShuffle 552 552 0 1 2 - 554: 69(fvec3) Load 385(fragPos) - 555: 69(fvec3) FSub 553 554 - Store 546(V) 555 - 556: 69(fvec3) Load 546(V) - 557: 69(fvec3) ExtInst 2(GLSL.std.450) 69(Normalize) 556 - Store 546(V) 557 - 562: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 559 558(lightCosInnerAngle) 47 - Store 558(lightCosInnerAngle) 563 - 568: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 565 564(lightCosOuterAngle) 47 - Store 564(lightCosOuterAngle) 569 - 574: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 571 570(lightRange) 47 - Store 570(lightRange) 575 - 580: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 577 576(dir) 47 - 581: 180(int) Load 514(i) - 582: 532(ptr) AccessChain 353(ubo) 242 581 192 - 583: 26(fvec4) Load 582 - 584: 69(fvec3) VectorShuffle 583 583 0 1 2 - 585: 180(int) Load 514(i) - 586: 532(ptr) AccessChain 353(ubo) 242 585 242 - 587: 26(fvec4) Load 586 - 588: 69(fvec3) VectorShuffle 587 587 0 1 2 - 589: 69(fvec3) FSub 584 588 - 590: 69(fvec3) ExtInst 2(GLSL.std.450) 69(Normalize) 589 - Store 576(dir) 590 - 595: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 592 591(cosDir) 47 - 596: 69(fvec3) Load 526(L) - 597: 69(fvec3) Load 576(dir) - 598: 23(float) Dot 596 597 - Store 591(cosDir) 598 - 603: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 600 599(spotEffect) 47 - 604: 23(float) Load 564(lightCosOuterAngle) - 605: 23(float) Load 558(lightCosInnerAngle) - 606: 23(float) Load 591(cosDir) - 607: 23(float) ExtInst 2(GLSL.std.450) 49(SmoothStep) 604 605 606 - Store 599(spotEffect) 607 - 612: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 609 608(heightAttenuation) 47 - 613: 23(float) Load 570(lightRange) - 614: 23(float) Load 538(dist) - 615: 23(float) ExtInst 2(GLSL.std.450) 49(SmoothStep) 613 162 614 - Store 608(heightAttenuation) 615 - 620: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 617 616(NdotL) 47 - 621: 69(fvec3) Load 507(N) - 622: 69(fvec3) Load 526(L) - 623: 23(float) Dot 621 622 - 624: 23(float) ExtInst 2(GLSL.std.450) 40(FMax) 162 623 - Store 616(NdotL) 624 - 629: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 626 625(diff) 47 - 630: 23(float) Load 616(NdotL) - 631: 69(fvec3) CompositeConstruct 630 630 630 - Store 625(diff) 631 - 636: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 633 632(R) 47 - 637: 69(fvec3) Load 526(L) - 638: 69(fvec3) FNegate 637 - 639: 69(fvec3) Load 507(N) - 640: 69(fvec3) ExtInst 2(GLSL.std.450) 71(Reflect) 638 639 - Store 632(R) 640 - 645: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 642 641(NdotR) 47 - 646: 69(fvec3) Load 632(R) - 647: 69(fvec3) Load 546(V) - 648: 23(float) Dot 646 647 - 649: 23(float) ExtInst 2(GLSL.std.450) 40(FMax) 162 648 - Store 641(NdotR) 649 - 654: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 651 650(spec) 47 - 655: 23(float) Load 641(NdotR) - 657: 23(float) ExtInst 2(GLSL.std.450) 26(Pow) 655 656 - 658: 29(ptr) AccessChain 418(albedo) 12 - 659: 23(float) Load 658 - 660: 23(float) FMul 657 659 - 662: 23(float) FMul 660 661 - 663: 69(fvec3) CompositeConstruct 662 662 662 - Store 650(spec) 663 - 664: 69(fvec3) Load 625(diff) - 665: 69(fvec3) Load 650(spec) - 666: 69(fvec3) FAdd 664 665 - 667: 23(float) Load 599(spotEffect) - 668: 69(fvec3) VectorTimesScalar 666 667 - 669: 23(float) Load 608(heightAttenuation) - 670: 69(fvec3) VectorTimesScalar 668 669 - 671: 23(float) CompositeExtract 670 0 - 672: 23(float) CompositeExtract 670 1 - 673: 23(float) CompositeExtract 670 2 - 674: 69(fvec3) CompositeConstruct 671 672 673 - 675: 180(int) Load 514(i) - 677: 532(ptr) AccessChain 353(ubo) 242 675 676 - 678: 26(fvec4) Load 677 - 679: 69(fvec3) VectorShuffle 678 678 0 1 2 - 680: 69(fvec3) FMul 674 679 - 681: 26(fvec4) Load 418(albedo) - 682: 69(fvec3) VectorShuffle 681 681 0 1 2 - 683: 69(fvec3) FMul 680 682 - 684: 69(fvec3) Load 499(fragcolor) - 685: 69(fvec3) FAdd 684 683 - Store 499(fragcolor) 685 - Branch 521 - 521: Label - 686: 180(int) Load 514(i) - 687: 180(int) IAdd 686 242 - Store 514(i) 687 - Branch 518 - 520: Label - 688: 429(ptr) AccessChain 353(ubo) 676 - 689: 180(int) Load 688 - 691: 114(bool) SGreaterThan 689 192 - SelectionMerge 693 None - BranchConditional 691 692 693 - 692: Label - 695: 69(fvec3) Load 499(fragcolor) - Store 694(param) 695 - 697: 69(fvec3) Load 385(fragPos) - Store 696(param) 697 - 698: 69(fvec3) FunctionCall 76(shadow(vf3;vf3;) 694(param) 696(param) - Store 499(fragcolor) 698 - Branch 693 - 693: Label - 699: 69(fvec3) Load 499(fragcolor) - 700: 23(float) CompositeExtract 699 0 - 701: 23(float) CompositeExtract 699 1 - 702: 23(float) CompositeExtract 699 2 - 703: 26(fvec4) CompositeConstruct 700 701 702 93 - Store 445(outFragColor) 703 + 440: Label + 507: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 505 504(fragcolor) 47 + 508: 26(fvec4) Load 423(albedo) + 509: 69(fvec3) VectorShuffle 508 508 0 1 2 + 511: 69(fvec3) VectorTimesScalar 509 510 + Store 504(fragcolor) 511 + 516: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 513 512(N) 47 + 517: 69(fvec3) Load 411(normal) + 518: 69(fvec3) ExtInst 2(GLSL.std.450) 69(Normalize) 517 + Store 512(N) 518 + 522: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 520 519(i) 47 + Store 519(i) 97 + Branch 523 + 523: Label + LoopMerge 525 526 None + Branch 527 + 527: Label + 528: 88(int) Load 519(i) + 530: 124(bool) SLessThan 528 321 + BranchConditional 530 524 525 + 524: Label + 535: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 532 531(L) 47 + 536: 88(int) Load 519(i) + 538: 537(ptr) AccessChain 358(ubo) 247 536 97 + 539: 26(fvec4) Load 538 + 540: 69(fvec3) VectorShuffle 539 539 0 1 2 + 541: 69(fvec3) Load 390(fragPos) + 542: 69(fvec3) FSub 540 541 + Store 531(L) 542 + 546: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 544 543(dist) 47 + 547: 69(fvec3) Load 531(L) + 548: 23(float) ExtInst 2(GLSL.std.450) 66(Length) 547 + Store 543(dist) 548 + 549: 69(fvec3) Load 531(L) + 550: 69(fvec3) ExtInst 2(GLSL.std.450) 69(Normalize) 549 + Store 531(L) 550 + 555: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 552 551(V) 47 + 556: 537(ptr) AccessChain 358(ubo) 97 + 557: 26(fvec4) Load 556 + 558: 69(fvec3) VectorShuffle 557 557 0 1 2 + 559: 69(fvec3) Load 390(fragPos) + 560: 69(fvec3) FSub 558 559 + Store 551(V) 560 + 561: 69(fvec3) Load 551(V) + 562: 69(fvec3) ExtInst 2(GLSL.std.450) 69(Normalize) 561 + Store 551(V) 562 + 567: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 564 563(lightCosInnerAngle) 47 + Store 563(lightCosInnerAngle) 568 + 573: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 570 569(lightCosOuterAngle) 47 + Store 569(lightCosOuterAngle) 574 + 579: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 576 575(lightRange) 47 + Store 575(lightRange) 580 + 585: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 582 581(dir) 47 + 586: 88(int) Load 519(i) + 587: 537(ptr) AccessChain 358(ubo) 247 586 97 + 588: 26(fvec4) Load 587 + 589: 69(fvec3) VectorShuffle 588 588 0 1 2 + 590: 88(int) Load 519(i) + 591: 537(ptr) AccessChain 358(ubo) 247 590 247 + 592: 26(fvec4) Load 591 + 593: 69(fvec3) VectorShuffle 592 592 0 1 2 + 594: 69(fvec3) FSub 589 593 + 595: 69(fvec3) ExtInst 2(GLSL.std.450) 69(Normalize) 594 + Store 581(dir) 595 + 600: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 597 596(cosDir) 47 + 601: 69(fvec3) Load 531(L) + 602: 69(fvec3) Load 581(dir) + 603: 23(float) Dot 601 602 + Store 596(cosDir) 603 + 608: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 605 604(spotEffect) 47 + 609: 23(float) Load 569(lightCosOuterAngle) + 610: 23(float) Load 563(lightCosInnerAngle) + 611: 23(float) Load 596(cosDir) + 612: 23(float) ExtInst 2(GLSL.std.450) 49(SmoothStep) 609 610 611 + Store 604(spotEffect) 612 + 617: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 614 613(heightAttenuation) 47 + 618: 23(float) Load 575(lightRange) + 619: 23(float) Load 543(dist) + 620: 23(float) ExtInst 2(GLSL.std.450) 49(SmoothStep) 618 171 619 + Store 613(heightAttenuation) 620 + 625: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 622 621(NdotL) 47 + 626: 69(fvec3) Load 512(N) + 627: 69(fvec3) Load 531(L) + 628: 23(float) Dot 626 627 + 629: 23(float) ExtInst 2(GLSL.std.450) 40(FMax) 171 628 + Store 621(NdotL) 629 + 634: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 631 630(diff) 47 + 635: 23(float) Load 621(NdotL) + 636: 69(fvec3) CompositeConstruct 635 635 635 + Store 630(diff) 636 + 641: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 638 637(R) 47 + 642: 69(fvec3) Load 531(L) + 643: 69(fvec3) FNegate 642 + 644: 69(fvec3) Load 512(N) + 645: 69(fvec3) ExtInst 2(GLSL.std.450) 71(Reflect) 643 644 + Store 637(R) 645 + 650: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 647 646(NdotR) 47 + 651: 69(fvec3) Load 637(R) + 652: 69(fvec3) Load 551(V) + 653: 23(float) Dot 651 652 + 654: 23(float) ExtInst 2(GLSL.std.450) 40(FMax) 171 653 + Store 646(NdotR) 654 + 659: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 656 655(spec) 47 + 660: 23(float) Load 646(NdotR) + 662: 23(float) ExtInst 2(GLSL.std.450) 26(Pow) 660 661 + 663: 29(ptr) AccessChain 423(albedo) 12 + 664: 23(float) Load 663 + 665: 23(float) FMul 662 664 + 667: 23(float) FMul 665 666 + 668: 69(fvec3) CompositeConstruct 667 667 667 + Store 655(spec) 668 + 669: 69(fvec3) Load 630(diff) + 670: 69(fvec3) Load 655(spec) + 671: 69(fvec3) FAdd 669 670 + 672: 23(float) Load 604(spotEffect) + 673: 69(fvec3) VectorTimesScalar 671 672 + 674: 23(float) Load 613(heightAttenuation) + 675: 69(fvec3) VectorTimesScalar 673 674 + 676: 23(float) CompositeExtract 675 0 + 677: 23(float) CompositeExtract 675 1 + 678: 23(float) CompositeExtract 675 2 + 679: 69(fvec3) CompositeConstruct 676 677 678 + 680: 88(int) Load 519(i) + 682: 537(ptr) AccessChain 358(ubo) 247 680 681 + 683: 26(fvec4) Load 682 + 684: 69(fvec3) VectorShuffle 683 683 0 1 2 + 685: 69(fvec3) FMul 679 684 + 686: 26(fvec4) Load 423(albedo) + 687: 69(fvec3) VectorShuffle 686 686 0 1 2 + 688: 69(fvec3) FMul 685 687 + 689: 69(fvec3) Load 504(fragcolor) + 690: 69(fvec3) FAdd 689 688 + Store 504(fragcolor) 690 + Branch 526 + 526: Label + 691: 88(int) Load 519(i) + 692: 88(int) IAdd 691 247 + Store 519(i) 692 + Branch 523 + 525: Label + 693: 434(ptr) AccessChain 358(ubo) 681 + 694: 88(int) Load 693 + 696: 124(bool) SGreaterThan 694 97 + SelectionMerge 698 None + BranchConditional 696 697 698 + 697: Label + 700: 69(fvec3) Load 504(fragcolor) + Store 699(param) 700 + 702: 69(fvec3) Load 390(fragPos) + Store 701(param) 702 + 703: 69(fvec3) FunctionCall 76(shadow(vf3;vf3;) 699(param) 701(param) + Store 504(fragcolor) 703 + Branch 698 + 698: Label + 704: 69(fvec3) Load 504(fragcolor) + 705: 23(float) CompositeExtract 704 0 + 706: 23(float) CompositeExtract 704 1 + 707: 23(float) CompositeExtract 704 2 + 708: 26(fvec4) CompositeConstruct 705 706 707 103 + Store 450(outFragColor) 708 Return FunctionEnd 38(textureProj(vf4;f1;vf2;): 23(float) Function None 33 @@ -676,262 +683,262 @@ Validation failed 36(layer): 29(ptr) FunctionParameter 37(offset): 32(ptr) FunctionParameter 41: Label - 89(shadow): 29(ptr) Variable Function - 94(shadowCoord): 28(ptr) Variable Function - 130(dist): 29(ptr) Variable Function + 99(shadow): 29(ptr) Variable Function +104(shadowCoord): 28(ptr) Variable Function + 140(dist): 29(ptr) Variable Function 42: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 43: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 16 11 11 11 11 46: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 44 35(P) 47 50: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 48 36(layer) 47 53: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 51 37(offset) 47 - 88: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 40 38(textureProj(vf4;f1;vf2;) - 92: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 90 89(shadow) 47 - Store 89(shadow) 93 - 98: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 95 94(shadowCoord) 47 - 99: 26(fvec4) Load 35(P) - 100: 29(ptr) AccessChain 35(P) 12 - 101: 23(float) Load 100 - 102: 26(fvec4) CompositeConstruct 101 101 101 101 - 103: 26(fvec4) FDiv 99 102 - Store 94(shadowCoord) 103 - 104: 26(fvec4) Load 94(shadowCoord) - 105: 30(fvec2) VectorShuffle 104 104 0 1 - 107: 30(fvec2) VectorTimesScalar 105 106 - 108: 30(fvec2) CompositeConstruct 106 106 - 109: 30(fvec2) FAdd 107 108 - 110: 29(ptr) AccessChain 94(shadowCoord) 11 - 111: 23(float) CompositeExtract 109 0 - Store 110 111 - 112: 29(ptr) AccessChain 94(shadowCoord) 19 - 113: 23(float) CompositeExtract 109 1 - Store 112 113 - 115: 29(ptr) AccessChain 94(shadowCoord) 21 - 116: 23(float) Load 115 - 120: 114(bool) FOrdGreaterThan 116 117 - SelectionMerge 122 None - BranchConditional 120 121 122 - 121: Label - 123: 29(ptr) AccessChain 94(shadowCoord) 21 - 124: 23(float) Load 123 - 126: 114(bool) FOrdLessThan 124 93 - Branch 122 - 122: Label - 127: 114(bool) Phi 120 41 126 121 - SelectionMerge 129 None - BranchConditional 127 128 129 - 128: Label - 134: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 131 130(dist) 47 - 149: 140 Load 145(samplerShadowMap) - 150: 26(fvec4) Load 94(shadowCoord) - 151: 30(fvec2) VectorShuffle 150 150 0 1 - 152: 30(fvec2) Load 37(offset) - 153: 30(fvec2) FAdd 151 152 - 154: 23(float) Load 36(layer) - 155: 23(float) CompositeExtract 153 0 - 156: 23(float) CompositeExtract 153 1 - 157: 69(fvec3) CompositeConstruct 155 156 154 - 158: 26(fvec4) ImageSampleImplicitLod 149 157 - 159: 23(float) CompositeExtract 158 0 - Store 130(dist) 159 - 160: 29(ptr) AccessChain 94(shadowCoord) 12 - 161: 23(float) Load 160 - 164: 114(bool) FOrdGreaterThan 161 162 - SelectionMerge 166 None - BranchConditional 164 165 166 - 165: Label - 167: 23(float) Load 130(dist) - 168: 29(ptr) AccessChain 94(shadowCoord) 21 - 169: 23(float) Load 168 - 171: 114(bool) FOrdLessThan 167 169 - Branch 166 - 166: Label - 172: 114(bool) Phi 164 128 171 165 - SelectionMerge 174 None - BranchConditional 172 173 174 - 173: Label - Store 89(shadow) 175 - Branch 174 - 174: Label - Branch 129 - 129: Label - 176: 23(float) Load 89(shadow) - ReturnValue 176 + 98: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 40 38(textureProj(vf4;f1;vf2;) + 102: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 100 99(shadow) 47 + Store 99(shadow) 103 + 108: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 105 104(shadowCoord) 47 + 109: 26(fvec4) Load 35(P) + 110: 29(ptr) AccessChain 35(P) 12 + 111: 23(float) Load 110 + 112: 26(fvec4) CompositeConstruct 111 111 111 111 + 113: 26(fvec4) FDiv 109 112 + Store 104(shadowCoord) 113 + 114: 26(fvec4) Load 104(shadowCoord) + 115: 30(fvec2) VectorShuffle 114 114 0 1 + 117: 30(fvec2) VectorTimesScalar 115 116 + 118: 30(fvec2) CompositeConstruct 116 116 + 119: 30(fvec2) FAdd 117 118 + 120: 29(ptr) AccessChain 104(shadowCoord) 11 + 121: 23(float) CompositeExtract 119 0 + Store 120 121 + 122: 29(ptr) AccessChain 104(shadowCoord) 19 + 123: 23(float) CompositeExtract 119 1 + Store 122 123 + 125: 29(ptr) AccessChain 104(shadowCoord) 21 + 126: 23(float) Load 125 + 130: 124(bool) FOrdGreaterThan 126 127 + SelectionMerge 132 None + BranchConditional 130 131 132 + 131: Label + 133: 29(ptr) AccessChain 104(shadowCoord) 21 + 134: 23(float) Load 133 + 136: 124(bool) FOrdLessThan 134 103 + Branch 132 + 132: Label + 137: 124(bool) Phi 130 41 136 131 + SelectionMerge 139 None + BranchConditional 137 138 139 + 138: Label + 144: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 141 140(dist) 47 + 158: 150 Load 155(samplerShadowMap) + 159: 26(fvec4) Load 104(shadowCoord) + 160: 30(fvec2) VectorShuffle 159 159 0 1 + 161: 30(fvec2) Load 37(offset) + 162: 30(fvec2) FAdd 160 161 + 163: 23(float) Load 36(layer) + 164: 23(float) CompositeExtract 162 0 + 165: 23(float) CompositeExtract 162 1 + 166: 69(fvec3) CompositeConstruct 164 165 163 + 167: 26(fvec4) ImageSampleImplicitLod 158 166 + 168: 23(float) CompositeExtract 167 0 + Store 140(dist) 168 + 169: 29(ptr) AccessChain 104(shadowCoord) 12 + 170: 23(float) Load 169 + 173: 124(bool) FOrdGreaterThan 170 171 + SelectionMerge 175 None + BranchConditional 173 174 175 + 174: Label + 176: 23(float) Load 140(dist) + 177: 29(ptr) AccessChain 104(shadowCoord) 21 + 178: 23(float) Load 177 + 180: 124(bool) FOrdLessThan 176 178 + Branch 175 + 175: Label + 181: 124(bool) Phi 173 138 180 174 + SelectionMerge 183 None + BranchConditional 181 182 183 + 182: Label + Store 99(shadow) 184 + Branch 183 + 183: Label + Branch 139 + 139: Label + 185: 23(float) Load 99(shadow) + ReturnValue 185 FunctionEnd 58(filterPCF(vf4;f1;): 23(float) Function None 54 56(sc): 28(ptr) FunctionParameter 57(layer): 29(ptr) FunctionParameter 61: Label - 186(texDim): 185(ptr) Variable Function - 198(scale): 29(ptr) Variable Function - 204(dx): 29(ptr) Variable Function - 216(dy): 29(ptr) Variable Function -227(shadowFactor): 29(ptr) Variable Function - 232(count): 211(ptr) Variable Function - 237(range): 211(ptr) Variable Function - 243(x): 211(ptr) Variable Function - 259(y): 211(ptr) Variable Function - 284(param): 28(ptr) Variable Function - 286(param): 29(ptr) Variable Function - 288(param): 32(ptr) Variable Function + 192(texDim): 191(ptr) Variable Function + 203(scale): 29(ptr) Variable Function + 209(dx): 29(ptr) Variable Function + 221(dy): 29(ptr) Variable Function +232(shadowFactor): 29(ptr) Variable Function + 237(count): 216(ptr) Variable Function + 242(range): 216(ptr) Variable Function + 248(x): 216(ptr) Variable Function + 264(y): 216(ptr) Variable Function + 289(param): 28(ptr) Variable Function + 291(param): 29(ptr) Variable Function + 293(param): 32(ptr) Variable Function 62: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 60 63: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 16 11 11 11 11 66: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 64 56(sc) 47 68: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 67 57(layer) 47 - 179: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 60 58(filterPCF(vf4;f1;) - 190: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 187 186(texDim) 47 - 191: 140 Load 145(samplerShadowMap) - 193: 135 Image 191 - 196: 194(ivec3) ImageQuerySizeLod 193 192 - 197: 183(ivec2) VectorShuffle 196 196 0 1 - Store 186(texDim) 197 - 202: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 199 198(scale) 47 - Store 198(scale) 203 - 208: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 205 204(dx) 47 - 209: 23(float) Load 198(scale) - 210: 23(float) FMul 209 93 - 212: 211(ptr) AccessChain 186(texDim) 11 - 213: 180(int) Load 212 - 214: 23(float) ConvertSToF 213 - 215: 23(float) FDiv 210 214 - Store 204(dx) 215 - 220: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 217 216(dy) 47 - 221: 23(float) Load 198(scale) - 222: 23(float) FMul 221 93 - 223: 211(ptr) AccessChain 186(texDim) 19 - 224: 180(int) Load 223 - 225: 23(float) ConvertSToF 224 - 226: 23(float) FDiv 222 225 - Store 216(dy) 226 - 231: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 228 227(shadowFactor) 47 - Store 227(shadowFactor) 162 - 236: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 233 232(count) 47 - Store 232(count) 192 - 241: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 238 237(range) 47 - Store 237(range) 242 - 247: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 244 243(x) 47 - 248: 180(int) Load 237(range) - 249: 180(int) SNegate 248 - Store 243(x) 249 - Branch 250 - 250: Label - LoopMerge 252 253 None - Branch 254 - 254: Label - 255: 180(int) Load 243(x) - 256: 180(int) Load 237(range) - 258: 114(bool) SLessThanEqual 255 256 - BranchConditional 258 251 252 - 251: Label - 263: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 260 259(y) 47 - 264: 180(int) Load 237(range) - 265: 180(int) SNegate 264 - Store 259(y) 265 - Branch 266 - 266: Label - LoopMerge 268 269 None - Branch 270 - 270: Label - 271: 180(int) Load 259(y) - 272: 180(int) Load 237(range) - 274: 114(bool) SLessThanEqual 271 272 - BranchConditional 274 267 268 - 267: Label - 275: 23(float) Load 204(dx) - 276: 180(int) Load 243(x) - 277: 23(float) ConvertSToF 276 - 278: 23(float) FMul 275 277 - 279: 23(float) Load 216(dy) - 280: 180(int) Load 259(y) - 281: 23(float) ConvertSToF 280 - 282: 23(float) FMul 279 281 - 283: 30(fvec2) CompositeConstruct 278 282 - 285: 26(fvec4) Load 56(sc) - Store 284(param) 285 - 287: 23(float) Load 57(layer) - Store 286(param) 287 - Store 288(param) 283 - 289: 23(float) FunctionCall 38(textureProj(vf4;f1;vf2;) 284(param) 286(param) 288(param) - 290: 23(float) Load 227(shadowFactor) - 291: 23(float) FAdd 290 289 - Store 227(shadowFactor) 291 - 292: 180(int) Load 232(count) - 293: 180(int) IAdd 292 242 - Store 232(count) 293 - Branch 269 - 269: Label - 294: 180(int) Load 259(y) - 295: 180(int) IAdd 294 242 - Store 259(y) 295 - Branch 266 - 268: Label - Branch 253 - 253: Label - 296: 180(int) Load 243(x) - 297: 180(int) IAdd 296 242 - Store 243(x) 297 - Branch 250 - 252: Label - 298: 23(float) Load 227(shadowFactor) - 299: 180(int) Load 232(count) - 300: 23(float) ConvertSToF 299 - 301: 23(float) FDiv 298 300 - ReturnValue 301 + 188: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 60 58(filterPCF(vf4;f1;) + 196: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 193 192(texDim) 47 + 197: 150 Load 155(samplerShadowMap) + 198: 145 Image 197 + 201: 199(ivec3) ImageQuerySizeLod 198 97 + 202: 189(ivec2) VectorShuffle 201 201 0 1 + Store 192(texDim) 202 + 207: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 204 203(scale) 47 + Store 203(scale) 208 + 213: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 210 209(dx) 47 + 214: 23(float) Load 203(scale) + 215: 23(float) FMul 214 103 + 217: 216(ptr) AccessChain 192(texDim) 11 + 218: 88(int) Load 217 + 219: 23(float) ConvertSToF 218 + 220: 23(float) FDiv 215 219 + Store 209(dx) 220 + 225: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 222 221(dy) 47 + 226: 23(float) Load 203(scale) + 227: 23(float) FMul 226 103 + 228: 216(ptr) AccessChain 192(texDim) 19 + 229: 88(int) Load 228 + 230: 23(float) ConvertSToF 229 + 231: 23(float) FDiv 227 230 + Store 221(dy) 231 + 236: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 233 232(shadowFactor) 47 + Store 232(shadowFactor) 171 + 241: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 238 237(count) 47 + Store 237(count) 97 + 246: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 243 242(range) 47 + Store 242(range) 247 + 252: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 249 248(x) 47 + 253: 88(int) Load 242(range) + 254: 88(int) SNegate 253 + Store 248(x) 254 + Branch 255 + 255: Label + LoopMerge 257 258 None + Branch 259 + 259: Label + 260: 88(int) Load 248(x) + 261: 88(int) Load 242(range) + 263: 124(bool) SLessThanEqual 260 261 + BranchConditional 263 256 257 + 256: Label + 268: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 265 264(y) 47 + 269: 88(int) Load 242(range) + 270: 88(int) SNegate 269 + Store 264(y) 270 + Branch 271 + 271: Label + LoopMerge 273 274 None + Branch 275 + 275: Label + 276: 88(int) Load 264(y) + 277: 88(int) Load 242(range) + 279: 124(bool) SLessThanEqual 276 277 + BranchConditional 279 272 273 + 272: Label + 280: 23(float) Load 209(dx) + 281: 88(int) Load 248(x) + 282: 23(float) ConvertSToF 281 + 283: 23(float) FMul 280 282 + 284: 23(float) Load 221(dy) + 285: 88(int) Load 264(y) + 286: 23(float) ConvertSToF 285 + 287: 23(float) FMul 284 286 + 288: 30(fvec2) CompositeConstruct 283 287 + 290: 26(fvec4) Load 56(sc) + Store 289(param) 290 + 292: 23(float) Load 57(layer) + Store 291(param) 292 + Store 293(param) 288 + 294: 23(float) FunctionCall 38(textureProj(vf4;f1;vf2;) 289(param) 291(param) 293(param) + 295: 23(float) Load 232(shadowFactor) + 296: 23(float) FAdd 295 294 + Store 232(shadowFactor) 296 + 297: 88(int) Load 237(count) + 298: 88(int) IAdd 297 247 + Store 237(count) 298 + Branch 274 + 274: Label + 299: 88(int) Load 264(y) + 300: 88(int) IAdd 299 247 + Store 264(y) 300 + Branch 271 + 273: Label + Branch 258 + 258: Label + 301: 88(int) Load 248(x) + 302: 88(int) IAdd 301 247 + Store 248(x) 302 + Branch 255 + 257: Label + 303: 23(float) Load 232(shadowFactor) + 304: 88(int) Load 237(count) + 305: 23(float) ConvertSToF 304 + 306: 23(float) FDiv 303 305 + ReturnValue 306 FunctionEnd 76(shadow(vf3;vf3;): 69(fvec3) Function None 72 74(fragcolor): 71(ptr) FunctionParameter 75(fragpos): 71(ptr) FunctionParameter 79: Label - 305(i): 211(ptr) Variable Function - 319(shadowClip): 28(ptr) Variable Function -366(shadowFactor): 29(ptr) Variable Function - 372(param): 28(ptr) Variable Function - 374(param): 29(ptr) Variable Function + 310(i): 216(ptr) Variable Function + 324(shadowClip): 28(ptr) Variable Function +371(shadowFactor): 29(ptr) Variable Function + 377(param): 28(ptr) Variable Function + 379(param): 29(ptr) Variable Function 80: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 78 81: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 16 11 11 11 11 84: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 82 74(fragcolor) 47 87: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 85 75(fragpos) 47 - 304: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 78 76(shadow(vf3;vf3;) - 309: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 306 305(i) 47 - Store 305(i) 192 - Branch 310 - 310: Label - LoopMerge 312 313 None - Branch 314 - 314: Label - 315: 180(int) Load 305(i) - 318: 114(bool) SLessThan 315 316 - BranchConditional 318 311 312 - 311: Label - 323: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 320 319(shadowClip) 47 - 356: 180(int) Load 305(i) - 358: 357(ptr) AccessChain 353(ubo) 242 356 316 - 359: 324 Load 358 - 360: 69(fvec3) Load 75(fragpos) - 361: 23(float) CompositeExtract 360 0 - 362: 23(float) CompositeExtract 360 1 - 363: 23(float) CompositeExtract 360 2 - 364: 26(fvec4) CompositeConstruct 361 362 363 93 - 365: 26(fvec4) MatrixTimesVector 359 364 - Store 319(shadowClip) 365 - 369: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 367 366(shadowFactor) 47 - 370: 180(int) Load 305(i) - 371: 23(float) ConvertSToF 370 - 373: 26(fvec4) Load 319(shadowClip) - Store 372(param) 373 - Store 374(param) 371 - 375: 23(float) FunctionCall 58(filterPCF(vf4;f1;) 372(param) 374(param) - Store 366(shadowFactor) 375 - 376: 23(float) Load 366(shadowFactor) - 377: 69(fvec3) Load 74(fragcolor) - 378: 69(fvec3) VectorTimesScalar 377 376 - Store 74(fragcolor) 378 - Branch 313 - 313: Label - 379: 180(int) Load 305(i) - 380: 180(int) IAdd 379 242 - Store 305(i) 380 - Branch 310 - 312: Label - 381: 69(fvec3) Load 74(fragcolor) - ReturnValue 381 + 309: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 78 76(shadow(vf3;vf3;) + 314: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 311 310(i) 47 + Store 310(i) 97 + Branch 315 + 315: Label + LoopMerge 317 318 None + Branch 319 + 319: Label + 320: 88(int) Load 310(i) + 323: 124(bool) SLessThan 320 321 + BranchConditional 323 316 317 + 316: Label + 328: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 325 324(shadowClip) 47 + 361: 88(int) Load 310(i) + 363: 362(ptr) AccessChain 358(ubo) 247 361 321 + 364: 329 Load 363 + 365: 69(fvec3) Load 75(fragpos) + 366: 23(float) CompositeExtract 365 0 + 367: 23(float) CompositeExtract 365 1 + 368: 23(float) CompositeExtract 365 2 + 369: 26(fvec4) CompositeConstruct 366 367 368 103 + 370: 26(fvec4) MatrixTimesVector 364 369 + Store 324(shadowClip) 370 + 374: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 372 371(shadowFactor) 47 + 375: 88(int) Load 310(i) + 376: 23(float) ConvertSToF 375 + 378: 26(fvec4) Load 324(shadowClip) + Store 377(param) 378 + Store 379(param) 376 + 380: 23(float) FunctionCall 58(filterPCF(vf4;f1;) 377(param) 379(param) + Store 371(shadowFactor) 380 + 381: 23(float) Load 371(shadowFactor) + 382: 69(fvec3) Load 74(fragcolor) + 383: 69(fvec3) VectorTimesScalar 382 381 + Store 74(fragcolor) 383 + Branch 318 + 318: Label + 384: 88(int) Load 310(i) + 385: 88(int) IAdd 384 247 + Store 310(i) 385 + Branch 315 + 317: Label + 386: 69(fvec3) Load 74(fragcolor) + ReturnValue 386 FunctionEnd diff --git a/Test/spv.debuginfo.glsl.frag b/Test/spv.debuginfo.glsl.frag index bf5f622d9..86316af2a 100644 --- a/Test/spv.debuginfo.glsl.frag +++ b/Test/spv.debuginfo.glsl.frag @@ -38,6 +38,8 @@ layout (location = 0) out vec4 outFragColor; #define AMBIENT_LIGHT 0.1 #define USE_PCF +int global_var = 0; + struct Light { vec4 position;