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
