You are on page 1of 6

#version 420

#extension GL_ARB_texture_gather : enable


#extension GL_ARB_shading_language_packing : enable
// shader 000d1e8d7233d1c1
uniform ivec4 uf_remappedVS[13];
uniform vec2 uf_windowSpaceToClipSpaceTransform;
layout(binding = 32) uniform sampler2D textureUnitVS0;// Tex0 addr 0x40b06800 res
320x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView:
0x0 (num 0x1) Sampler18 ClampX/Y/Z: 0 1 0 border: 1
layout(location = 0) in uvec4 attrDataSem0;
layout(location = 1) in uvec4 attrDataSem12;
out gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
};
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return
a*b; }
void main()
{
vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0);
vec4 R2f = vec4(0.0);
vec4 R3f = vec4(0.0);
vec4 R4f = vec4(0.0);
vec4 R5f = vec4(0.0);
vec4 R6f = vec4(0.0);
vec4 R7f = vec4(0.0);
vec4 R8f = vec4(0.0);
vec4 R122f = vec4(0.0);
vec4 R123f = vec4(0.0);
vec4 R126f = vec4(0.0);
vec4 R127f = vec4(0.0);
uvec4 attrDecoder;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID));
attrDecoder.xyzw = attrDataSem0.xyzw;
attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00);
attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|
(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16))));
R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)),
intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w)));
attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem12.xyzw)/255.0);
R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)),
intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w)));
// 0
R1f.x = -(R1f.w) + 1.0;
PV0f.x = R1f.x;
R127f.y = intBitsToFloat(uf_remappedVS[0].w) * intBitsToFloat(0x43c9d6c7);
PV0f.z = intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(0x3ed413cd);
R6f.w = 1.0;
R7f.w = 1.0;
PS0f = R7f.w;
// 1
PV1f.x = PV0f.x;
PV1f.x /= 2.0;
PV1f.y = intBitsToFloat(uf_remappedVS[1].x) + PV0f.z;
R0f.z = intBitsToFloat(uf_remappedVS[0].x);
R1f.w = intBitsToFloat(uf_remappedVS[0].x);
R3f.w = intBitsToFloat(uf_remappedVS[0].x) + -(0.5);
R3f.w = clamp(R3f.w, 0.0, 1.0);
PS1f = R3f.w;
// 2
R126f.x = fract(PV1f.y);
PV0f.x = R126f.x;
R127f.z = intBitsToFloat(uf_remappedVS[0].w) + PV1f.x;
R8f.w = 1.0;
// 3
tempf.x =
dot(vec4(R2f.x,R2f.y,R2f.z,R6f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsTo
Float(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_rema
ppedVS[1].w)));
PV1f.x = tempf.x;
PV1f.y = tempf.x;
PV1f.z = tempf.x;
PV1f.w = tempf.x;
R5f.w = tempf.x;
PS1f = PV0f.x * intBitsToFloat(0x3e65a5dd);
// 4
backupReg0f = R127f.z;
R127f.x = PS1f + R127f.y;
PV0f.x = R127f.x;
R127f.y = mul_nonIEEE(PV1f.x, intBitsToFloat(uf_remappedVS[2].y));
R127f.z = backupReg0f * intBitsToFloat(0x42c80000);
PV0f.w = mul_nonIEEE(PV1f.x, intBitsToFloat(uf_remappedVS[0].y));
// 5
tempf.x =
dot(vec4(R2f.x,R2f.y,R2f.z,R6f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsTo
Float(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_rema
ppedVS[3].w)));
PV1f.x = tempf.x;
PV1f.y = tempf.x;
PV1f.z = tempf.x;
PV1f.w = tempf.x;
R3f.y = tempf.x;
R127f.w = -(PV0f.w) + PV0f.x;
PS1f = R127f.w;
// 6
PV0f.x = mul_nonIEEE(PV1f.x, intBitsToFloat(uf_remappedVS[0].z));
PV0f.y = mul_nonIEEE(PV1f.x, intBitsToFloat(uf_remappedVS[2].z));
PV0f.z = intBitsToFloat(uf_remappedVS[0].w) + R126f.x;
PV0f.w = R127f.x + -(R127f.y);
R127f.x = R127f.z * intBitsToFloat(0x40490e56);
PS0f = R127f.x;
// 7
PV1f.x = -(PV0f.y) + PV0f.w;
R0f.y = PV0f.z * intBitsToFloat(0x40400000);
PV1f.y = R0f.y;
PV1f.z = -(PV0f.x) + R127f.w;
PV1f.w = PS0f * intBitsToFloat(0x40a00000);
R1f.z = PS0f * intBitsToFloat(0x40400000);
PS1f = R1f.z;
// 8
R0f.x = PV1f.z * intBitsToFloat(0x3cb6a401);
R1f.y = PV1f.x * intBitsToFloat(0x3cb6a401);
R3f.z = fract(PV1f.y);
R2f.w = R127f.x * intBitsToFloat(0x40e00000);
R0f.w = (PV1f.w * intBitsToFloat(0x3e22f983) + 0.5);
PS0f = R0f.w;
R4f.w = (texture(textureUnitVS0, R0f.xz).x);
R0f.z = (texture(textureUnitVS0, R1f.yw).x);
// 0
PV0f.x = R3f.z + -(0.5);
R123f.y = (R1f.z * intBitsToFloat(0x3e22f983) + 0.5);
PV0f.y = R123f.y;
PV0f.z = fract(R0f.w);
PV0f.w = R0f.y * intBitsToFloat(0x431d1463);
R127f.y = (R2f.w * intBitsToFloat(0x3e22f983) + 0.5);
PS0f = R127f.y;
// 1
PV1f.x = fract(PV0f.y);
R126f.y = (PV0f.z * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb));
PV1f.z = PV0f.w;
PV1f.z *= 4.0;
PV1f.w = max(PV0f.x, -(PV0f.x));
R122f.x = (PV0f.w * intBitsToFloat(0x3e22f983) + 0.5);
PS1f = R122f.x;
// 2
PV0f.x = fract(R127f.y);
R123f.y = (PV1f.z * intBitsToFloat(0x3e22f983) + 0.5);
PV0f.y = R123f.y;
PV0f.z = PV1f.w + 0.5;
R123f.w = (PV1f.x * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb));
PV0f.w = R123f.w;
R127f.z = fract(PS1f);
PS0f = R127f.z;
// 3
PV1f.x = R126f.y * intBitsToFloat(0x3e22f983);
R126f.y = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x), PV0f.z);
PV1f.y = R126f.y;
R126f.z = PV0f.w * intBitsToFloat(0x3e22f983);
R123f.w = (PV0f.x * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb));
PV1f.w = R123f.w;
PS1f = fract(PV0f.y);
// 4
PV0f.x = -(PV1f.y) + 1.0;
R123f.y = (R127f.z * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb));
PV0f.y = R123f.y;
R127f.z = PV1f.w * intBitsToFloat(0x3e22f983);
R123f.w = (PS1f * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb));
PV0f.w = R123f.w;
R127f.w = sin((PV1f.x)/0.1591549367);
PS0f = R127f.w;
// 5
backupReg0f = R126f.z;
R127f.x = PV0f.y * intBitsToFloat(0x3e22f983);
PV1f.y = R126f.y + intBitsToFloat(0xbe99999a);
PV1f.y = clamp(PV1f.y, 0.0, 1.0);
R126f.z = PV0f.w * intBitsToFloat(0x3e22f983);
PV1f.w = min(R126f.y, PV0f.x);
PV1f.w *= 2.0;
PV1f.w = clamp(PV1f.w, 0.0, 1.0);
PS1f = sin((backupReg0f)/0.1591549367);
// 6
backupReg0f = R127f.z;
PV0f.x = mul_nonIEEE(R127f.w, PS1f);
R126f.y = PV1f.y * intBitsToFloat(0x3d6a0fd3);
R127f.z = PV1f.w * intBitsToFloat(0x3ca3d70a);
R127f.w = mul_nonIEEE(R1f.x, intBitsToFloat(uf_remappedVS[4].x));
PS0f = sin((backupReg0f)/0.1591549367);
// 7
PV1f.w = mul_nonIEEE(PS0f, PV0f.x);
PS1f = sin((R127f.x)/0.1591549367);
// 8
backupReg0f = R127f.z;
PV0f.x = PV1f.w * intBitsToFloat(0x3d4ccccd);
R127f.z = mul_nonIEEE(backupReg0f, PS1f);
PS0f = sin((R126f.z)/0.1591549367);
// 9
PV1f.x = mul_nonIEEE(R126f.y, PS0f);
PV1f.y = mul_nonIEEE(R3f.w, PV0f.x);
// 10
PV0f.x = mul_nonIEEE(R1f.x, PV1f.y);
PV0f.y = PV1f.x + R127f.z;
// 11
PV1f.x = R127f.w + PV0f.x;
R127f.z = PV0f.y + R0f.z;
PV1f.z = R127f.z;
R127f.w = PV0f.y + R4f.w;
PV1f.w = R127f.w;
// 12
R127f.x = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y), PV1f.w);
PV0f.x = R127f.x;
PV0f.y = -(PV1f.w) + PV1f.z;
R126f.z = PV1f.x * intBitsToFloat(0x41a00000);
PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedVS[2].y), PV1f.z);
// 13
R123f.x = (mul_nonIEEE(PV0f.y,intBitsToFloat(uf_remappedVS[2].x)) + R127f.w);
PV1f.x = R123f.x;
R127f.y = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].z), R127f.w);
PV1f.z = -(PV0f.x) + PV0f.w;
// 14
PV0f.x = mul_nonIEEE(intBitsToFloat(uf_remappedVS[2].z), R127f.z);
R126f.y = mul_nonIEEE(PV1f.x, R126f.z);
PV0f.y = R126f.y;
R123f.z = (mul_nonIEEE(PV1f.z,intBitsToFloat(uf_remappedVS[2].x)) + R127f.x);
PV0f.z = R123f.z;
// 15
PV1f.x = mul_nonIEEE(PV0f.y, PV0f.y);
PV1f.y = mul_nonIEEE(R126f.z, PV0f.z);
PV1f.w = -(R127f.y) + PV0f.x;
// 16
R123f.y = (mul_nonIEEE(PV1f.w,intBitsToFloat(uf_remappedVS[2].x)) + R127f.y);
PV0f.y = R123f.y;
PV0f.z = PV1f.y;
PV0f.w = mul_nonIEEE(R126f.y, PV1f.x);
// 17
R0f.x = R5f.w + PV0f.z;
PV1f.z = PV0f.w * intBitsToFloat(0x3e23d70a);
PV1f.w = mul_nonIEEE(R126f.z, PV0f.y);
// 18
PV0f.x = PV1f.w;
PV0f.y = max(PV1f.z, 0.0);
// 19
R1f.x = -(PV0f.y);
R0f.z = R3f.y + PV0f.x;
// 0
tempf.x =
dot(vec4(R2f.x,R2f.y,R2f.z,R6f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsTo
Float(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_rema
ppedVS[5].w)));
PV0f.x = tempf.x;
PV0f.y = tempf.x;
PV0f.z = tempf.x;
PV0f.w = tempf.x;
// 1
R127f.y = PV0f.x + R1f.x;
PV1f.y = R127f.y;
// 2
backupReg0f = R0f.z;
R127f.x =
dot(vec4(R0f.x,PV1f.y,backupReg0f,R7f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),in
tBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(
uf_remappedVS[6].w)));
PV0f.x = R127f.x;
PV0f.y = R127f.x;
PV0f.z = R127f.x;
PV0f.w = R127f.x;
// 3
backupReg0f = R0f.x;
backupReg1f = R0f.z;
tempf.x =
dot(vec4(backupReg0f,R127f.y,backupReg1f,R7f.w),vec4(intBitsToFloat(uf_remappedVS[7
].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsT
oFloat(uf_remappedVS[7].w)));
PV1f.x = tempf.x;
PV1f.y = tempf.x;
PV1f.z = tempf.x;
PV1f.w = tempf.x;
R126f.y = tempf.x;
// 4
backupReg0f = R0f.x;
tempf.x =
dot(vec4(backupReg0f,R127f.y,R0f.z,R7f.w),vec4(intBitsToFloat(uf_remappedVS[8].x),i
ntBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat
(uf_remappedVS[8].w)));
PV0f.x = tempf.x;
PV0f.y = tempf.x;
PV0f.z = tempf.x;
PV0f.w = tempf.x;
R126f.z = tempf.x;
// 5
R0f.x =
dot(vec4(R127f.x,R126f.y,PV0f.x,R8f.w),vec4(intBitsToFloat(uf_remappedVS[9].x),intB
itsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf
_remappedVS[9].w)));
PV1f.x = R0f.x;
PV1f.y = R0f.x;
PV1f.z = R0f.x;
PV1f.w = R0f.x;
// 6
tempf.x =
dot(vec4(R127f.x,R126f.y,R126f.z,R8f.w),vec4(intBitsToFloat(uf_remappedVS[10].x),in
tBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloa
t(uf_remappedVS[10].w)));
PV0f.x = tempf.x;
PV0f.y = tempf.x;
PV0f.z = tempf.x;
PV0f.w = tempf.x;
R0f.y = tempf.x;
// 7
tempf.x =
dot(vec4(R127f.x,R126f.y,R126f.z,R8f.w),vec4(intBitsToFloat(uf_remappedVS[11].x),in
tBitsToFloat(uf_remappedVS[11].y),intBitsToFloat(uf_remappedVS[11].z),intBitsToFloa
t(uf_remappedVS[11].w)));
PV1f.x = tempf.x;
PV1f.y = tempf.x;
PV1f.z = tempf.x;
PV1f.w = tempf.x;
R0f.z = tempf.x;
// 8
tempf.x =
dot(vec4(R127f.x,R126f.y,R126f.z,R8f.w),vec4(intBitsToFloat(uf_remappedVS[12].x),in
tBitsToFloat(uf_remappedVS[12].y),intBitsToFloat(uf_remappedVS[12].z),intBitsToFloa
t(uf_remappedVS[12].w)));
PV0f.x = tempf.x;
PV0f.y = tempf.x;
PV0f.z = tempf.x;
PV0f.w = tempf.x;
R0f.w = tempf.x;
// export
gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w);
// export
// skipped export to semanticId 255
}

You might also like