vulkan[6] vulkan-a6cbc00c3d857a1c44005845e5ea54ce
// VULKAN[6] source bytes (12280) ref=a6cbc00c3d857a1c44005845e5ea54ce
// Spirv source (11948), reflection performed with SPIRV-Cross, KhronosGroup

#version 450

layout(binding = 1, std140) uniform _1571_22044
{
    layout(row_major, offset = 0) mat4 _m0;
    layout(offset = 304) vec3 _m1;
    layout(offset = 320) vec3 _m2;
    layout(offset = 348) float _m3;
    layout(offset = 400) vec4 _m4;
    layout(offset = 704) vec4 _m5;
} _22044;

layout(binding = 0, std140) uniform _1340_4930
{
    float _m0;
    float _m1;
    float _m2;
    float _m3;
    float _m4;
    float _m5;
    vec2 _m6;
    vec2 _m7;
    vec2 _m8;
    vec2 _m9;
    vec2 _m10;
    vec2 _m11;
    float _m12;
    float _m13;
    vec2 _m14;
    vec2 _m15;
    float _m16;
    float _m17;
    float _m18;
    float _m19;
    float _m20;
    float _m21;
    float _m22;
    float _m23;
    float _m24;
    float _m25;
    float _m26;
    float _m27;
    float _m28;
    float _m29;
    float _m30;
    float _m31;
} _4930;

uniform sampler2D _25243;

layout(location = 0) in vec3 _5275;
layout(location = 1) in vec4 _3208;
layout(location = 2) in vec2 _5800;
layout(location = 3) in vec3 _4489;
layout(location = 4) in vec3 _4543;
layout(location = 5) in vec3 _4772;
layout(location = 6) in uvec4 _5227;
layout(location = 7) in vec2 _4571;
layout(location = 0) out vec4 _4492;
layout(location = 1) out vec4 _3849;
layout(location = 2) out vec4 _5503;
layout(location = 3) out vec4 _3142;
layout(location = 4) out vec4 _4343;
layout(location = 5) out vec4 _5702;
layout(location = 6) out vec4 _3047;

vec3 _17442;
vec4 _9138;
vec2 _18779;

mat4 spvWorkaroundRowMajor(mat4 wrap) { return wrap; }

void main()
{
    vec2 _17029 = _4571 + vec2((((float(_5227.x) + 2.0) * 4.0) + 0.5) * _22044._m4.z, 0.0);
    float _9175 = _17029.x;
    float _19686 = floor(_9175);
    vec2 _9444 = _17029;
    _9444.x = _9175 - _19686;
    vec2 _14923 = _9444;
    _14923.y = _17029.y + (_19686 * _22044._m4.w);
    mat3x4 _20339 = mat3x4(textureLod(_25243, _14923, 0.0), textureLodOffset(_25243, _14923, 0.0, ivec2(1, 0)), textureLodOffset(_25243, _14923, 0.0, ivec2(2, 0)));
    vec4 _8651 = (_3208 * 255.0) - vec4(128.0);
    vec4 _10240 = vec4(lessThan(_8651, vec4(0.0)));
    vec4 _20162 = (abs(_8651) - _10240) - vec4(64.0);
    vec4 _10241 = vec4(lessThan(_20162, vec4(0.0)));
    vec4 _19942 = (abs(_20162) - _10241) * vec4(0.01587301678955554962158203125);
    float _20450 = _19942.x;
    vec3 _21753 = _17442;
    _21753.x = _20450;
    float _21011 = _19942.y;
    vec3 _6513 = _21753;
    _6513.y = _21011;
    vec3 _10581 = _6513;
    _10581.z = (1.0 - _20450) - _21011;
    vec3 _6246 = normalize(_10581);
    vec3 _8929 = normalize(vec4(_6246.xy * (vec4(1.0) - (_10241 * 2.0)).xy, _6246.z * (vec4(1.0) - (_10240 * 2.0)).x, 0.0) * _20339);
    vec4 _21382 = _9138;
    _21382.x = _8929.x;
    vec4 _16135 = _21382;
    _16135.y = _8929.y;
    vec4 _7120 = _16135;
    _7120.z = _8929.z;
    vec3 _19300 = vec4(_5275 * textureLod(_25243, _4571, 0.0).zzz, 1.0) * _20339;
    float _11793 = _19300.x;
    vec4 _8325 = _9138;
    _8325.x = _11793;
    vec4 _16136 = _8325;
    _16136.y = _19300.y;
    vec4 _18504 = _16136;
    _18504.z = _19300.z;
    vec4 _8203 = _18504;
    _8203.w = dot(_22044._m2, _19300 - _22044._m1);
    vec4 _23766 = _7120;
    _23766.w = 0.0;
    vec4 _14096 = (vec4(_11793, _19300.yz, 1.0) + (_22044._m5 * 1.0)) * spvWorkaroundRowMajor(_22044._m0);
    float _8864 = _4930._m3 * 0.01745329238474369049072265625;
    vec2 _16310 = _5800 - vec2(0.5);
    float _21977 = cos(_8864);
    float _21439 = sin(_8864);
    float _9481 = _16310.x;
    float _24684 = _16310.y;
    vec2 _13488 = _18779;
    _13488.x = (_9481 * _21977) + (_24684 * (-_21439));
    vec2 _11855 = _13488;
    _11855.y = (_9481 * _21439) + (_24684 * _21977);
    vec2 _20196 = (((_11855 * _4930._m0) + vec2(0.5)) + (_4930._m6 * _22044._m3)) + _4930._m9;
    vec4 _24984 = _9138;
    _24984.x = _20196.x;
    vec4 _18505 = _24984;
    _18505.y = _20196.y;
    float _8865 = _4930._m4 * 0.01745329238474369049072265625;
    float _6979 = cos(_8865);
    float _20144 = sin(_8865);
    vec2 _13489 = _18779;
    _13489.x = (_9481 * _6979) + (_24684 * (-_20144));
    vec2 _11856 = _13489;
    _11856.y = (_9481 * _20144) + (_24684 * _6979);
    vec2 _20197 = (((_11856 * _4930._m1) + vec2(0.5)) + (_4930._m7 * _22044._m3)) + _4930._m10;
    vec4 _24985 = _18505;
    _24985.z = _20197.x;
    vec4 _18506 = _24985;
    _18506.w = _20197.y;
    float _8866 = _4930._m5 * 0.01745329238474369049072265625;
    float _6980 = cos(_8866);
    float _20145 = sin(_8866);
    vec2 _13490 = _18779;
    _13490.x = (_9481 * _6980) + (_24684 * (-_20145));
    vec2 _11857 = _13490;
    _11857.y = (_9481 * _20145) + (_24684 * _6980);
    vec2 _20198 = (((_11857 * _4930._m2) + vec2(0.5)) + (_4930._m8 * _22044._m3)) + _4930._m11;
    vec4 _24986 = _9138;
    _24986.x = _20198.x;
    vec4 _18507 = _24986;
    _18507.y = _20198.y;
    float _8867 = _4930._m13 * 0.01745329238474369049072265625;
    float _6981 = cos(_8867);
    float _20146 = sin(_8867);
    vec2 _13491 = _18779;
    _13491.x = (_9481 * _6981) + (_24684 * (-_20146));
    vec2 _11858 = _13491;
    _11858.y = (_9481 * _20146) + (_24684 * _6981);
    vec2 _20199 = (((_11858 * _4930._m12) + vec2(0.5)) + (_4930._m14 * _22044._m3)) + _4930._m15;
    vec4 _24987 = _18507;
    _24987.z = _20199.x;
    vec4 _18508 = _24987;
    _18508.w = _20199.y;
    float _24573 = (_22044._m3 + _4930._m18) / _4930._m17;
    vec2 _22630 = _18506.xy + ((_4930._m6 * (cos(pow(fract(_24573 * step(mod(floor(_24573), _4930._m19 + 1.0), 0.89999997615814208984375)), 0.89999997615814208984375) * 6.28318023681640625) - 1.0)) * (_4930._m16 * _4930._m17));
    vec4 _24988 = _18506;
    _24988.x = _22630.x;
    vec4 _18509 = _24988;
    _18509.y = _22630.y;
    float _24574 = (_22044._m3 + _4930._m22) / _4930._m21;
    vec2 _22631 = _18509.zw + ((_4930._m7 * (cos(pow(fract(_24574 * step(mod(floor(_24574), _4930._m23 + 1.0), 0.89999997615814208984375)), 0.89999997615814208984375) * 6.28318023681640625) - 1.0)) * (_4930._m20 * _4930._m21));
    vec4 _24989 = _18509;
    _24989.z = _22631.x;
    vec4 _18510 = _24989;
    _18510.w = _22631.y;
    float _24575 = (_22044._m3 + _4930._m26) / _4930._m25;
    vec2 _22632 = _18508.xy + ((_4930._m8 * (cos(pow(fract(_24575 * step(mod(floor(_24575), _4930._m27 + 1.0), 0.89999997615814208984375)), 0.89999997615814208984375) * 6.28318023681640625) - 1.0)) * (_4930._m24 * _4930._m25));
    vec4 _24990 = _18508;
    _24990.x = _22632.x;
    vec4 _18511 = _24990;
    _18511.y = _22632.y;
    float _24576 = (_22044._m3 + _4930._m30) / _4930._m29;
    vec2 _22633 = _18511.zw + ((_4930._m14 * (cos(pow(fract(_24576 * step(mod(floor(_24576), _4930._m31 + 1.0), 0.89999997615814208984375)), 0.89999997615814208984375) * 6.28318023681640625) - 1.0)) * (_4930._m28 * _4930._m29));
    vec4 _24991 = _18511;
    _24991.z = _22633.x;
    vec4 _15384 = _24991;
    _15384.w = _22633.y;
    vec4 _16488 = textureLodOffset(_25243, _4571, 0.0, ivec2(3, 0));
    vec4 _14517 = _9138;
    _14517.x = _4489.x;
    vec4 _16137 = _14517;
    _16137.y = _4489.y;
    vec4 _23363 = _16137;
    _23363.z = _4489.z;
    vec3 _23300 = max(_4543 * 0.5, vec3(9.9999997473787516355514526367188e-05));
    vec4 _7225 = _9138;
    _7225.x = _23300.x;
    vec4 _16138 = _7225;
    _16138.y = _23300.y;
    vec4 _8108 = _16138;
    _8108.z = _23300.z;
    vec3 _24538 = _4772 * vec3(0.077399380505084991455078125);
    vec3 _24786 = pow((_4772 * vec3(0.947867333889007568359375)) + vec3(0.0521326996386051177978515625), vec3(2.400000095367431640625));
    vec3 _16739 = _16488.xyz * vec3((_4772.x <= 0.040449999272823333740234375) ? _24538.x : _24786.x, (_4772.y <= 0.040449999272823333740234375) ? _24538.y : _24786.y, (_4772.z <= 0.040449999272823333740234375) ? _24538.z : _24786.z);
    vec4 _21754 = _16488;
    _21754.x = _16739.x;
    vec4 _16139 = _21754;
    _16139.y = _16739.y;
    vec4 _15962 = _16139;
    _15962.z = _16739.z;
    vec4 _11298 = _23363;
    _11298.w = 0.0;
    vec4 _18793 = _8108;
    _18793.w = 0.0;
    _4492 = _8203;
    _3849 = _23766;
    _5503 = _15962;
    _3142 = _11298;
    _4343 = _18793;
    _5702 = _18510;
    _3047 = _15384;
    vec4 _6282 = _14096;
    _6282.y = -_14096.y;
    gl_Position = _6282;
}

// Source metadata (unknown encoding) (332)
[11948]
08 00 00 00 00 30 50 51 52 53 20 5D 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 
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 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 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 01 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 01 00 00 00 00 00 02 00 00 00 00 00 00 00 03 00 
00 00 00 00 00 00 00 00 F1 06 A0 D8