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