spv.debuginfo.hlsl.frag // Module Version 10000 // Generated by (magic number): 8000b // Id's are bound by 942 Capability Shader Capability ImageQuery Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 6 "main" 935 938 ExecutionMode 6 OriginUpperLeft 2: String "spv.debuginfo.hlsl.frag" 9: String "float" 12: String "uint" 38: String "textureProj" 41: String "/* The MIT License (MIT) Copyright (c) 2022 Google LLC Copyright (c) 2022 Sascha Willems Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ Texture2D textureposition : register(t1); SamplerState samplerposition : register(s1); Texture2D textureNormal : register(t2); SamplerState samplerNormal : register(s2); Texture2D textureAlbedo : register(t3); SamplerState samplerAlbedo : register(s3); // Depth from the light's point of view //layout (binding = 5) uniform sampler2DShadow samplerShadowMap; Texture2DArray textureShadowMap : register(t5); SamplerState samplerShadowMap : register(s5); #define LIGHT_COUNT 3 #define SHADOW_FACTOR 0.25 #define AMBIENT_LIGHT 0.1 #define USE_PCF struct Light { float4 position; float4 target; float4 color; float4x4 viewMatrix; }; struct UBO { float4 viewPos; Light lights[LIGHT_COUNT]; int useShadows; int displayDebugTarget; }; cbuffer ubo : register(b4) { UBO ubo; } float textureProj(float4 P, float layer, float2 offset) { float shadow = 1.0; float4 shadowCoord = P / P.w; shadowCoord.xy = shadowCoord.xy * 0.5 + 0.5; if (shadowCoord.z > -1.0 && shadowCoord.z < 1.0) { float dist = textureShadowMap.Sample(samplerShadowMap, float3(shadowCoord.xy + offset, layer)).r; if (shadowCoord.w > 0.0 && dist < shadowCoord.z) { shadow = SHADOW_FACTOR; } } return shadow; } float filterPCF(float4 sc, float layer) { int2 texDim; int elements; int levels; textureShadowMap.GetDimensions(0, texDim.x, texDim.y, elements, levels); float scale = 1.5; float dx = scale * 1.0 / float(texDim.x); float dy = scale * 1.0 / float(texDim.y); float shadowFactor = 0.0; int count = 0; int range = 1; for (int x = -range; x <= range; x++) { for (int y = -range; y <= range; y++) { shadowFactor += textureProj(sc, layer, float2(dx*x, dy*y)); count++; } } return shadowFactor / count; } float3 shadow(float3 fragcolor, float3 fragPos) { for (int i = 0; i < LIGHT_COUNT; ++i) { float4 shadowClip = mul(ubo.lights[i].viewMatrix, float4(fragPos.xyz, 1.0)); float shadowFactor; #ifdef USE_PCF shadowFactor= filterPCF(shadowClip, i); #else shadowFactor = textureProj(shadowClip, i, float2(0.0, 0.0)); #endif fragcolor *= shadowFactor; } return fragcolor; } float4 main([[vk::location(0)]] float2 inUV : TEXCOORD0) : SV_TARGET { // Get G-Buffer values float3 fragPos = textureposition.Sample(samplerposition, inUV).rgb; float3 normal = textureNormal.Sample(samplerNormal, inUV).rgb; float4 albedo = textureAlbedo.Sample(samplerAlbedo, inUV); float3 fragcolor; // Debug display if (ubo.displayDebugTarget > 0) { switch (ubo.displayDebugTarget) { case 1: fragcolor.rgb = shadow(float3(1.0, 1.0, 1.0), fragPos); break; case 2: fragcolor.rgb = fragPos; break; case 3: fragcolor.rgb = normal; break; case 4: fragcolor.rgb = albedo.rgb; break; case 5: fragcolor.rgb = albedo.aaa; break; } return float4(fragcolor, 1.0); } // Ambient part fragcolor = albedo.rgb * AMBIENT_LIGHT; float3 N = normalize(normal); for(int i = 0; i < LIGHT_COUNT; ++i) { // Vector to light float3 L = ubo.lights[i].position.xyz - fragPos; // Distance from light to fragment position float dist = length(L); L = normalize(L); // Viewer to fragment float3 V = ubo.viewPos.xyz - fragPos; V = normalize(V); float lightCosInnerAngle = cos(radians(15.0)); float lightCosOuterAngle = cos(radians(25.0)); float lightRange = 100.0; // Direction vector from source to target float3 dir = normalize(ubo.lights[i].position.xyz - ubo.lights[i].target.xyz); // Dual cone spot light with smooth transition between inner and outer angle float cosDir = dot(L, dir); float spotEffect = smoothstep(lightCosOuterAngle, lightCosInnerAngle, cosDir); float heightAttenuation = smoothstep(lightRange, 0.0f, dist); // Diffuse lighting float NdotL = max(0.0, dot(N, L)); float3 diff = NdotL.xxx; // Specular lighting float3 R = reflect(-L, N); float NdotR = max(0.0, dot(R, V)); float3 spec = (pow(NdotR, 16.0) * albedo.a * 2.5).xxx; fragcolor += float3((diff + spec) * spotEffect * heightAttenuation) * ubo.lights[i].color.rgb * albedo.rgb; } // Shadow calculations in a separate pass if (ubo.useShadows > 0) { fragcolor = shadow(fragcolor, fragPos); } return float4(fragcolor, 1); } " 47: String "P" 53: String "layer" 56: String "offset" 64: String "filterPCF" 68: String "sc" 84: String "shadow" 88: String "fragcolor" 93: String "fragPos" 100: String "@main" 104: String "inUV" 119: String "shadowCoord" 146: String "bool" 158: String "dist" 165: String "type.2d.image" 166: String "@type.2d.image" 172: String "textureShadowMap" 177: String "type.sampler" 178: String "@type.sampler" 183: String "samplerShadowMap" 187: String "type.sampled.image" 188: String "@type.sampled.image" 229: String "int" 237: String "texDim" 246: String "elements" 250: String "levels" 258: String "sizeQueryTemp" 282: String "scale" 289: String "dx" 301: String "dy" 313: String "shadowFactor" 319: String "count" 326: String "range" 336: String "x" 360: String "y" 428: String "i" 447: String "shadowClip" 462: String "position" 466: String "target" 470: String "color" 474: String "viewMatrix" 478: String "Light" 483: String "viewPos" 487: String "lights" 490: String "useShadows" 493: String "displayDebugTarget" 497: String "UBO" 500: String "ubo" 508: String "" 559: String "textureposition" 564: String "samplerposition" 574: String "normal" 580: String "textureNormal" 585: String "samplerNormal" 593: String "albedo" 599: String "textureAlbedo" 604: String "samplerAlbedo" 695: String "N" 723: String "L" 749: String "V" 764: String "lightCosInnerAngle" 771: String "lightCosOuterAngle" 778: String "lightRange" 785: String "dir" 801: String "cosDir" 810: String "spotEffect" 820: String "heightAttenuation" 829: String "NdotL" 839: String "diff" 847: String "R" 857: String "NdotR" 867: String "spec" Name 6 "main" Name 36 "textureProj(vf4;f1;vf2;" Name 33 "P" Name 34 "layer" Name 35 "offset" Name 62 "filterPCF(vf4;f1;" Name 60 "sc" Name 61 "layer" Name 82 "shadow(vf3;vf3;" Name 80 "fragcolor" Name 81 "fragPos" Name 98 "@main(vf2;" Name 97 "inUV" Name 110 "shadow" Name 117 "shadowCoord" Name 156 "dist" Name 170 "textureShadowMap" Name 181 "samplerShadowMap" Name 235 "texDim" Name 244 "elements" Name 248 "levels" Name 256 "sizeQueryTemp" Name 280 "scale" Name 287 "dx" Name 299 "dy" Name 311 "shadowFactor" Name 317 "count" Name 324 "range" Name 334 "x" Name 358 "y" Name 391 "param" Name 393 "param" Name 395 "param" Name 426 "i" Name 445 "shadowClip" Name 460 "Light" MemberName 460(Light) 0 "position" MemberName 460(Light) 1 "target" MemberName 460(Light) 2 "color" MemberName 460(Light) 3 "viewMatrix" Name 481 "UBO" MemberName 481(UBO) 0 "viewPos" MemberName 481(UBO) 1 "lights" MemberName 481(UBO) 2 "useShadows" MemberName 481(UBO) 3 "displayDebugTarget" Name 498 "ubo" MemberName 498(ubo) 0 "ubo" Name 506 "" Name 515 "shadowFactor" Name 524 "param" Name 526 "param" Name 547 "fragPos" Name 557 "textureposition" Name 562 "samplerposition" Name 572 "normal" Name 578 "textureNormal" Name 583 "samplerNormal" Name 591 "albedo" Name 597 "textureAlbedo" Name 602 "samplerAlbedo" Name 609 "fragcolor" Name 636 "param" Name 640 "param" Name 693 "N" Name 704 "i" Name 721 "L" Name 736 "dist" Name 747 "V" Name 762 "lightCosInnerAngle" Name 769 "lightCosOuterAngle" Name 776 "lightRange" Name 783 "dir" Name 799 "cosDir" Name 808 "spotEffect" Name 818 "heightAttenuation" Name 827 "NdotL" Name 837 "diff" Name 845 "R" Name 855 "NdotR" Name 865 "spec" Name 913 "param" Name 918 "param" Name 933 "inUV" Name 935 "inUV" Name 938 "@entryPointOutput" Name 939 "param" Decorate 170(textureShadowMap) Binding 5 Decorate 170(textureShadowMap) DescriptorSet 0 Decorate 181(samplerShadowMap) Binding 5 Decorate 181(samplerShadowMap) DescriptorSet 0 MemberDecorate 460(Light) 0 Offset 0 MemberDecorate 460(Light) 1 Offset 16 MemberDecorate 460(Light) 2 Offset 32 MemberDecorate 460(Light) 3 RowMajor MemberDecorate 460(Light) 3 MatrixStride 16 MemberDecorate 460(Light) 3 Offset 48 Decorate 479 ArrayStride 112 MemberDecorate 481(UBO) 0 Offset 0 MemberDecorate 481(UBO) 1 Offset 16 MemberDecorate 481(UBO) 2 Offset 352 MemberDecorate 481(UBO) 3 Offset 356 Decorate 498(ubo) Block MemberDecorate 498(ubo) 0 Offset 0 Decorate 506 Binding 4 Decorate 506 DescriptorSet 0 Decorate 557(textureposition) Binding 1 Decorate 557(textureposition) DescriptorSet 0 Decorate 562(samplerposition) Binding 1 Decorate 562(samplerposition) DescriptorSet 0 Decorate 578(textureNormal) Binding 2 Decorate 578(textureNormal) DescriptorSet 0 Decorate 583(samplerNormal) Binding 2 Decorate 583(samplerNormal) DescriptorSet 0 Decorate 597(textureAlbedo) Binding 3 Decorate 597(textureAlbedo) DescriptorSet 0 Decorate 602(samplerAlbedo) Binding 3 Decorate 602(samplerAlbedo) DescriptorSet 0 Decorate 935(inUV) Location 0 Decorate 938(@entryPointOutput) Location 0 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 11: TypeInt 32 0 14: 11(int) Constant 32 15: 11(int) Constant 6 16: 11(int) Constant 0 13: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 12 14 15 16 17: 11(int) Constant 3 10: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 9 14 17 16 18: TypeVector 8(float) 4 19: 11(int) Constant 4 20: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 19 21: TypePointer Function 18(fvec4) 22: 11(int) Constant 7 23: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 22 16 24: TypePointer Function 8(float) 25: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 22 16 26: TypeVector 8(float) 2 27: 11(int) Constant 2 28: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 27 29: TypePointer Function 26(fvec2) 30: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 28 22 16 31: TypeFunction 8(float) 21(ptr) 24(ptr) 29(ptr) 32: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 10 20 10 28 40: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 41 42: 11(int) Constant 61 44: 11(int) Constant 1 45: 11(int) Constant 5 43: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 44 19 40 45 39: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 38 32 40 42 16 43 38 17 42 46: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 47 20 40 42 16 39 19 44 49: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) 52: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 53 10 40 42 16 39 19 27 55: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 56 28 40 42 16 39 19 17 58: TypeFunction 8(float) 21(ptr) 24(ptr) 59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 10 20 10 66: 11(int) Constant 78 65: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 64 59 40 66 16 43 64 17 66 67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 68 20 40 66 16 65 19 44 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 53 10 40 66 16 65 19 27 74: TypeVector 8(float) 3 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 17 76: TypePointer Function 74(fvec3) 77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 75 22 16 78: TypeFunction 74(fvec3) 76(ptr) 76(ptr) 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 75 75 75 86: 11(int) Constant 101 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 84 79 40 86 16 43 84 17 86 87: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 75 40 86 16 85 19 44 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 75 40 86 16 85 19 27 95: TypeFunction 18(fvec4) 29(ptr) 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 20 28 102: 11(int) Constant 119 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 100 96 40 102 16 43 100 17 102 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 104 28 40 102 16 101 19 44 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 39 112: 11(int) Constant 62 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 84 10 40 112 16 109 19 116: 8(float) Constant 1065353216 120: 11(int) Constant 63 118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 119 20 40 120 16 109 19 130: 11(int) Constant 64 132: 8(float) Constant 1056964608 142: 11(int) Constant 66 144: 8(float) Constant 3212836864 145: TypeBool 147: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 146 14 27 16 155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 109 159: 11(int) Constant 68 157: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 158 10 40 159 16 155 19 163: TypeImage 8(float) 2D array sampled format:Unknown 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) 164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 165 44 40 159 16 43 166 167 17 168: TypePointer UniformConstant 163 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 164 16 16 170(textureShadowMap): 168(ptr) Variable UniformConstant 173: 11(int) Constant 8 171: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 172 164 40 159 16 43 172 170(textureShadowMap) 173 175: TypeSampler 176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 177 44 40 159 16 43 178 167 17 179: TypePointer UniformConstant 175 180: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 176 16 16 181(samplerShadowMap): 179(ptr) Variable UniformConstant 182: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 183 176 40 159 16 43 183 181(samplerShadowMap) 173 185: TypeSampledImage 163 186: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 187 44 40 159 16 43 188 167 17 202: 11(int) Constant 69 204: 8(float) Constant 0 213: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 155 214: 8(float) Constant 1048576000 217: 11(int) Constant 71 221: 11(int) Constant 74 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 65 228: TypeInt 32 1 230: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 229 14 19 16 231: TypeVector 228(int) 2 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 230 27 233: TypePointer Function 231(ivec2) 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 232 22 16 238: 11(int) Constant 79 236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 237 232 40 238 16 227 19 242: TypePointer Function 228(int) 243: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 230 22 16 245: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 246 230 40 238 16 227 19 249: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 250 230 40 238 16 227 19 252: TypeVector 11(int) 3 253: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 13 17 254: TypePointer Function 252(ivec3) 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 253 22 16 259: 11(int) Constant 80 257: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 258 253 40 259 16 227 19 264: TypePointer Function 11(int) 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 22 16 283: 11(int) Constant 81 281: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 282 10 40 283 16 227 19 286: 8(float) Constant 1069547520 290: 11(int) Constant 82 288: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 289 10 40 290 16 227 19 302: 11(int) Constant 83 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 301 10 40 302 16 227 19 314: 11(int) Constant 85 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 313 10 40 314 16 227 19 320: 11(int) Constant 86 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 319 230 40 320 16 227 19 323: 228(int) Constant 0 327: 11(int) Constant 87 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 326 230 40 327 16 227 19 330: 228(int) Constant 1 332: 11(int) Constant 89 333: 11(int) Constant 11 331: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 332 333 227 335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 336 230 40 332 16 331 19 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 331 356: 11(int) Constant 91 357: 11(int) Constant 12 355: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 356 357 354 359: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 360 230 40 356 16 355 19 378: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 355 382: 11(int) Constant 93 401: 11(int) Constant 94 414: 11(int) Constant 98 423: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 85 425: 11(int) Constant 102 424: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 425 333 423 427: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 428 230 40 425 16 424 19 442: 228(int) Constant 3 444: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 424 448: 11(int) Constant 104 446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 447 20 40 448 16 444 19 457: TypeMatrix 18(fvec4) 4 459: 145(bool) ConstantTrue 458: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 459 460(Light): TypeStruct 18(fvec4) 18(fvec4) 18(fvec4) 457 463: 11(int) Constant 44 464: 11(int) Constant 17 461: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 462 20 40 463 464 16 16 17 467: 11(int) Constant 45 468: 11(int) Constant 15 465: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 466 20 40 467 468 16 16 17 471: 11(int) Constant 46 472: 11(int) Constant 14 469: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 470 20 40 471 472 16 16 17 475: 11(int) Constant 47 476: 11(int) Constant 21 473: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 474 458 40 475 476 16 16 17 477: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 478 44 40 448 16 43 478 16 17 461 465 469 473 479: TypeArray 460(Light) 17 480: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 477 17 481(UBO): TypeStruct 18(fvec4) 479 228(int) 228(int) 484: 11(int) Constant 52 485: 11(int) Constant 16 482: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 483 20 40 484 485 16 16 17 488: 11(int) Constant 53 486: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 487 480 40 488 472 16 16 17 491: 11(int) Constant 54 489: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 490 230 40 491 485 16 16 17 494: 11(int) Constant 55 495: 11(int) Constant 24 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 493 230 40 494 495 16 16 17 496: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 497 44 40 448 16 43 497 16 17 482 486 489 492 498(ubo): TypeStruct 481(UBO) 501: 11(int) Constant 58 502: 11(int) Constant 37 499: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 500 496 40 501 502 16 16 17 503: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 500 44 40 448 16 43 500 16 17 499 504: TypePointer Uniform 498(ubo) 505: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 503 27 16 506: 504(ptr) Variable Uniform 507: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 508 503 40 448 16 43 508 506 173 510: TypePointer Uniform 457 511: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 458 27 16 517: 11(int) Constant 106 516: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 313 10 40 517 16 444 19 522: 11(int) Constant 108 530: 11(int) Constant 113 540: 11(int) Constant 115 546: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 101 549: 11(int) Constant 121 548: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 75 40 549 16 546 19 553: TypeImage 8(float) 2D sampled format:Unknown 554: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 165 44 40 549 16 43 166 167 17 555: TypePointer UniformConstant 553 556: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 554 16 16 557(textureposition): 555(ptr) Variable UniformConstant 558: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 559 554 40 549 16 43 559 557(textureposition) 173 561: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 177 44 40 549 16 43 178 167 17 562(samplerposition): 179(ptr) Variable UniformConstant 563: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 564 561 40 549 16 43 564 562(samplerposition) 173 566: TypeSampledImage 553 567: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 187 44 40 549 16 43 188 167 17 575: 11(int) Constant 122 573: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 574 75 40 575 16 546 19 578(textureNormal): 555(ptr) Variable UniformConstant 579: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 580 554 40 575 16 43 580 578(textureNormal) 173 582: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 177 44 40 575 16 43 178 167 17 583(samplerNormal): 179(ptr) Variable UniformConstant 584: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 585 582 40 575 16 43 585 583(samplerNormal) 173 594: 11(int) Constant 123 592: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 593 20 40 594 16 546 19 597(textureAlbedo): 555(ptr) Variable UniformConstant 598: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 599 554 40 594 16 43 599 597(textureAlbedo) 173 601: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 177 44 40 594 16 43 178 167 17 602(samplerAlbedo): 179(ptr) Variable UniformConstant 603: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 604 601 40 594 16 43 604 602(samplerAlbedo) 173 611: 11(int) Constant 125 610: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 75 40 611 16 546 19 614: TypePointer Uniform 228(int) 615: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 230 27 16 618: 11(int) Constant 128 623: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 546 627: 11(int) Constant 129 635: 74(fvec3) ConstantComposite 116 116 116 639: 11(int) Constant 131 644: 11(int) Constant 132 649: 11(int) Constant 134 651: 11(int) Constant 135 656: 11(int) Constant 137 658: 11(int) Constant 138 663: 11(int) Constant 140 666: 11(int) Constant 141 671: 11(int) Constant 143 674: 11(int) Constant 144 680: 11(int) Constant 146 689: 11(int) Constant 150 691: 8(float) Constant 1036831949 696: 11(int) Constant 152 694: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 695 75 40 696 16 546 19 702: 11(int) Constant 154 703: 11(int) Constant 10 701: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 702 703 546 705: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 428 230 40 702 16 701 19 720: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 701 724: 11(int) Constant 157 722: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 723 75 40 724 16 720 19 729: TypePointer Uniform 18(fvec4) 730: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 27 16 738: 11(int) Constant 159 737: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 158 10 40 738 16 720 19 745: 11(int) Constant 160 750: 11(int) Constant 163 748: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 749 75 40 750 16 720 19 760: 11(int) Constant 164 765: 11(int) Constant 166 763: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 764 10 40 765 16 720 19 768: 8(float) Constant 1064781546 772: 11(int) Constant 167 770: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 771 10 40 772 16 720 19 775: 8(float) Constant 1063781322 779: 11(int) Constant 168 777: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 778 10 40 779 16 720 19 782: 8(float) Constant 1120403456 786: 11(int) Constant 171 784: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 785 75 40 786 16 720 19 802: 11(int) Constant 174 800: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 801 10 40 802 16 720 19 811: 11(int) Constant 175 809: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 810 10 40 811 16 720 19 821: 11(int) Constant 176 819: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 820 10 40 821 16 720 19 830: 11(int) Constant 179 828: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 829 10 40 830 16 720 19 840: 11(int) Constant 180 838: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 839 75 40 840 16 720 19 848: 11(int) Constant 183 846: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 847 75 40 848 16 720 19 858: 11(int) Constant 184 856: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 857 10 40 858 16 720 19 868: 11(int) Constant 185 866: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 867 75 40 868 16 720 19 872: 8(float) Constant 1098907648 877: 8(float) Constant 1075838976 882: 11(int) Constant 187 890: 228(int) Constant 2 907: 11(int) Constant 191 912: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 546 917: 11(int) Constant 193 924: 11(int) Constant 196 934: TypePointer Input 26(fvec2) 935(inUV): 934(ptr) Variable Input 937: TypePointer Output 18(fvec4) 938(@entryPointOutput): 937(ptr) Variable Output 6(main): 4 Function None 5 7: Label 933(inUV): 29(ptr) Variable Function 939(param): 29(ptr) Variable Function 936: 26(fvec2) Load 935(inUV) Store 933(inUV) 936 940: 26(fvec2) Load 933(inUV) Store 939(param) 940 941: 18(fvec4) FunctionCall 98(@main(vf2;) 939(param) Store 938(@entryPointOutput) 941 Return FunctionEnd 36(textureProj(vf4;f1;vf2;): 8(float) Function None 31 33(P): 21(ptr) FunctionParameter 34(layer): 24(ptr) FunctionParameter 35(offset): 29(ptr) FunctionParameter 37: Label 110(shadow): 24(ptr) Variable Function 117(shadowCoord): 21(ptr) Variable Function 156(dist): 24(ptr) Variable Function 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 51: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 42 42 16 16 48: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 46 33(P) 49 54: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 52 34(layer) 49 57: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 55 35(offset) 49 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 39 36(textureProj(vf4;f1;vf2;) 114: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 109 115: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 112 112 16 16 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 111 110(shadow) 49 Store 110(shadow) 116 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 120 120 16 16 121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 118 117(shadowCoord) 49 123: 18(fvec4) Load 33(P) 124: 24(ptr) AccessChain 33(P) 17 125: 8(float) Load 124 126: 18(fvec4) CompositeConstruct 125 125 125 125 127: 18(fvec4) FDiv 123 126 Store 117(shadowCoord) 127 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 130 130 16 16 128: 18(fvec4) Load 117(shadowCoord) 131: 26(fvec2) VectorShuffle 128 128 0 1 133: 26(fvec2) VectorTimesScalar 131 132 134: 26(fvec2) CompositeConstruct 132 132 135: 26(fvec2) FAdd 133 134 136: 24(ptr) AccessChain 117(shadowCoord) 16 137: 8(float) CompositeExtract 135 0 Store 136 137 138: 24(ptr) AccessChain 117(shadowCoord) 44 139: 8(float) CompositeExtract 135 1 Store 138 139 141: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 142 142 16 16 140: 24(ptr) AccessChain 117(shadowCoord) 27 143: 8(float) Load 140 148: 145(bool) FOrdGreaterThan 143 144 149: 24(ptr) AccessChain 117(shadowCoord) 27 150: 8(float) Load 149 151: 145(bool) FOrdLessThan 150 116 152: 145(bool) LogicalAnd 148 151 SelectionMerge 154 None BranchConditional 152 153 154 153: Label 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 155 162: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 159 159 16 16 160: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 157 156(dist) 49 174: 163 Load 170(textureShadowMap) 184: 175 Load 181(samplerShadowMap) 189: 185 SampledImage 174 184 190: 18(fvec4) Load 117(shadowCoord) 191: 26(fvec2) VectorShuffle 190 190 0 1 192: 26(fvec2) Load 35(offset) 193: 26(fvec2) FAdd 191 192 194: 8(float) Load 34(layer) 195: 8(float) CompositeExtract 193 0 196: 8(float) CompositeExtract 193 1 197: 74(fvec3) CompositeConstruct 195 196 194 198: 18(fvec4) ImageSampleImplicitLod 189 197 199: 8(float) CompositeExtract 198 0 Store 156(dist) 199 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 202 202 16 16 200: 24(ptr) AccessChain 117(shadowCoord) 17 203: 8(float) Load 200 205: 145(bool) FOrdGreaterThan 203 204 206: 8(float) Load 156(dist) 207: 24(ptr) AccessChain 117(shadowCoord) 27 208: 8(float) Load 207 209: 145(bool) FOrdLessThan 206 208 210: 145(bool) LogicalAnd 205 209 SelectionMerge 212 None BranchConditional 210 211 212 211: Label 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 213 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 217 217 16 16 Store 110(shadow) 214 Branch 212 212: Label Branch 154 154: Label 219: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 109 220: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 221 221 16 16 218: 8(float) Load 110(shadow) ReturnValue 218 FunctionEnd 62(filterPCF(vf4;f1;): 8(float) Function None 58 60(sc): 21(ptr) FunctionParameter 61(layer): 24(ptr) FunctionParameter 63: Label 235(texDim): 233(ptr) Variable Function 244(elements): 242(ptr) Variable Function 248(levels): 242(ptr) Variable Function 256(sizeQueryTemp): 254(ptr) Variable Function 280(scale): 24(ptr) Variable Function 287(dx): 24(ptr) Variable Function 299(dy): 24(ptr) Variable Function 311(shadowFactor): 24(ptr) Variable Function 317(count): 242(ptr) Variable Function 324(range): 242(ptr) Variable Function 334(x): 242(ptr) Variable Function 358(y): 242(ptr) Variable Function 391(param): 21(ptr) Variable Function 393(param): 24(ptr) Variable Function 395(param): 29(ptr) Variable Function 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 66 66 16 16 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 226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 65 62(filterPCF(vf4;f1;) 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 227 241: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 238 238 16 16 239: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 236 235(texDim) 49 247: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 245 244(elements) 49 251: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 249 248(levels) 49 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 259 259 16 16 260: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 257 256(sizeQueryTemp) 49 262: 163 Load 170(textureShadowMap) 263: 252(ivec3) ImageQuerySizeLod 262 16 Store 256(sizeQueryTemp) 263 266: 264(ptr) AccessChain 256(sizeQueryTemp) 16 267: 11(int) Load 266 268: 228(int) Bitcast 267 269: 242(ptr) AccessChain 235(texDim) 16 Store 269 268 270: 264(ptr) AccessChain 256(sizeQueryTemp) 44 271: 11(int) Load 270 272: 228(int) Bitcast 271 273: 242(ptr) AccessChain 235(texDim) 44 Store 273 272 274: 264(ptr) AccessChain 256(sizeQueryTemp) 27 275: 11(int) Load 274 276: 228(int) Bitcast 275 Store 244(elements) 276 277: 163 Load 170(textureShadowMap) 278: 11(int) ImageQueryLevels 277 279: 228(int) Bitcast 278 Store 248(levels) 279 285: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 283 283 16 16 284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 281 280(scale) 49 Store 280(scale) 286 292: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 290 290 16 16 291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 288 287(dx) 49 293: 8(float) Load 280(scale) 294: 8(float) FMul 293 116 295: 242(ptr) AccessChain 235(texDim) 16 296: 228(int) Load 295 297: 8(float) ConvertSToF 296 298: 8(float) FDiv 294 297 Store 287(dx) 298 304: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 302 302 16 16 303: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 300 299(dy) 49 305: 8(float) Load 280(scale) 306: 8(float) FMul 305 116 307: 242(ptr) AccessChain 235(texDim) 44 308: 228(int) Load 307 309: 8(float) ConvertSToF 308 310: 8(float) FDiv 306 309 Store 299(dy) 310 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 314 314 16 16 315: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 312 311(shadowFactor) 49 Store 311(shadowFactor) 204 322: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 320 320 16 16 321: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 318 317(count) 49 Store 317(count) 323 329: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 327 327 16 16 328: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 325 324(range) 49 Store 324(range) 330 338: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 331 339: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 332 332 16 16 337: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 335 334(x) 49 340: 228(int) Load 324(range) 341: 228(int) SNegate 340 Store 334(x) 341 Branch 342 342: Label 346: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 331 347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 332 332 16 16 LoopMerge 344 345 None Branch 348 348: Label 350: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 331 351: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 332 332 16 16 349: 228(int) Load 334(x) 352: 228(int) Load 324(range) 353: 145(bool) SLessThanEqual 349 352 BranchConditional 353 343 344 343: Label 362: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 355 363: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 356 356 16 16 361: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 359 358(y) 49 364: 228(int) Load 324(range) 365: 228(int) SNegate 364 Store 358(y) 365 Branch 366 366: Label 370: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 355 371: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 356 356 16 16 LoopMerge 368 369 None Branch 372 372: Label 374: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 355 375: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 356 356 16 16 373: 228(int) Load 358(y) 376: 228(int) Load 324(range) 377: 145(bool) SLessThanEqual 373 376 BranchConditional 377 367 368 367: Label 380: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 378 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 382 382 16 16 379: 8(float) Load 287(dx) 383: 228(int) Load 334(x) 384: 8(float) ConvertSToF 383 385: 8(float) FMul 379 384 386: 8(float) Load 299(dy) 387: 228(int) Load 358(y) 388: 8(float) ConvertSToF 387 389: 8(float) FMul 386 388 390: 26(fvec2) CompositeConstruct 385 389 392: 18(fvec4) Load 60(sc) Store 391(param) 392 394: 8(float) Load 61(layer) Store 393(param) 394 Store 395(param) 390 396: 8(float) FunctionCall 36(textureProj(vf4;f1;vf2;) 391(param) 393(param) 395(param) 397: 8(float) Load 311(shadowFactor) 398: 8(float) FAdd 397 396 Store 311(shadowFactor) 398 400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 401 401 16 16 399: 228(int) Load 317(count) 402: 228(int) IAdd 399 330 Store 317(count) 402 Branch 369 369: Label 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 355 405: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 356 356 16 16 403: 228(int) Load 358(y) 406: 228(int) IAdd 403 330 Store 358(y) 406 Branch 366 368: Label Branch 345 345: Label 408: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 331 409: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 332 332 16 16 407: 228(int) Load 334(x) 410: 228(int) IAdd 407 330 Store 334(x) 410 Branch 342 344: Label 412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 227 413: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 414 414 16 16 411: 8(float) Load 311(shadowFactor) 415: 228(int) Load 317(count) 416: 8(float) ConvertSToF 415 417: 8(float) FDiv 411 416 ReturnValue 417 FunctionEnd 82(shadow(vf3;vf3;): 74(fvec3) Function None 78 80(fragcolor): 76(ptr) FunctionParameter 81(fragPos): 76(ptr) FunctionParameter 83: Label 426(i): 242(ptr) Variable Function 445(shadowClip): 21(ptr) Variable Function 515(shadowFactor): 24(ptr) Variable Function 524(param): 21(ptr) Variable Function 526(param): 24(ptr) Variable Function 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 86 86 16 16 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 422: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 85 82(shadow(vf3;vf3;) 430: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 424 431: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 425 425 16 16 429: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 427 426(i) 49 Store 426(i) 323 Branch 432 432: Label 436: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 424 437: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 425 425 16 16 LoopMerge 434 435 None Branch 438 438: Label 440: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 424 441: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 425 425 16 16 439: 228(int) Load 426(i) 443: 145(bool) SLessThan 439 442 BranchConditional 443 433 434 433: Label 450: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 444 451: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 448 448 16 16 449: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 446 445(shadowClip) 49 452: 74(fvec3) Load 81(fragPos) 453: 8(float) CompositeExtract 452 0 454: 8(float) CompositeExtract 452 1 455: 8(float) CompositeExtract 452 2 456: 18(fvec4) CompositeConstruct 453 454 455 116 509: 228(int) Load 426(i) 512: 510(ptr) AccessChain 506 323 330 509 442 513: 457 Load 512 514: 18(fvec4) VectorTimesMatrix 456 513 Store 445(shadowClip) 514 519: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 517 517 16 16 518: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 516 515(shadowFactor) 49 521: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 522 522 16 16 520: 228(int) Load 426(i) 523: 8(float) ConvertSToF 520 525: 18(fvec4) Load 445(shadowClip) Store 524(param) 525 Store 526(param) 523 527: 8(float) FunctionCall 62(filterPCF(vf4;f1;) 524(param) 526(param) Store 515(shadowFactor) 527 529: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 530 530 16 16 528: 8(float) Load 515(shadowFactor) 531: 74(fvec3) Load 80(fragcolor) 532: 74(fvec3) VectorTimesScalar 531 528 Store 80(fragcolor) 532 Branch 435 435: Label 534: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 424 535: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 425 425 16 16 533: 228(int) Load 426(i) 536: 228(int) IAdd 533 330 Store 426(i) 536 Branch 432 434: Label 538: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 423 539: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 540 540 16 16 537: 74(fvec3) Load 80(fragcolor) ReturnValue 537 FunctionEnd 98(@main(vf2;): 18(fvec4) Function None 95 97(inUV): 29(ptr) FunctionParameter 99: Label 547(fragPos): 76(ptr) Variable Function 572(normal): 76(ptr) Variable Function 591(albedo): 21(ptr) Variable Function 609(fragcolor): 76(ptr) Variable Function 636(param): 76(ptr) Variable Function 640(param): 76(ptr) Variable Function 693(N): 76(ptr) Variable Function 704(i): 242(ptr) Variable Function 721(L): 76(ptr) Variable Function 736(dist): 24(ptr) Variable Function 747(V): 76(ptr) Variable Function 762(lightCosInnerAngle): 24(ptr) Variable Function 769(lightCosOuterAngle): 24(ptr) Variable Function 776(lightRange): 24(ptr) Variable Function 783(dir): 76(ptr) Variable Function 799(cosDir): 24(ptr) Variable Function 808(spotEffect): 24(ptr) Variable Function 818(heightAttenuation): 24(ptr) Variable Function 827(NdotL): 24(ptr) Variable Function 837(diff): 76(ptr) Variable Function 845(R): 76(ptr) Variable Function 855(NdotR): 24(ptr) Variable Function 865(spec): 76(ptr) Variable Function 913(param): 76(ptr) Variable Function 918(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 545: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 101 98(@main(vf2;) 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 546 552: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 549 549 16 16 550: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 548 547(fragPos) 49 560: 553 Load 557(textureposition) 565: 175 Load 562(samplerposition) 568: 566 SampledImage 560 565 569: 26(fvec2) Load 97(inUV) 570: 18(fvec4) ImageSampleImplicitLod 568 569 571: 74(fvec3) VectorShuffle 570 570 0 1 2 Store 547(fragPos) 571 577: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 575 575 16 16 576: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 573 572(normal) 49 581: 553 Load 578(textureNormal) 586: 175 Load 583(samplerNormal) 587: 566 SampledImage 581 586 588: 26(fvec2) Load 97(inUV) 589: 18(fvec4) ImageSampleImplicitLod 587 588 590: 74(fvec3) VectorShuffle 589 589 0 1 2 Store 572(normal) 590 596: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 594 594 16 16 595: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 592 591(albedo) 49 600: 553 Load 597(textureAlbedo) 605: 175 Load 602(samplerAlbedo) 606: 566 SampledImage 600 605 607: 26(fvec2) Load 97(inUV) 608: 18(fvec4) ImageSampleImplicitLod 606 607 Store 591(albedo) 608 613: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 611 611 16 16 612: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 610 609(fragcolor) 49 617: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 618 618 16 16 616: 614(ptr) AccessChain 506 323 442 619: 228(int) Load 616 620: 145(bool) SGreaterThan 619 323 SelectionMerge 622 None BranchConditional 620 621 622 621: Label 625: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 623 626: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 627 627 16 16 624: 614(ptr) AccessChain 506 323 442 628: 228(int) Load 624 SelectionMerge 634 None Switch 628 634 case 1: 629 case 2: 630 case 3: 631 case 4: 632 case 5: 633 629: Label 637: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 623 638: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 639 639 16 16 Store 636(param) 635 641: 74(fvec3) Load 547(fragPos) Store 640(param) 641 642: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 636(param) 640(param) Store 609(fragcolor) 642 643: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 644 644 16 16 Branch 634 630: Label 647: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 623 648: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 649 649 16 16 646: 74(fvec3) Load 547(fragPos) Store 609(fragcolor) 646 650: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 651 651 16 16 Branch 634 631: Label 654: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 623 655: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 656 656 16 16 653: 74(fvec3) Load 572(normal) Store 609(fragcolor) 653 657: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 658 658 16 16 Branch 634 632: Label 661: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 623 662: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 663 663 16 16 660: 18(fvec4) Load 591(albedo) 664: 74(fvec3) VectorShuffle 660 660 0 1 2 Store 609(fragcolor) 664 665: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 666 666 16 16 Branch 634 633: Label 669: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 623 670: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 671 671 16 16 668: 18(fvec4) Load 591(albedo) 672: 74(fvec3) VectorShuffle 668 668 3 3 3 Store 609(fragcolor) 672 673: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 674 674 16 16 Branch 634 634: Label 678: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 623 679: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 680 680 16 16 677: 74(fvec3) Load 609(fragcolor) 681: 8(float) CompositeExtract 677 0 682: 8(float) CompositeExtract 677 1 683: 8(float) CompositeExtract 677 2 684: 18(fvec4) CompositeConstruct 681 682 683 116 ReturnValue 684 622: Label 687: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 546 688: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 689 689 16 16 686: 18(fvec4) Load 591(albedo) 690: 74(fvec3) VectorShuffle 686 686 0 1 2 692: 74(fvec3) VectorTimesScalar 690 691 Store 609(fragcolor) 692 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) 694 693(N) 49 699: 74(fvec3) Load 572(normal) 700: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 699 Store 693(N) 700 707: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 701 708: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 702 702 16 16 706: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 705 704(i) 49 Store 704(i) 323 Branch 709 709: Label 713: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 701 714: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 702 702 16 16 LoopMerge 711 712 None Branch 715 715: Label 717: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 701 718: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 702 702 16 16 716: 228(int) Load 704(i) 719: 145(bool) SLessThan 716 442 BranchConditional 719 710 711 710: Label 726: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 720 727: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 724 724 16 16 725: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 722 721(L) 49 728: 228(int) Load 704(i) 731: 729(ptr) AccessChain 506 323 330 728 323 732: 18(fvec4) Load 731 733: 74(fvec3) VectorShuffle 732 732 0 1 2 734: 74(fvec3) Load 547(fragPos) 735: 74(fvec3) FSub 733 734 Store 721(L) 735 740: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 738 738 16 16 739: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 737 736(dist) 49 741: 74(fvec3) Load 721(L) 742: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 741 Store 736(dist) 742 744: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 745 745 16 16 743: 74(fvec3) Load 721(L) 746: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 743 Store 721(L) 746 752: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 750 750 16 16 751: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 748 747(V) 49 753: 729(ptr) AccessChain 506 323 323 754: 18(fvec4) Load 753 755: 74(fvec3) VectorShuffle 754 754 0 1 2 756: 74(fvec3) Load 547(fragPos) 757: 74(fvec3) FSub 755 756 Store 747(V) 757 759: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 760 760 16 16 758: 74(fvec3) Load 747(V) 761: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 758 Store 747(V) 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(lightCosInnerAngle) 49 Store 762(lightCosInnerAngle) 768 774: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 772 772 16 16 773: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 770 769(lightCosOuterAngle) 49 Store 769(lightCosOuterAngle) 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(lightRange) 49 Store 776(lightRange) 782 788: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 786 786 16 16 787: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 784 783(dir) 49 789: 228(int) Load 704(i) 790: 729(ptr) AccessChain 506 323 330 789 323 791: 18(fvec4) Load 790 792: 74(fvec3) VectorShuffle 791 791 0 1 2 793: 228(int) Load 704(i) 794: 729(ptr) AccessChain 506 323 330 793 330 795: 18(fvec4) Load 794 796: 74(fvec3) VectorShuffle 795 795 0 1 2 797: 74(fvec3) FSub 792 796 798: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 797 Store 783(dir) 798 804: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 802 802 16 16 803: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 800 799(cosDir) 49 805: 74(fvec3) Load 721(L) 806: 74(fvec3) Load 783(dir) 807: 8(float) Dot 805 806 Store 799(cosDir) 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(spotEffect) 49 814: 8(float) Load 769(lightCosOuterAngle) 815: 8(float) Load 762(lightCosInnerAngle) 816: 8(float) Load 799(cosDir) 817: 8(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 814 815 816 Store 808(spotEffect) 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(heightAttenuation) 49 824: 8(float) Load 776(lightRange) 825: 8(float) Load 736(dist) 826: 8(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 824 204 825 Store 818(heightAttenuation) 826 832: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 830 830 16 16 831: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 828 827(NdotL) 49 833: 74(fvec3) Load 693(N) 834: 74(fvec3) Load 721(L) 835: 8(float) Dot 833 834 836: 8(float) ExtInst 3(GLSL.std.450) 40(FMax) 204 835 Store 827(NdotL) 836 842: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 840 840 16 16 841: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 838 837(diff) 49 843: 8(float) Load 827(NdotL) 844: 74(fvec3) CompositeConstruct 843 843 843 Store 837(diff) 844 850: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 848 848 16 16 849: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 846 845(R) 49 851: 74(fvec3) Load 721(L) 852: 74(fvec3) FNegate 851 853: 74(fvec3) Load 693(N) 854: 74(fvec3) ExtInst 3(GLSL.std.450) 71(Reflect) 852 853 Store 845(R) 854 860: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 858 858 16 16 859: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 856 855(NdotR) 49 861: 74(fvec3) Load 845(R) 862: 74(fvec3) Load 747(V) 863: 8(float) Dot 861 862 864: 8(float) ExtInst 3(GLSL.std.450) 40(FMax) 204 863 Store 855(NdotR) 864 870: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 868 868 16 16 869: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 866 865(spec) 49 871: 8(float) Load 855(NdotR) 873: 8(float) ExtInst 3(GLSL.std.450) 26(Pow) 871 872 874: 24(ptr) AccessChain 591(albedo) 17 875: 8(float) Load 874 876: 8(float) FMul 873 875 878: 8(float) FMul 876 877 879: 74(fvec3) CompositeConstruct 878 878 878 Store 865(spec) 879 881: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 882 882 16 16 880: 74(fvec3) Load 837(diff) 883: 74(fvec3) Load 865(spec) 884: 74(fvec3) FAdd 880 883 885: 8(float) Load 808(spotEffect) 886: 74(fvec3) VectorTimesScalar 884 885 887: 8(float) Load 818(heightAttenuation) 888: 74(fvec3) VectorTimesScalar 886 887 889: 228(int) Load 704(i) 891: 729(ptr) AccessChain 506 323 330 889 890 892: 18(fvec4) Load 891 893: 74(fvec3) VectorShuffle 892 892 0 1 2 894: 74(fvec3) FMul 888 893 895: 18(fvec4) Load 591(albedo) 896: 74(fvec3) VectorShuffle 895 895 0 1 2 897: 74(fvec3) FMul 894 896 898: 74(fvec3) Load 609(fragcolor) 899: 74(fvec3) FAdd 898 897 Store 609(fragcolor) 899 Branch 712 712: Label 901: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 701 902: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 702 702 16 16 900: 228(int) Load 704(i) 903: 228(int) IAdd 900 330 Store 704(i) 903 Branch 709 711: Label 905: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 546 906: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 907 907 16 16 904: 614(ptr) AccessChain 506 323 890 908: 228(int) Load 904 909: 145(bool) SGreaterThan 908 323 SelectionMerge 911 None BranchConditional 909 910 911 910: Label 915: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 912 916: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 917 917 16 16 914: 74(fvec3) Load 609(fragcolor) Store 913(param) 914 919: 74(fvec3) Load 547(fragPos) Store 918(param) 919 920: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 913(param) 918(param) Store 609(fragcolor) 920 Branch 911 911: Label 922: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 546 923: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 924 924 16 16 921: 74(fvec3) Load 609(fragcolor) 925: 8(float) CompositeExtract 921 0 926: 8(float) CompositeExtract 921 1 927: 8(float) CompositeExtract 921 2 928: 18(fvec4) CompositeConstruct 925 926 927 116 ReturnValue 928 FunctionEnd