vulkan[3] vulkan-db9bede0bdf0a7e3fcceb7eb26b30764
// VULKAN[3] source bytes (12964) ref=db9bede0bdf0a7e3fcceb7eb26b30764
// Spirv source (12792), reflection performed with SPIRV-Cross, KhronosGroup

#version 450

layout(binding = 0, std140) uniform _662_4930
{
    layout(offset = 0) float _m0;
    layout(offset = 16) vec3 _m1;
    layout(offset = 32) vec3 _m2;
    layout(offset = 48) vec3 _m3;
    layout(offset = 64) vec3 _m4;
    layout(offset = 320) vec3 _m5;
    layout(offset = 336) vec3 _m6;
    layout(offset = 384) vec3 _m7;
    layout(offset = 400) vec3 _m8;
    layout(offset = 416) vec3 _m9;
    layout(offset = 432) vec3 _m10;
    layout(offset = 448) vec3 _m11;
    layout(offset = 464) vec3 _m12;
    layout(offset = 480) vec3 _m13;
    layout(offset = 496) vec3 _m14;
    layout(offset = 512) vec3 _m15;
    layout(offset = 528) vec3 _m16;
} _4930;

uniform sampler2D _25261;
uniform sampler2D _25263;
uniform sampler2D _25265;
uniform sampler2D _25267;
uniform sampler2D _25269;
uniform sampler2D _25271;
uniform sampler2D _25273;
uniform sampler2D _25275;

layout(location = 0) in vec4 _4171;
layout(location = 1) in vec4 _4439;
layout(location = 2) in vec4 _3942;
layout(location = 3) in vec4 _5081;
layout(location = 4) in vec4 _3271;
layout(location = 6) in vec4 _4049;
layout(location = 7) in vec4 _4103;
layout(location = 8) in vec4 _5547;
layout(location = 9) in vec4 _3410;
layout(location = 0) out vec4 _3182;
layout(location = 1) out vec4 _4256;
layout(location = 2) out vec4 _3188;
layout(location = 3) out vec4 _3598;

vec4 _10264;
vec3 _11812;

void main()
{
    vec3 _22291 = normalize(_4439.xyz);
    vec3 _23580 = _4171.xyz * vec3(0.0078125);
    float _11844 = _23580.y;
    float _24989 = -_23580.z;
    vec3 _16094 = vec3(_11844, _24989, 1.0);
    float _13770 = _23580.x;
    vec3 _22912 = vec3(_13770, _24989, 1.0);
    vec3 _14466 = vec3(_13770, -_11844, 1.0);
    vec2 _22278 = vec2(dot(_4930._m7, _16094), dot(_4930._m8, _16094));
    vec2 _18488 = vec2(dot(_4930._m7, _22912), dot(_4930._m8, _22912));
    vec2 _12123 = vec2(dot(_4930._m7, _14466), dot(_4930._m8, _14466));
    vec2 _14513 = vec2(dot(_4930._m5, _14466), dot(_4930._m6, _14466));
    float _17095 = clamp(_5081.w * 2.0, 0.0, 1.0);
    float _19187 = clamp(_3271.w * 2.0, 0.0, 1.0);
    vec4 _24547 = vec4(_17095);
    vec4 _24548 = vec4(_19187);
    vec4 _7071 = mix(mix(texture(_25263, _4103.xy), texture(_25263, _4103.zw), _24547), texture(_25263, _3410.zw), _24548);
    vec4 _22004 = mix(mix(texture(_25265, _5547.xy), texture(_25265, _5547.zw), _24547), texture(_25265, _14513), _24548);
    vec4 _20204 = mix(mix(texture(_25267, _22278), texture(_25267, _18488), _24547), texture(_25267, _12123), _24548);
    vec3 _17558 = mix(mix(texture(_25261, _4049.xy), texture(_25261, _4049.zw), _24547), texture(_25261, _3410.xy), _24548).xyz * _4930._m1;
    vec4 _21753 = _10264;
    _21753.x = _17558.x;
    vec4 _16135 = _21753;
    _16135.y = _17558.y;
    vec4 _18504 = _16135;
    _18504.z = _17558.z;
    vec3 _17559 = _7071.xyz * _4930._m2;
    vec4 _21754 = _7071;
    _21754.x = _17559.x;
    vec4 _16136 = _21754;
    _16136.y = _17559.y;
    vec4 _18505 = _16136;
    _18505.z = _17559.z;
    vec3 _17560 = _22004.xyz * _4930._m3;
    vec4 _21755 = _22004;
    _21755.x = _17560.x;
    vec4 _16137 = _21755;
    _16137.y = _17560.y;
    vec4 _18506 = _16137;
    _18506.z = _17560.z;
    vec3 _17561 = _20204.xyz * _4930._m4;
    vec4 _21756 = _20204;
    _21756.x = _17561.x;
    vec4 _16138 = _21756;
    _16138.y = _17561.y;
    vec4 _16117 = _16138;
    _16117.z = _17561.z;
    float _20025 = _7071.w;
    float _7380 = smoothstep(max(0.0, _20025 - _3271.x), min(1.0, _20025 + _3271.x), _5081.x);
    float _16584 = 1.0 - _7380;
    float _21190 = _22004.w;
    float _20617 = clamp(smoothstep(max(0.0, _21190 - _3271.y), min(1.0, _21190 + _3271.y), _5081.y), 0.0, _16584);
    float _15457 = _16584 - _20617;
    float _12534 = _20204.w;
    float _20579 = clamp(smoothstep(max(0.0, _12534 - _3271.z), min(1.0, _12534 + _3271.z), _5081.z), 0.0, _15457);
    float _16962 = _15457 - _20579;
    vec3 _24904 = _18504.xyz * _16962;
    vec4 _6712 = vec4(0.0);
    _6712.x = _24904.x;
    vec4 _16139 = _6712;
    _16139.y = _24904.y;
    vec4 _17621 = _16139;
    _17621.z = _24904.z;
    vec3 _22630 = _17621.xyz + (_18505.xyz * _7380);
    vec4 _24984 = _17621;
    _24984.x = _22630.x;
    vec4 _16140 = _24984;
    _16140.y = _22630.y;
    vec4 _17622 = _16140;
    _17622.z = _22630.z;
    vec3 _22631 = _17622.xyz + (_18506.xyz * _20617);
    vec4 _24985 = _17622;
    _24985.x = _22631.x;
    vec4 _16141 = _24985;
    _16141.y = _22631.y;
    vec4 _17623 = _16141;
    _17623.z = _22631.z;
    vec3 _22632 = _17623.xyz + (_16117.xyz * _20579);
    vec4 _24986 = _17623;
    _24986.x = _22632.x;
    vec4 _16142 = _24986;
    _16142.y = _22632.y;
    vec4 _16424 = _16142;
    _16424.z = _22632.z;
    vec3 _19161 = _16424.xyz * _3942.xyz;
    vec4 _21757 = _16424;
    _21757.x = _19161.x;
    vec4 _16143 = _21757;
    _16143.y = _19161.y;
    vec4 _19671 = _16143;
    _19671.z = _19161.z;
    vec3 _23029 = vec3(texture(_25269, _4049.xy).wy, 1.0);
    vec3 _23030 = vec3(texture(_25271, _4103.xy).wy, 1.0);
    vec3 _23031 = vec3(texture(_25273, _5547.xy).wy, 1.0);
    vec3 _23032 = vec3(texture(_25275, _22278).wy, 1.0);
    vec2 _13787 = (((((vec2(dot(_4930._m9, _23029), dot(_4930._m10, _23029)) * _16962) + (vec2(dot(_4930._m11, _23030), dot(_4930._m12, _23030)) * _7380)) + (vec2(dot(_4930._m13, _23031), dot(_4930._m14, _23031)) * _20617)) + (vec2(dot(_4930._m15, _23032), dot(_4930._m16, _23032)) * _20579)) * 2.0) - vec2(1.0);
    vec3 _7526 = _11812;
    _7526.x = _13787.x;
    float _19818 = _13787.y;
    vec3 _17735 = _7526;
    _17735.y = _19818;
    vec3 _7849 = _17735;
    _7849.z = sqrt(clamp(1.0 - dot(_17735.xy, _17735.xy), 0.0, 1.0));
    vec3 _18764 = _7849;
    _18764.y = -_19818;
    vec2 _20105 = _18764.xy * _4930._m0;
    vec3 _6713 = _18764;
    _6713.x = _20105.x;
    vec3 _7350 = _6713;
    _7350.y = _20105.y;
    vec3 _24585 = normalize(_7350);
    vec3 _24648 = vec3(0.0, 1.0, 0.0) - (_22291 * _22291.y);
    vec3 _11185 = vec3(0.0, 0.0, -1.0) - (_22291 * dot(_22291, vec3(0.0, 0.0, -1.0)));
    vec3 _21596 = mix(_11185, vec3(0.0, 0.0, -1.0), bvec3(length(_11185) < 9.9999997473787516355514526367188e-06));
    vec3 _24606 = vec3(texture(_25269, _4049.zw).wy, 1.0);
    vec3 _24608 = vec3(texture(_25271, _4103.zw).wy, 1.0);
    vec3 _24609 = vec3(texture(_25273, _5547.zw).wy, 1.0);
    vec3 _24610 = vec3(texture(_25275, _18488).wy, 1.0);
    vec2 _13788 = (((((vec2(dot(_4930._m9, _24606), dot(_4930._m10, _24606)) * _16962) + (vec2(dot(_4930._m11, _24608), dot(_4930._m12, _24608)) * _7380)) + (vec2(dot(_4930._m13, _24609), dot(_4930._m14, _24609)) * _20617)) + (vec2(dot(_4930._m15, _24610), dot(_4930._m16, _24610)) * _20579)) * 2.0) - vec2(1.0);
    vec3 _7527 = _11812;
    _7527.x = _13788.x;
    float _19819 = _13788.y;
    vec3 _17736 = _7527;
    _17736.y = _19819;
    vec3 _7850 = _17736;
    _7850.z = sqrt(clamp(1.0 - dot(_17736.xy, _17736.xy), 0.0, 1.0));
    vec3 _17881 = _7850;
    _17881.y = -_19819;
    vec2 _20899 = _17881.xy * _4930._m0;
    vec3 _6714 = _17881;
    _6714.x = _20899.x;
    vec3 _7351 = _6714;
    _7351.y = _20899.y;
    vec3 _24586 = normalize(_7351);
    vec3 _24649 = vec3(1.0, 0.0, 0.0) - (_22291 * _22291.x);
    vec3 _21597 = mix(_24649, vec3(1.0, 0.0, 0.0), bvec3(length(_24649) < 9.9999997473787516355514526367188e-06));
    vec3 _24611 = vec3(texture(_25269, _3410.xy).wy, 1.0);
    vec3 _24612 = vec3(texture(_25271, _3410.zw).wy, 1.0);
    vec3 _24613 = vec3(texture(_25273, _14513).wy, 1.0);
    vec3 _24614 = vec3(texture(_25275, _12123).wy, 1.0);
    vec2 _13789 = (((((vec2(dot(_4930._m9, _24611), dot(_4930._m10, _24611)) * _16962) + (vec2(dot(_4930._m11, _24612), dot(_4930._m12, _24612)) * _7380)) + (vec2(dot(_4930._m13, _24613), dot(_4930._m14, _24613)) * _20617)) + (vec2(dot(_4930._m15, _24614), dot(_4930._m16, _24614)) * _20579)) * 2.0) - vec2(1.0);
    vec3 _7528 = _11812;
    _7528.x = _13789.x;
    float _19820 = _13789.y;
    vec3 _17737 = _7528;
    _17737.y = _19820;
    vec3 _7851 = _17737;
    _7851.z = sqrt(clamp(1.0 - dot(_17737.xy, _17737.xy), 0.0, 1.0));
    vec3 _17882 = _7851;
    _17882.y = -_19820;
    vec2 _20900 = _17882.xy * _4930._m0;
    vec3 _6715 = _17882;
    _6715.x = _20900.x;
    vec3 _8623 = _6715;
    _8623.y = _20900.y;
    vec3 _12994 = normalize(_8623);
    vec3 _11186 = vec3(0.0, -1.0, 0.0) - (_22291 * dot(_22291, vec3(0.0, -1.0, 0.0)));
    vec4 _18253 = _19671;
    _18253.w = 0.0;
    vec4 _17180 = vec4(0.0);
    _17180.w = 0.0;
    _3182 = _18253;
    _4256 = _17180;
    _3188 = _4171.wwww;
    _3598 = vec4((mix(mix(((mix(_24648, vec3(0.0, 1.0, 0.0), bvec3(length(_24648) < 9.9999997473787516355514526367188e-06)) * _24585.x) + (_21596 * _24585.y)) + (_22291 * _24585.z), ((_21597 * _24586.x) + (_21596 * _24586.y)) + (_22291 * _24586.z), vec3(_17095)), ((_21597 * _12994.x) + (mix(_11186, vec3(0.0, -1.0, 0.0), bvec3(length(_11186) < 9.9999997473787516355514526367188e-06)) * _12994.y)) + (_22291 * _12994.z), vec3(_19187)) * 0.5) + vec3(0.5), 0.0);
}

// Source metadata (unknown encoding) (172)
[12792]
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 00 00 00 00 
00 00 CF 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 00 00 08 00 00 00 00 00 01 00 
00 00 00 00 00 00 01 00 00 00 00 00