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