vulkan[14] vulkan-adaf14910a652ae432ce2af91ff5419f
// VULKAN[14] source bytes (9418) ref=adaf14910a652ae432ce2af91ff5419f
// Spirv source (9084), reflection performed with SPIRV-Cross, KhronosGroup
#version 450
#if defined(GL_EXT_control_flow_attributes)
#extension GL_EXT_control_flow_attributes : require
#define SPIRV_CROSS_FLATTEN [[flatten]]
#define SPIRV_CROSS_BRANCH [[dont_flatten]]
#define SPIRV_CROSS_UNROLL [[unroll]]
#define SPIRV_CROSS_LOOP [[dont_unroll]]
#else
#define SPIRV_CROSS_FLATTEN
#define SPIRV_CROSS_BRANCH
#define SPIRV_CROSS_UNROLL
#define SPIRV_CROSS_LOOP
#endif
layout(binding = 1, std140) uniform _1424_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 = 704) vec4 _m4;
} _22044;
layout(binding = 14, std140) uniform _2058_18812
{
vec4 _m0[1024];
} _18812;
layout(binding = 0, std140) uniform _1007_15580
{
vec3 _m0;
} _15580;
layout(binding = 0, std140) uniform _2311_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;
} _4930;
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 vec4 _5609;
layout(location = 7) in uvec4 _5227;
layout(location = 8) in vec4 _5600;
layout(location = 9) 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 _3892;
layout(location = 6) out vec4 _5702;
layout(location = 7) out vec4 _3047;
vec4 _10264;
vec2 _15190;
mat4 spvWorkaroundRowMajor(mat4 wrap) { return wrap; }
void main()
{
int _14778 = int(_4571.x * 4.0);
int _19272 = _14778 + 8;
int _17192 = _19272 + (int(_5227.x) * 4);
vec4 _11175;
vec4 _13861;
vec4 _14344;
_11175 = _18812._m0[_17192 + 2] * _5600.x;
_14344 = _18812._m0[_17192 + 1] * _5600.x;
_13861 = _18812._m0[_17192] * _5600.x;
SPIRV_CROSS_UNROLL
for (int _7865 = 1; _7865 < 4; )
{
int _15192 = _19272 + (int(_5227[_7865]) * 4);
float _10307 = _5600[_7865];
_11175 += (_18812._m0[_15192 + 2] * _10307);
_14344 += (_18812._m0[_15192 + 1] * _10307);
_13861 += (_18812._m0[_15192] * _10307);
_7865++;
continue;
}
mat3x4 _11395 = mat3x4(_13861, _14344, _11175);
vec3 _8910 = normalize(vec4(_3208.xyz, 0.0) * _11395);
vec3 _8849 = vec4(_5609.xyz, 0.0) * _11395;
vec3 _23727 = normalize(_8849 - (_8910 * dot(_8849, _8910)));
vec4 _21382 = _10264;
_21382.x = _23727.x;
vec4 _16135 = _21382;
_16135.y = _23727.y;
vec4 _16136 = _16135;
_16136.z = _23727.z;
vec4 _16137 = _16136;
_16137.w = _5609.w;
vec4 _16138 = _10264;
_16138.x = _8910.x;
vec4 _16139 = _16138;
_16139.y = _8910.y;
vec4 _7120 = _16139;
_7120.z = _8910.z;
vec3 _19300 = vec4(_5275 * _18812._m0[_14778].zzz, 1.0) * _11395;
float _11793 = _19300.x;
vec4 _8325 = _10264;
_8325.x = _11793;
vec4 _16140 = _8325;
_16140.y = _19300.y;
vec4 _18504 = _16140;
_18504.z = _19300.z;
vec3 _11290 = _19300 - _22044._m1;
vec4 _19574 = _18504;
_19574.w = dot(_22044._m2, _11290);
vec4 _17248 = _7120;
_17248.w = clamp(pow(clamp(dot(-normalize(_11290), reflect(_15580._m0, _8910)), 0.0, 1.0), 16.0), 0.0, 1.0);
vec4 _14096 = (vec4(_11793, _19300.yz, 1.0) + (_22044._m4 * 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 = _15190;
_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 = _10264;
_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 = _15190;
_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 = _15190;
_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 = _10264;
_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 = _15190;
_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 _7681 = _24987;
_7681.w = _20199.y;
int _18762 = _14778 + 3;
vec4 _15341 = _10264;
_15341.x = _4489.x;
vec4 _16141 = _15341;
_16141.y = _4489.y;
vec4 _23363 = _16141;
_23363.z = _4489.z;
vec3 _23300 = max(_4543 * 0.5, vec3(9.9999997473787516355514526367188e-05));
vec4 _7225 = _10264;
_7225.x = _23300.x;
vec4 _16142 = _7225;
_16142.y = _23300.y;
vec4 _8108 = _16142;
_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 = _18812._m0[_18762].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 _21753 = _18812._m0[_18762];
_21753.x = _16739.x;
vec4 _16143 = _21753;
_16143.y = _16739.y;
vec4 _15962 = _16143;
_15962.z = _16739.z;
vec4 _11298 = _23363;
_11298.w = 0.0;
vec4 _18793 = _8108;
_18793.w = 0.0;
_4492 = _19574;
_3849 = _17248;
_5503 = _15962;
_3142 = _11298;
_4343 = _18793;
_3892 = _16137;
_5702 = _18506;
_3047 = _7681;
vec4 _6282 = _14096;
_6282.y = -_14096.y;
gl_Position = _6282;
}
// Source metadata (unknown encoding) (334)
[9084]
0A 00 00 00 00 30 50 51 52 53 60 20 10 5D 00 00 01 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 00 00 00 00 00 00 00 00 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 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00
03 00 00 00 00 00 00 00 00 00 F1 06 A0 D8