spv.debuginfo.glsl.frag // Module Version 10000 // Generated by (magic number): 8000b // Id's are bound by 913 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 14 "main" 138 143 ExecutionMode 14 OriginUpperLeft 2: String "spv.debuginfo.glsl.frag" 8: String "uint" 17: String "float" 39: String "textureProj" 42: String "/* The MIT License (MIT) 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. */ #version 450 layout (binding = 1) uniform sampler2D samplerposition; layout (binding = 2) uniform sampler2D samplerNormal; layout (binding = 3) uniform sampler2D samplerAlbedo; layout (binding = 5) uniform sampler2DArray samplerShadowMap; layout (location = 0) in vec2 inUV; layout (location = 0) out vec4 outFragColor; #define LIGHT_COUNT 3 #define SHADOW_FACTOR 0.25 #define AMBIENT_LIGHT 0.1 #define USE_PCF int global_var = 0; struct Light { vec4 position; vec4 target; vec4 color; mat4 viewMatrix; }; layout (binding = 4) uniform UBO { vec4 viewPos; Light lights[LIGHT_COUNT]; int useShadows; int debugDisplayTarget; } ubo; float textureProj(vec4 P, float layer, vec2 offset) { float shadow = 1.0; vec4 shadowCoord = P / P.w; shadowCoord.st = shadowCoord.st * 0.5 + 0.5; if (shadowCoord.z > -1.0 && shadowCoord.z < 1.0) { float dist = texture(samplerShadowMap, vec3(shadowCoord.st + offset, layer)).r; if (shadowCoord.w > 0.0 && dist < shadowCoord.z) { shadow = SHADOW_FACTOR; } } return shadow; } float filterPCF(vec4 sc, float layer) { ivec2 texDim = textureSize(samplerShadowMap, 0).xy; 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, vec2(dx*x, dy*y)); count++; } } return shadowFactor / count; } vec3 shadow(vec3 fragcolor, vec3 fragpos) { for(int i = 0; i < LIGHT_COUNT; ++i) { vec4 shadowClip = ubo.lights[i].viewMatrix * vec4(fragpos, 1.0); float shadowFactor; #ifdef USE_PCF shadowFactor= filterPCF(shadowClip, i); #else shadowFactor = textureProj(shadowClip, i, vec2(0.0)); #endif fragcolor *= shadowFactor; } return fragcolor; } void main() { // Get G-Buffer values vec3 fragPos = texture(samplerposition, inUV).rgb; vec3 normal = texture(samplerNormal, inUV).rgb; vec4 albedo = texture(samplerAlbedo, inUV); // Debug display if (ubo.debugDisplayTarget > 0) { switch (ubo.debugDisplayTarget) { case 1: outFragColor.rgb = shadow(vec3(1.0), fragPos).rgb; break; case 2: outFragColor.rgb = fragPos; break; case 3: outFragColor.rgb = normal; break; case 4: outFragColor.rgb = albedo.rgb; break; case 5: outFragColor.rgb = albedo.aaa; break; } outFragColor.a = 1.0; return; } // Ambient part vec3 fragcolor = albedo.rgb * AMBIENT_LIGHT; vec3 N = normalize(normal); for(int i = 0; i < LIGHT_COUNT; ++i) { // Vector to light vec3 L = ubo.lights[i].position.xyz - fragPos; // Distance from light to fragment position float dist = length(L); L = normalize(L); // Viewer to fragment vec3 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 vec3 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)); vec3 diff = vec3(NdotL); // Specular lighting vec3 R = reflect(-L, N); float NdotR = max(0.0, dot(R, V)); vec3 spec = vec3(pow(NdotR, 16.0) * albedo.a * 2.5); fragcolor += vec3((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); } outFragColor = vec4(fragcolor, 1.0); } " 47: String "P" 53: String "layer" 56: String "offset" 64: String "filterPCF" 68: String "sc" 84: String "shadow" 88: String "fragcolor" 93: String "fragpos" 95: String "main" 100: String "texture2D" 102: String "@texture2D" 106: String "sampler2D" 107: String "@sampler2D" 112: String "samplerposition" 116: String "samplerNormal" 120: String "samplerAlbedo" 124: String "texture2DArray" 126: String "@texture2DArray" 129: String "sampler2DArray" 130: String "@sampler2DArray" 135: String "samplerShadowMap" 140: String "inUV" 145: String "outFragColor" 148: String "int" 154: String "global_var" 162: String "bool" 167: String "position" 170: String "target" 173: String "color" 176: String "viewMatrix" 179: String "Light" 185: String "viewPos" 188: String "lights" 191: String "useShadows" 194: String "debugDisplayTarget" 197: String "UBO" 202: String "ubo" 212: String "shadowCoord" 256: String "dist" 312: String "texDim" 324: String "scale" 331: String "dx" 345: String "dy" 357: String "shadowFactor" 363: String "count" 369: String "range" 378: String "x" 400: String "y" 467: String "i" 485: String "shadowClip" 537: String "fragPos" 547: String "normal" 557: String "albedo" 678: String "N" 704: String "L" 730: String "V" 745: String "lightCosInnerAngle" 752: String "lightCosOuterAngle" 759: String "lightRange" 766: String "dir" 782: String "cosDir" 791: String "spotEffect" 801: String "heightAttenuation" 810: String "NdotL" 820: String "diff" 828: String "R" 838: String "NdotR" 848: String "spec" Name 14 "main" Name 37 "textureProj(vf4;f1;vf2;" Name 34 "P" Name 35 "layer" Name 36 "offset" Name 62 "filterPCF(vf4;f1;" Name 60 "sc" Name 61 "layer" Name 82 "shadow(vf3;vf3;" Name 80 "fragcolor" Name 81 "fragpos" Name 110 "samplerposition" Name 114 "samplerNormal" Name 118 "samplerAlbedo" Name 133 "samplerShadowMap" Name 138 "inUV" Name 143 "outFragColor" Name 152 "global_var" Name 165 "Light" MemberName 165(Light) 0 "position" MemberName 165(Light) 1 "target" MemberName 165(Light) 2 "color" MemberName 165(Light) 3 "viewMatrix" Name 183 "UBO" MemberName 183(UBO) 0 "viewPos" MemberName 183(UBO) 1 "lights" MemberName 183(UBO) 2 "useShadows" MemberName 183(UBO) 3 "debugDisplayTarget" Name 200 "ubo" Name 204 "shadow" Name 210 "shadowCoord" Name 254 "dist" Name 310 "texDim" Name 322 "scale" Name 329 "dx" Name 343 "dy" Name 355 "shadowFactor" Name 361 "count" Name 367 "range" Name 376 "x" Name 398 "y" Name 430 "param" Name 432 "param" Name 434 "param" Name 465 "i" Name 483 "shadowClip" Name 501 "shadowFactor" Name 510 "param" Name 512 "param" Name 535 "fragPos" Name 545 "normal" Name 555 "albedo" Name 586 "param" Name 590 "param" Name 666 "fragcolor" Name 676 "N" Name 686 "i" Name 702 "L" Name 717 "dist" Name 728 "V" Name 743 "lightCosInnerAngle" Name 750 "lightCosOuterAngle" Name 757 "lightRange" Name 764 "dir" Name 780 "cosDir" Name 789 "spotEffect" Name 799 "heightAttenuation" Name 808 "NdotL" Name 818 "diff" Name 826 "R" Name 836 "NdotR" Name 846 "spec" Name 896 "param" Name 900 "param" Decorate 110(samplerposition) Binding 1 Decorate 110(samplerposition) DescriptorSet 0 Decorate 114(samplerNormal) Binding 2 Decorate 114(samplerNormal) DescriptorSet 0 Decorate 118(samplerAlbedo) Binding 3 Decorate 118(samplerAlbedo) DescriptorSet 0 Decorate 133(samplerShadowMap) Binding 5 Decorate 133(samplerShadowMap) DescriptorSet 0 Decorate 138(inUV) Location 0 Decorate 143(outFragColor) Location 0 MemberDecorate 165(Light) 0 Offset 0 MemberDecorate 165(Light) 1 Offset 16 MemberDecorate 165(Light) 2 Offset 32 MemberDecorate 165(Light) 3 ColMajor MemberDecorate 165(Light) 3 MatrixStride 16 MemberDecorate 165(Light) 3 Offset 48 Decorate 181 ArrayStride 112 Decorate 183(UBO) Block MemberDecorate 183(UBO) 0 Offset 0 MemberDecorate 183(UBO) 1 Offset 16 MemberDecorate 183(UBO) 2 Offset 352 MemberDecorate 183(UBO) 3 Offset 356 Decorate 200(ubo) Binding 4 Decorate 200(ubo) DescriptorSet 0 4: TypeVoid 5: TypeFunction 4 7: TypeInt 32 0 10: 7(int) Constant 32 11: 7(int) Constant 6 12: 7(int) Constant 0 9: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 10 11 12 13: 7(int) Constant 3 6: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 4 16: TypeFloat 32 18: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 17 10 13 12 19: TypeVector 16(float) 4 20: 7(int) Constant 4 21: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 20 22: TypePointer Function 19(fvec4) 23: 7(int) Constant 7 24: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 23 12 25: TypePointer Function 16(float) 26: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 23 12 27: TypeVector 16(float) 2 28: 7(int) Constant 2 29: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 28 30: TypePointer Function 27(fvec2) 31: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 29 23 12 32: TypeFunction 16(float) 22(ptr) 25(ptr) 30(ptr) 33: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 18 21 18 29 41: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 42 43: 7(int) Constant 59 45: 7(int) Constant 1 44: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 45 20 41 28 40: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 39 33 41 43 12 44 39 13 43 46: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 47 21 41 43 12 40 20 45 49: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) 52: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 53 18 41 43 12 40 20 28 55: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 56 29 41 43 12 40 20 13 58: TypeFunction 16(float) 22(ptr) 25(ptr) 59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 18 21 18 66: 7(int) Constant 76 65: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 64 59 41 66 12 44 64 13 66 67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 68 21 41 66 12 65 20 45 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 53 18 41 66 12 65 20 28 74: TypeVector 16(float) 3 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 13 76: TypePointer Function 74(fvec3) 77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 75 23 12 78: TypeFunction 74(fvec3) 76(ptr) 76(ptr) 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 75 75 75 86: 7(int) Constant 99 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 84 79 41 86 12 44 84 13 86 87: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 75 41 86 12 85 20 45 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 75 41 86 12 85 20 28 97: 7(int) Constant 116 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 95 6 41 97 12 44 95 13 97 98: TypeImage 16(float) 2D sampled format:Unknown 101: 7(int) Constant 27 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) 99: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 100 45 41 101 12 44 102 103 13 104: TypeSampledImage 98 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 106 45 41 101 12 44 107 103 13 108: TypePointer UniformConstant 104 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 105 12 12 110(samplerposition): 108(ptr) Variable UniformConstant 113: 7(int) Constant 8 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 112 105 41 101 12 44 112 110(samplerposition) 113 114(samplerNormal): 108(ptr) Variable UniformConstant 117: 7(int) Constant 28 115: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 116 105 41 117 12 44 116 114(samplerNormal) 113 118(samplerAlbedo): 108(ptr) Variable UniformConstant 121: 7(int) Constant 29 119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 120 105 41 121 12 44 120 118(samplerAlbedo) 113 122: TypeImage 16(float) 2D array sampled format:Unknown 125: 7(int) Constant 30 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 124 45 41 125 12 44 126 103 13 127: TypeSampledImage 122 128: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 129 45 41 125 12 44 130 103 13 131: TypePointer UniformConstant 127 132: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 128 12 12 133(samplerShadowMap): 131(ptr) Variable UniformConstant 134: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 135 128 41 125 12 44 135 133(samplerShadowMap) 113 136: TypePointer Input 27(fvec2) 137: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 29 45 12 138(inUV): 136(ptr) Variable Input 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 140 29 41 10 12 44 140 138(inUV) 113 141: TypePointer Output 19(fvec4) 142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 13 12 143(outFragColor): 141(ptr) Variable Output 146: 7(int) Constant 34 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 145 21 41 146 12 44 145 143(outFragColor) 113 147: TypeInt 32 1 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 148 10 20 12 150: TypePointer Private 147(int) 151: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 149 11 12 152(global_var): 150(ptr) Variable Private 155: 7(int) Constant 41 153: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 154 149 41 155 12 44 154 152(global_var) 113 156: 147(int) Constant 0 159: TypeMatrix 19(fvec4) 4 161: TypeBool 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 162 10 28 12 164: 161(bool) ConstantTrue 160: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 21 20 164 165(Light): TypeStruct 19(fvec4) 19(fvec4) 19(fvec4) 159 168: 7(int) Constant 45 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 167 21 41 168 23 12 12 13 171: 7(int) Constant 46 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 170 21 41 171 23 12 12 13 174: 7(int) Constant 47 172: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 173 21 41 174 23 12 12 13 177: 7(int) Constant 48 175: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 176 160 41 177 23 12 12 13 180: 7(int) Constant 51 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 179 45 41 180 12 44 179 12 13 166 169 172 175 181: TypeArray 165(Light) 13 182: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 178 13 183(UBO): TypeStruct 19(fvec4) 181 147(int) 147(int) 186: 7(int) Constant 53 184: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 185 21 41 186 23 12 12 13 189: 7(int) Constant 54 187: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 188 182 41 189 113 12 12 13 192: 7(int) Constant 55 190: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 191 149 41 192 11 12 12 13 195: 7(int) Constant 56 193: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 194 149 41 195 11 12 12 13 196: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 197 45 41 180 12 44 197 12 13 184 187 190 193 198: TypePointer Uniform 183(UBO) 199: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 196 28 12 200(ubo): 198(ptr) Variable Uniform 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 202 196 41 180 12 44 202 200(ubo) 113 206: 7(int) Constant 61 205: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 84 18 41 206 12 40 20 209: 16(float) Constant 1065353216 213: 7(int) Constant 62 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 212 21 41 213 12 40 20 223: 7(int) Constant 63 225: 16(float) Constant 1056964608 235: 7(int) Constant 65 237: 16(float) Constant 3212836864 252: 7(int) Constant 67 253: 7(int) Constant 9 251: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 41 252 253 40 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 256 18 41 252 12 251 20 273: 7(int) Constant 68 275: 16(float) Constant 0 291: 7(int) Constant 70 292: 7(int) Constant 11 290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 41 291 292 251 293: 16(float) Constant 1048576000 299: 7(int) Constant 73 304: 7(int) Constant 74 306: TypeVector 147(int) 2 307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 149 28 308: TypePointer Function 306(ivec2) 309: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 307 23 12 313: 7(int) Constant 78 311: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 312 307 41 313 12 65 20 318: TypeVector 147(int) 3 319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 149 13 325: 7(int) Constant 79 323: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 324 18 41 325 12 65 20 328: 16(float) Constant 1069547520 332: 7(int) Constant 80 330: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 331 18 41 332 12 65 20 337: TypePointer Function 147(int) 338: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 149 23 12 346: 7(int) Constant 81 344: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 345 18 41 346 12 65 20 358: 7(int) Constant 83 356: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 357 18 41 358 12 65 20 364: 7(int) Constant 84 362: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 363 149 41 364 12 65 20 370: 7(int) Constant 85 368: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 369 149 41 370 12 65 20 373: 147(int) Constant 1 375: 7(int) Constant 87 374: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 41 375 28 65 377: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 378 149 41 375 12 374 20 397: 7(int) Constant 89 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 41 397 13 374 399: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 400 149 41 397 12 396 20 421: 7(int) Constant 91 440: 7(int) Constant 92 453: 7(int) Constant 96 461: 7(int) Constant 97 464: 7(int) Constant 100 463: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 41 464 28 85 466: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 467 149 41 464 12 463 20 481: 147(int) Constant 3 486: 7(int) Constant 102 484: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 485 21 41 486 12 463 20 491: TypePointer Uniform 159 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 160 28 12 503: 7(int) Constant 104 502: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 357 18 41 503 12 463 20 508: 7(int) Constant 106 516: 7(int) Constant 111 526: 7(int) Constant 113 531: 7(int) Constant 114 538: 7(int) Constant 119 536: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 537 75 41 538 12 96 20 548: 7(int) Constant 120 546: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 547 75 41 548 12 96 20 558: 7(int) Constant 121 556: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 557 21 41 558 12 96 20 564: TypePointer Uniform 147(int) 565: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 149 28 12 568: 7(int) Constant 124 574: 7(int) Constant 125 573: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 41 574 13 96 585: 74(fvec3) ConstantComposite 209 209 209 589: 7(int) Constant 127 593: TypePointer Output 16(float) 594: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 602: 7(int) Constant 128 607: 7(int) Constant 130 615: 7(int) Constant 131 620: 7(int) Constant 133 628: 7(int) Constant 134 633: 7(int) Constant 136 642: 7(int) Constant 137 647: 7(int) Constant 139 656: 7(int) Constant 140 662: 7(int) Constant 142 664: 7(int) Constant 143 668: 7(int) Constant 147 667: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 75 41 668 12 96 20 674: 16(float) Constant 1036831949 679: 7(int) Constant 149 677: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 678 75 41 679 12 96 20 685: 7(int) Constant 151 684: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 41 685 28 96 687: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 467 149 41 685 12 684 20 705: 7(int) Constant 154 703: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 704 75 41 705 12 684 20 710: TypePointer Uniform 19(fvec4) 711: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 28 12 719: 7(int) Constant 156 718: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 256 18 41 719 12 684 20 726: 7(int) Constant 157 731: 7(int) Constant 160 729: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 730 75 41 731 12 684 20 741: 7(int) Constant 161 746: 7(int) Constant 163 744: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 745 18 41 746 12 684 20 749: 16(float) Constant 1064781546 753: 7(int) Constant 164 751: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 752 18 41 753 12 684 20 756: 16(float) Constant 1063781322 760: 7(int) Constant 165 758: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 759 18 41 760 12 684 20 763: 16(float) Constant 1120403456 767: 7(int) Constant 168 765: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 766 75 41 767 12 684 20 783: 7(int) Constant 171 781: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 782 18 41 783 12 684 20 792: 7(int) Constant 172 790: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 791 18 41 792 12 684 20 802: 7(int) Constant 173 800: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 801 18 41 802 12 684 20 811: 7(int) Constant 176 809: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 810 18 41 811 12 684 20 821: 7(int) Constant 177 819: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 820 75 41 821 12 684 20 829: 7(int) Constant 180 827: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 828 75 41 829 12 684 20 839: 7(int) Constant 181 837: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 838 18 41 839 12 684 20 849: 7(int) Constant 182 847: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 848 75 41 849 12 684 20 853: 16(float) Constant 1098907648 858: 16(float) Constant 1075838976 863: 7(int) Constant 184 871: 147(int) Constant 2 888: 7(int) Constant 188 894: 7(int) Constant 190 895: 7(int) Constant 13 893: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 41 894 895 96 906: 7(int) Constant 193 912: 7(int) Constant 194 14(main): 4 Function None 5 15: Label 535(fragPos): 76(ptr) Variable Function 545(normal): 76(ptr) Variable Function 555(albedo): 22(ptr) Variable Function 586(param): 76(ptr) Variable Function 590(param): 76(ptr) Variable Function 666(fragcolor): 76(ptr) Variable Function 676(N): 76(ptr) Variable Function 686(i): 337(ptr) Variable Function 702(L): 76(ptr) Variable Function 717(dist): 25(ptr) Variable Function 728(V): 76(ptr) Variable Function 743(lightCosInnerAngle): 25(ptr) Variable Function 750(lightCosOuterAngle): 25(ptr) Variable Function 757(lightRange): 25(ptr) Variable Function 764(dir): 76(ptr) Variable Function 780(cosDir): 25(ptr) Variable Function 789(spotEffect): 25(ptr) Variable Function 799(heightAttenuation): 25(ptr) Variable Function 808(NdotL): 25(ptr) Variable Function 818(diff): 76(ptr) Variable Function 826(R): 76(ptr) Variable Function 836(NdotR): 25(ptr) Variable Function 846(spec): 76(ptr) Variable Function 896(param): 76(ptr) Variable Function 900(param): 76(ptr) Variable Function 157: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 155 155 12 12 Store 152(global_var) 156 533: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 534: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 97 97 12 12 532: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 96 14(main) 540: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 538 538 12 12 539: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 536 535(fragPos) 49 541: 104 Load 110(samplerposition) 542: 27(fvec2) Load 138(inUV) 543: 19(fvec4) ImageSampleImplicitLod 541 542 544: 74(fvec3) VectorShuffle 543 543 0 1 2 Store 535(fragPos) 544 550: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 548 548 12 12 549: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 546 545(normal) 49 551: 104 Load 114(samplerNormal) 552: 27(fvec2) Load 138(inUV) 553: 19(fvec4) ImageSampleImplicitLod 551 552 554: 74(fvec3) VectorShuffle 553 553 0 1 2 Store 545(normal) 554 560: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 558 558 12 12 559: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 556 555(albedo) 49 561: 104 Load 118(samplerAlbedo) 562: 27(fvec2) Load 138(inUV) 563: 19(fvec4) ImageSampleImplicitLod 561 562 Store 555(albedo) 563 567: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 568 568 12 12 566: 564(ptr) AccessChain 200(ubo) 481 569: 147(int) Load 566 570: 161(bool) SGreaterThan 569 156 SelectionMerge 572 None BranchConditional 570 571 572 571: Label 576: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 573 577: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 574 574 12 12 575: 564(ptr) AccessChain 200(ubo) 481 578: 147(int) Load 575 SelectionMerge 584 None Switch 578 584 case 1: 579 case 2: 580 case 3: 581 case 4: 582 case 5: 583 579: Label 587: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 573 588: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 589 589 12 12 Store 586(param) 585 591: 74(fvec3) Load 535(fragPos) Store 590(param) 591 592: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 586(param) 590(param) 595: 593(ptr) AccessChain 143(outFragColor) 12 596: 16(float) CompositeExtract 592 0 Store 595 596 597: 593(ptr) AccessChain 143(outFragColor) 45 598: 16(float) CompositeExtract 592 1 Store 597 598 599: 593(ptr) AccessChain 143(outFragColor) 28 600: 16(float) CompositeExtract 592 2 Store 599 600 601: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 602 602 12 12 Branch 584 580: Label 605: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 573 606: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 607 607 12 12 604: 74(fvec3) Load 535(fragPos) 608: 593(ptr) AccessChain 143(outFragColor) 12 609: 16(float) CompositeExtract 604 0 Store 608 609 610: 593(ptr) AccessChain 143(outFragColor) 45 611: 16(float) CompositeExtract 604 1 Store 610 611 612: 593(ptr) AccessChain 143(outFragColor) 28 613: 16(float) CompositeExtract 604 2 Store 612 613 614: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 615 615 12 12 Branch 584 581: Label 618: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 573 619: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 620 620 12 12 617: 74(fvec3) Load 545(normal) 621: 593(ptr) AccessChain 143(outFragColor) 12 622: 16(float) CompositeExtract 617 0 Store 621 622 623: 593(ptr) AccessChain 143(outFragColor) 45 624: 16(float) CompositeExtract 617 1 Store 623 624 625: 593(ptr) AccessChain 143(outFragColor) 28 626: 16(float) CompositeExtract 617 2 Store 625 626 627: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 628 628 12 12 Branch 584 582: Label 631: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 573 632: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 633 633 12 12 630: 19(fvec4) Load 555(albedo) 634: 74(fvec3) VectorShuffle 630 630 0 1 2 635: 593(ptr) AccessChain 143(outFragColor) 12 636: 16(float) CompositeExtract 634 0 Store 635 636 637: 593(ptr) AccessChain 143(outFragColor) 45 638: 16(float) CompositeExtract 634 1 Store 637 638 639: 593(ptr) AccessChain 143(outFragColor) 28 640: 16(float) CompositeExtract 634 2 Store 639 640 641: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 642 642 12 12 Branch 584 583: Label 645: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 573 646: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 647 647 12 12 644: 19(fvec4) Load 555(albedo) 648: 74(fvec3) VectorShuffle 644 644 3 3 3 649: 593(ptr) AccessChain 143(outFragColor) 12 650: 16(float) CompositeExtract 648 0 Store 649 650 651: 593(ptr) AccessChain 143(outFragColor) 45 652: 16(float) CompositeExtract 648 1 Store 651 652 653: 593(ptr) AccessChain 143(outFragColor) 28 654: 16(float) CompositeExtract 648 2 Store 653 654 655: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 656 656 12 12 Branch 584 584: Label 660: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 573 661: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 662 662 12 12 659: 593(ptr) AccessChain 143(outFragColor) 13 Store 659 209 663: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 664 664 12 12 Return 572: Label 670: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 671: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 668 668 12 12 669: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 667 666(fragcolor) 49 672: 19(fvec4) Load 555(albedo) 673: 74(fvec3) VectorShuffle 672 672 0 1 2 675: 74(fvec3) VectorTimesScalar 673 674 Store 666(fragcolor) 675 681: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 679 679 12 12 680: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 677 676(N) 49 682: 74(fvec3) Load 545(normal) 683: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 682 Store 676(N) 683 689: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 684 690: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 685 685 12 12 688: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 687 686(i) 49 Store 686(i) 156 Branch 691 691: Label 695: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 684 696: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 685 685 12 12 LoopMerge 693 694 None Branch 697 697: Label 699: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 684 700: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 685 685 12 12 698: 147(int) Load 686(i) 701: 161(bool) SLessThan 698 481 BranchConditional 701 692 693 692: Label 707: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 684 708: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 705 705 12 12 706: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 703 702(L) 49 709: 147(int) Load 686(i) 712: 710(ptr) AccessChain 200(ubo) 373 709 156 713: 19(fvec4) Load 712 714: 74(fvec3) VectorShuffle 713 713 0 1 2 715: 74(fvec3) Load 535(fragPos) 716: 74(fvec3) FSub 714 715 Store 702(L) 716 721: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 719 719 12 12 720: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 718 717(dist) 49 722: 74(fvec3) Load 702(L) 723: 16(float) ExtInst 3(GLSL.std.450) 66(Length) 722 Store 717(dist) 723 725: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 726 726 12 12 724: 74(fvec3) Load 702(L) 727: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 724 Store 702(L) 727 733: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 731 731 12 12 732: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 729 728(V) 49 734: 710(ptr) AccessChain 200(ubo) 156 735: 19(fvec4) Load 734 736: 74(fvec3) VectorShuffle 735 735 0 1 2 737: 74(fvec3) Load 535(fragPos) 738: 74(fvec3) FSub 736 737 Store 728(V) 738 740: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 741 741 12 12 739: 74(fvec3) Load 728(V) 742: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 739 Store 728(V) 742 748: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 746 746 12 12 747: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 744 743(lightCosInnerAngle) 49 Store 743(lightCosInnerAngle) 749 755: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 753 753 12 12 754: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 751 750(lightCosOuterAngle) 49 Store 750(lightCosOuterAngle) 756 762: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 760 760 12 12 761: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 758 757(lightRange) 49 Store 757(lightRange) 763 769: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 767 767 12 12 768: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 765 764(dir) 49 770: 147(int) Load 686(i) 771: 710(ptr) AccessChain 200(ubo) 373 770 156 772: 19(fvec4) Load 771 773: 74(fvec3) VectorShuffle 772 772 0 1 2 774: 147(int) Load 686(i) 775: 710(ptr) AccessChain 200(ubo) 373 774 373 776: 19(fvec4) Load 775 777: 74(fvec3) VectorShuffle 776 776 0 1 2 778: 74(fvec3) FSub 773 777 779: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 778 Store 764(dir) 779 785: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 783 783 12 12 784: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 781 780(cosDir) 49 786: 74(fvec3) Load 702(L) 787: 74(fvec3) Load 764(dir) 788: 16(float) Dot 786 787 Store 780(cosDir) 788 794: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 792 792 12 12 793: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 790 789(spotEffect) 49 795: 16(float) Load 750(lightCosOuterAngle) 796: 16(float) Load 743(lightCosInnerAngle) 797: 16(float) Load 780(cosDir) 798: 16(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 795 796 797 Store 789(spotEffect) 798 804: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 802 802 12 12 803: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 800 799(heightAttenuation) 49 805: 16(float) Load 757(lightRange) 806: 16(float) Load 717(dist) 807: 16(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 805 275 806 Store 799(heightAttenuation) 807 813: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 811 811 12 12 812: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 809 808(NdotL) 49 814: 74(fvec3) Load 676(N) 815: 74(fvec3) Load 702(L) 816: 16(float) Dot 814 815 817: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 275 816 Store 808(NdotL) 817 823: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 821 821 12 12 822: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 819 818(diff) 49 824: 16(float) Load 808(NdotL) 825: 74(fvec3) CompositeConstruct 824 824 824 Store 818(diff) 825 831: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 829 829 12 12 830: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 827 826(R) 49 832: 74(fvec3) Load 702(L) 833: 74(fvec3) FNegate 832 834: 74(fvec3) Load 676(N) 835: 74(fvec3) ExtInst 3(GLSL.std.450) 71(Reflect) 833 834 Store 826(R) 835 841: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 839 839 12 12 840: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 837 836(NdotR) 49 842: 74(fvec3) Load 826(R) 843: 74(fvec3) Load 728(V) 844: 16(float) Dot 842 843 845: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 275 844 Store 836(NdotR) 845 851: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 849 849 12 12 850: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 847 846(spec) 49 852: 16(float) Load 836(NdotR) 854: 16(float) ExtInst 3(GLSL.std.450) 26(Pow) 852 853 855: 25(ptr) AccessChain 555(albedo) 13 856: 16(float) Load 855 857: 16(float) FMul 854 856 859: 16(float) FMul 857 858 860: 74(fvec3) CompositeConstruct 859 859 859 Store 846(spec) 860 862: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 863 863 12 12 861: 74(fvec3) Load 818(diff) 864: 74(fvec3) Load 846(spec) 865: 74(fvec3) FAdd 861 864 866: 16(float) Load 789(spotEffect) 867: 74(fvec3) VectorTimesScalar 865 866 868: 16(float) Load 799(heightAttenuation) 869: 74(fvec3) VectorTimesScalar 867 868 870: 147(int) Load 686(i) 872: 710(ptr) AccessChain 200(ubo) 373 870 871 873: 19(fvec4) Load 872 874: 74(fvec3) VectorShuffle 873 873 0 1 2 875: 74(fvec3) FMul 869 874 876: 19(fvec4) Load 555(albedo) 877: 74(fvec3) VectorShuffle 876 876 0 1 2 878: 74(fvec3) FMul 875 877 879: 74(fvec3) Load 666(fragcolor) 880: 74(fvec3) FAdd 879 878 Store 666(fragcolor) 880 Branch 694 694: Label 882: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 684 883: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 685 685 12 12 881: 147(int) Load 686(i) 884: 147(int) IAdd 881 373 Store 686(i) 884 Branch 691 693: Label 886: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 887: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 888 888 12 12 885: 564(ptr) AccessChain 200(ubo) 871 889: 147(int) Load 885 890: 161(bool) SGreaterThan 889 156 SelectionMerge 892 None BranchConditional 890 891 892 891: Label 898: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 893 899: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 894 894 12 12 897: 74(fvec3) Load 666(fragcolor) Store 896(param) 897 901: 74(fvec3) Load 535(fragPos) Store 900(param) 901 902: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 896(param) 900(param) Store 666(fragcolor) 902 Branch 892 892: Label 904: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 905: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 906 906 12 12 903: 74(fvec3) Load 666(fragcolor) 907: 16(float) CompositeExtract 903 0 908: 16(float) CompositeExtract 903 1 909: 16(float) CompositeExtract 903 2 910: 19(fvec4) CompositeConstruct 907 908 909 209 Store 143(outFragColor) 910 911: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 912 912 12 12 Return FunctionEnd 37(textureProj(vf4;f1;vf2;): 16(float) Function None 32 34(P): 22(ptr) FunctionParameter 35(layer): 25(ptr) FunctionParameter 36(offset): 30(ptr) FunctionParameter 38: Label 204(shadow): 25(ptr) Variable Function 210(shadowCoord): 22(ptr) Variable Function 254(dist): 25(ptr) Variable Function 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 51: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 43 43 12 12 48: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 46 34(P) 49 54: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 52 35(layer) 49 57: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 55 36(offset) 49 203: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 40 37(textureProj(vf4;f1;vf2;) 208: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 206 206 12 12 207: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 205 204(shadow) 49 Store 204(shadow) 209 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 213 213 12 12 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 211 210(shadowCoord) 49 216: 19(fvec4) Load 34(P) 217: 25(ptr) AccessChain 34(P) 13 218: 16(float) Load 217 219: 19(fvec4) CompositeConstruct 218 218 218 218 220: 19(fvec4) FDiv 216 219 Store 210(shadowCoord) 220 222: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 223 223 12 12 221: 19(fvec4) Load 210(shadowCoord) 224: 27(fvec2) VectorShuffle 221 221 0 1 226: 27(fvec2) VectorTimesScalar 224 225 227: 27(fvec2) CompositeConstruct 225 225 228: 27(fvec2) FAdd 226 227 229: 25(ptr) AccessChain 210(shadowCoord) 12 230: 16(float) CompositeExtract 228 0 Store 229 230 231: 25(ptr) AccessChain 210(shadowCoord) 45 232: 16(float) CompositeExtract 228 1 Store 231 232 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 235 235 12 12 233: 25(ptr) AccessChain 210(shadowCoord) 28 236: 16(float) Load 233 238: 161(bool) FOrdGreaterThan 236 237 SelectionMerge 240 None BranchConditional 238 239 240 239: Label 242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 243: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 235 235 12 12 241: 25(ptr) AccessChain 210(shadowCoord) 28 244: 16(float) Load 241 245: 161(bool) FOrdLessThan 244 209 Branch 240 240: Label 246: 161(bool) Phi 238 38 245 239 249: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 250: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 235 235 12 12 SelectionMerge 248 None BranchConditional 246 247 248 247: Label 258: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 251 259: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 252 252 12 12 257: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 255 254(dist) 49 260: 127 Load 133(samplerShadowMap) 261: 19(fvec4) Load 210(shadowCoord) 262: 27(fvec2) VectorShuffle 261 261 0 1 263: 27(fvec2) Load 36(offset) 264: 27(fvec2) FAdd 262 263 265: 16(float) Load 35(layer) 266: 16(float) CompositeExtract 264 0 267: 16(float) CompositeExtract 264 1 268: 74(fvec3) CompositeConstruct 266 267 265 269: 19(fvec4) ImageSampleImplicitLod 260 268 270: 16(float) CompositeExtract 269 0 Store 254(dist) 270 272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 273 273 12 12 271: 25(ptr) AccessChain 210(shadowCoord) 13 274: 16(float) Load 271 276: 161(bool) FOrdGreaterThan 274 275 SelectionMerge 278 None BranchConditional 276 277 278 277: Label 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 251 281: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 273 273 12 12 279: 16(float) Load 254(dist) 282: 25(ptr) AccessChain 210(shadowCoord) 28 283: 16(float) Load 282 284: 161(bool) FOrdLessThan 279 283 Branch 278 278: Label 285: 161(bool) Phi 276 247 284 277 288: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 251 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 273 273 12 12 SelectionMerge 287 None BranchConditional 285 286 287 286: Label 294: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 290 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 291 291 12 12 Store 204(shadow) 293 Branch 287 287: Label Branch 248 248: Label 297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 298: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 299 299 12 12 296: 16(float) Load 204(shadow) ReturnValue 296 FunctionEnd 62(filterPCF(vf4;f1;): 16(float) Function None 58 60(sc): 22(ptr) FunctionParameter 61(layer): 25(ptr) FunctionParameter 63: Label 310(texDim): 308(ptr) Variable Function 322(scale): 25(ptr) Variable Function 329(dx): 25(ptr) Variable Function 343(dy): 25(ptr) Variable Function 355(shadowFactor): 25(ptr) Variable Function 361(count): 337(ptr) Variable Function 367(range): 337(ptr) Variable Function 376(x): 337(ptr) Variable Function 398(y): 337(ptr) Variable Function 430(param): 22(ptr) Variable Function 432(param): 25(ptr) Variable Function 434(param): 30(ptr) Variable Function 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 66 66 12 12 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 67 60(sc) 49 73: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 72 61(layer) 49 305: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 65 62(filterPCF(vf4;f1;) 315: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 313 313 12 12 314: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 311 310(texDim) 49 316: 127 Load 133(samplerShadowMap) 317: 122 Image 316 320: 318(ivec3) ImageQuerySizeLod 317 156 321: 306(ivec2) VectorShuffle 320 320 0 1 Store 310(texDim) 321 327: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 325 325 12 12 326: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 323 322(scale) 49 Store 322(scale) 328 334: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 332 332 12 12 333: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 330 329(dx) 49 335: 16(float) Load 322(scale) 336: 16(float) FMul 335 209 339: 337(ptr) AccessChain 310(texDim) 12 340: 147(int) Load 339 341: 16(float) ConvertSToF 340 342: 16(float) FDiv 336 341 Store 329(dx) 342 348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 346 346 12 12 347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 344 343(dy) 49 349: 16(float) Load 322(scale) 350: 16(float) FMul 349 209 351: 337(ptr) AccessChain 310(texDim) 45 352: 147(int) Load 351 353: 16(float) ConvertSToF 352 354: 16(float) FDiv 350 353 Store 343(dy) 354 360: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 358 358 12 12 359: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 356 355(shadowFactor) 49 Store 355(shadowFactor) 275 366: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 364 364 12 12 365: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 362 361(count) 49 Store 361(count) 156 372: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 370 370 12 12 371: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 368 367(range) 49 Store 367(range) 373 380: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 374 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 375 375 12 12 379: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 377 376(x) 49 382: 147(int) Load 367(range) 383: 147(int) SNegate 382 Store 376(x) 383 Branch 384 384: Label 388: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 374 389: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 375 375 12 12 LoopMerge 386 387 None Branch 390 390: Label 392: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 374 393: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 375 375 12 12 391: 147(int) Load 376(x) 394: 147(int) Load 367(range) 395: 161(bool) SLessThanEqual 391 394 BranchConditional 395 385 386 385: Label 402: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 396 403: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 397 397 12 12 401: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 399 398(y) 49 404: 147(int) Load 367(range) 405: 147(int) SNegate 404 Store 398(y) 405 Branch 406 406: Label 410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 396 411: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 397 397 12 12 LoopMerge 408 409 None Branch 412 412: Label 414: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 396 415: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 397 397 12 12 413: 147(int) Load 398(y) 416: 147(int) Load 367(range) 417: 161(bool) SLessThanEqual 413 416 BranchConditional 417 407 408 407: Label 419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 396 420: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 421 421 12 12 418: 16(float) Load 329(dx) 422: 147(int) Load 376(x) 423: 16(float) ConvertSToF 422 424: 16(float) FMul 418 423 425: 16(float) Load 343(dy) 426: 147(int) Load 398(y) 427: 16(float) ConvertSToF 426 428: 16(float) FMul 425 427 429: 27(fvec2) CompositeConstruct 424 428 431: 19(fvec4) Load 60(sc) Store 430(param) 431 433: 16(float) Load 61(layer) Store 432(param) 433 Store 434(param) 429 435: 16(float) FunctionCall 37(textureProj(vf4;f1;vf2;) 430(param) 432(param) 434(param) 436: 16(float) Load 355(shadowFactor) 437: 16(float) FAdd 436 435 Store 355(shadowFactor) 437 439: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 440 440 12 12 438: 147(int) Load 361(count) 441: 147(int) IAdd 438 373 Store 361(count) 441 Branch 409 409: Label 443: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 396 444: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 397 397 12 12 442: 147(int) Load 398(y) 445: 147(int) IAdd 442 373 Store 398(y) 445 Branch 406 408: Label Branch 387 387: Label 447: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 374 448: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 375 375 12 12 446: 147(int) Load 376(x) 449: 147(int) IAdd 446 373 Store 376(x) 449 Branch 384 386: Label 451: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 452: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 453 453 12 12 450: 16(float) Load 355(shadowFactor) 454: 147(int) Load 361(count) 455: 16(float) ConvertSToF 454 456: 16(float) FDiv 450 455 ReturnValue 456 FunctionEnd 82(shadow(vf3;vf3;): 74(fvec3) Function None 78 80(fragcolor): 76(ptr) FunctionParameter 81(fragpos): 76(ptr) FunctionParameter 83: Label 465(i): 337(ptr) Variable Function 483(shadowClip): 22(ptr) Variable Function 501(shadowFactor): 25(ptr) Variable Function 510(param): 22(ptr) Variable Function 512(param): 25(ptr) Variable Function 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 86 86 12 12 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 87 80(fragcolor) 49 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 92 81(fragpos) 49 462: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 85 82(shadow(vf3;vf3;) 469: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 463 470: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 464 464 12 12 468: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 466 465(i) 49 Store 465(i) 156 Branch 471 471: Label 475: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 463 476: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 464 464 12 12 LoopMerge 473 474 None Branch 477 477: Label 479: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 463 480: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 464 464 12 12 478: 147(int) Load 465(i) 482: 161(bool) SLessThan 478 481 BranchConditional 482 472 473 472: Label 488: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 463 489: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 486 486 12 12 487: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 484 483(shadowClip) 49 490: 147(int) Load 465(i) 493: 491(ptr) AccessChain 200(ubo) 373 490 481 494: 159 Load 493 495: 74(fvec3) Load 81(fragpos) 496: 16(float) CompositeExtract 495 0 497: 16(float) CompositeExtract 495 1 498: 16(float) CompositeExtract 495 2 499: 19(fvec4) CompositeConstruct 496 497 498 209 500: 19(fvec4) MatrixTimesVector 494 499 Store 483(shadowClip) 500 505: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 503 503 12 12 504: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 502 501(shadowFactor) 49 507: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 508 508 12 12 506: 147(int) Load 465(i) 509: 16(float) ConvertSToF 506 511: 19(fvec4) Load 483(shadowClip) Store 510(param) 511 Store 512(param) 509 513: 16(float) FunctionCall 62(filterPCF(vf4;f1;) 510(param) 512(param) Store 501(shadowFactor) 513 515: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 516 516 12 12 514: 16(float) Load 501(shadowFactor) 517: 74(fvec3) Load 80(fragcolor) 518: 74(fvec3) VectorTimesScalar 517 514 Store 80(fragcolor) 518 Branch 474 474: Label 520: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 463 521: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 464 464 12 12 519: 147(int) Load 465(i) 522: 147(int) IAdd 519 373 Store 465(i) 522 Branch 471 473: Label 524: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 525: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 526 526 12 12 523: 74(fvec3) Load 80(fragcolor) ReturnValue 523 FunctionEnd