Fix whitespace difference caused by Github's online editor

This commit is contained in:
Crementif 2019-03-24 14:46:43 +01:00
parent 27eacec767
commit e0fa6b5a3b
14 changed files with 6741 additions and 6741 deletions

View File

@ -1,99 +1,99 @@
#version 420 #version 420
#extension GL_ARB_texture_gather : enable #extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_separate_shader_objects : enable
// shader 4d96f8f88575bcab -- Used to blur out the main frame in various cutscenes // shader 4d96f8f88575bcab -- Used to blur out the main frame in various cutscenes
float blur = $Blur; float blur = $Blur;
uniform ivec4 uf_remappedPS[1]; uniform ivec4 uf_remappedPS[1];
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4fa8000 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4fa8000 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf4c24000 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 0 layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf4c24000 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 0
layout(location = 0) in vec4 passParameterSem136; layout(location = 0) in vec4 passParameterSem136;
layout(location = 0) out vec4 passPixelColor0; layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale; uniform vec2 uf_fragCoordScale;
int clampFI32(int v) int clampFI32(int v)
{ {
if( v == 0x7FFFFFFF ) if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0); return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF ) else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0); return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.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; } float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main() void main()
{ {
ivec4 R0i = ivec4(0); ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0); ivec4 R1i = ivec4(0);
ivec4 R123i = ivec4(0); ivec4 R123i = ivec4(0);
ivec4 R127i = ivec4(0); ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0); ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0; int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0); ivec4 tempi = ivec4(0);
float tempResultf; float tempResultf;
int tempResulti; int tempResulti;
ivec4 ARi = ivec4(0); ivec4 ARi = ivec4(0);
bool predResult = true; bool predResult = true;
bool activeMaskStack[2]; bool activeMaskStack[2];
bool activeMaskStackC[3]; bool activeMaskStackC[3];
activeMaskStack[0] = false; activeMaskStack[0] = false;
activeMaskStackC[0] = false; activeMaskStackC[0] = false;
activeMaskStackC[1] = false; activeMaskStackC[1] = false;
activeMaskStack[0] = true; activeMaskStack[0] = true;
activeMaskStackC[0] = true; activeMaskStackC[0] = true;
activeMaskStackC[1] = true; activeMaskStackC[1] = true;
vec3 cubeMapSTM; vec3 cubeMapSTM;
int cubeMapFaceId; int cubeMapFaceId;
R0i = floatBitsToInt(passParameterSem136); R0i = floatBitsToInt(passParameterSem136);
if( activeMaskStackC[1] == true ) { if( activeMaskStackC[1] == true ) {
R0i.w = floatBitsToInt(textureLod(textureUnitPS1, intBitsToFloat(R0i.xy),0.0).x); R0i.w = floatBitsToInt(textureLod(textureUnitPS1, intBitsToFloat(R0i.xy),0.0).x);
} }
if( activeMaskStackC[1] == true ) { if( activeMaskStackC[1] == true ) {
activeMaskStack[1] = activeMaskStack[0]; activeMaskStack[1] = activeMaskStack[0];
activeMaskStackC[2] = activeMaskStackC[1]; activeMaskStackC[2] = activeMaskStackC[1];
// 0 // 0
R1i.w = int(-1); R1i.w = int(-1);
// 1 // 1
predResult = (intBitsToFloat(0x3f7ff972) >= intBitsToFloat(R0i.w)); predResult = (intBitsToFloat(0x3f7ff972) >= intBitsToFloat(R0i.w));
activeMaskStack[1] = predResult; activeMaskStack[1] = predResult;
activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
} }
else { else {
activeMaskStack[1] = false; activeMaskStack[1] = false;
activeMaskStackC[2] = false; activeMaskStackC[2] = false;
} }
if( activeMaskStackC[2] == true ) { if( activeMaskStackC[2] == true ) {
// 0 // 0
PV0i.y = ((intBitsToFloat(uf_remappedPS[0].y) >= intBitsToFloat(R0i.w))?int(0xFFFFFFFF):int(0x0)); PV0i.y = ((intBitsToFloat(uf_remappedPS[0].y) >= intBitsToFloat(R0i.w))?int(0xFFFFFFFF):int(0x0));
PV0i.z = ((intBitsToFloat(R0i.w) >= intBitsToFloat(uf_remappedPS[0].x))?int(0xFFFFFFFF):int(0x0)); PV0i.z = ((intBitsToFloat(R0i.w) >= intBitsToFloat(uf_remappedPS[0].x))?int(0xFFFFFFFF):int(0x0));
// 1 // 1
R123i.x = ((PV0i.z == 0)?(0):(PV0i.y)); R123i.x = ((PV0i.z == 0)?(0):(PV0i.y));
PV1i.x = R123i.x; PV1i.x = R123i.x;
// 2 // 2
R1i.w = ((PV1i.x == 0)?(0):(int(-1))); R1i.w = ((PV1i.x == 0)?(0):(int(-1)));
} }
activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
if( activeMaskStackC[1] == true ) { if( activeMaskStackC[1] == true ) {
// 0 // 0
if( (R1i.w != 0)) discard; if( (R1i.w != 0)) discard;
} }
if( activeMaskStackC[1] == true ) { if( activeMaskStackC[1] == true ) {
R0i.xyz = floatBitsToInt(textureLod(textureUnitPS2, intBitsToFloat(R0i.xy),0.0).xyz); R0i.xyz = floatBitsToInt(textureLod(textureUnitPS2, intBitsToFloat(R0i.xy),0.0).xyz);
} }
if( activeMaskStackC[1] == true ) { if( activeMaskStackC[1] == true ) {
// 0 // 0
R127i.x = ((intBitsToFloat(uf_remappedPS[0].x) > intBitsToFloat(R0i.w))?int(0xFFFFFFFF):int(0x0)); R127i.x = ((intBitsToFloat(uf_remappedPS[0].x) > intBitsToFloat(R0i.w))?int(0xFFFFFFFF):int(0x0));
PV0i.y = floatBitsToInt(-(intBitsToFloat(R0i.w)) + intBitsToFloat(uf_remappedPS[0].x)); PV0i.y = floatBitsToInt(-(intBitsToFloat(R0i.w)) + intBitsToFloat(uf_remappedPS[0].x));
PV0i.z = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(uf_remappedPS[0].y))); PV0i.z = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(uf_remappedPS[0].y)));
// 1 // 1
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z), intBitsToFloat(PV0i.y))); PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z), intBitsToFloat(PV0i.y)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(PV0i.z))); PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(PV0i.z)));
// 2 // 2
PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0));
PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0));
// 3 // 3
R0i.w = ((R127i.x == 0)?(PV0i.x):(PV0i.w)); R0i.w = ((R127i.x == 0)?(PV0i.x):(PV0i.w));
} }
// export // export
passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w) * blur ); passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w) * blur );
} }

View File

@ -1,399 +1,399 @@
#version 420 #version 420
#extension GL_ARB_texture_gather : enable #extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_separate_shader_objects : enable
// shader d2082c0e0e8ddf27 // shader d2082c0e0e8ddf27
// Used to flip additional reflections on yellow lights // Used to flip additional reflections on yellow lights
uniform ivec4 uf_remappedPS[8]; uniform ivec4 uf_remappedPS[8];
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1
layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3d4f5000 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3d4f5000 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1
layout(location = 1) noperspective in vec4 passParameterSem0; layout(location = 1) noperspective in vec4 passParameterSem0;
layout(location = 0) out vec4 passPixelColor0; layout(location = 0) out vec4 passPixelColor0;
layout(location = 1) out vec4 passPixelColor1; layout(location = 1) out vec4 passPixelColor1;
uniform vec2 uf_fragCoordScale; uniform vec2 uf_fragCoordScale;
int clampFI32(int v) int clampFI32(int v)
{ {
if( v == 0x7FFFFFFF ) if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0); return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF ) else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0); return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.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; } float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main() void main()
{ {
ivec4 R0i = ivec4(0); ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0); ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0); ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0); ivec4 R3i = ivec4(0);
ivec4 R4i = ivec4(0); ivec4 R4i = ivec4(0);
ivec4 R5i = ivec4(0); ivec4 R5i = ivec4(0);
ivec4 R6i = ivec4(0); ivec4 R6i = ivec4(0);
ivec4 R7i = ivec4(0); ivec4 R7i = ivec4(0);
ivec4 R8i = ivec4(0); ivec4 R8i = ivec4(0);
ivec4 R123i = ivec4(0); ivec4 R123i = ivec4(0);
ivec4 R124i = ivec4(0); ivec4 R124i = ivec4(0);
ivec4 R125i = ivec4(0); ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0); ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0); ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0); ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0; int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0); ivec4 tempi = ivec4(0);
float tempResultf; float tempResultf;
int tempResulti; int tempResulti;
ivec4 ARi = ivec4(0); ivec4 ARi = ivec4(0);
bool predResult = true; bool predResult = true;
vec3 cubeMapSTM; vec3 cubeMapSTM;
int cubeMapFaceId; int cubeMapFaceId;
R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw));
R1i = floatBitsToInt(passParameterSem0); R1i = floatBitsToInt(passParameterSem0);
// 0 // 0
backupReg0i = R0i.y; backupReg0i = R0i.y;
R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + 1.0)); R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + 1.0));
PV0i.x = R123i.x; PV0i.x = R123i.x;
PV0i.y = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(uf_remappedPS[0].x))); PV0i.y = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(uf_remappedPS[0].x)));
PV0i.z = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0xbc23d70a)); PV0i.z = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0xbc23d70a));
PV0i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(0xbc23d70a)); PV0i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(0xbc23d70a));
R3i.w = floatBitsToInt(intBitsToFloat(R1i.y) + -(intBitsToFloat(uf_remappedPS[0].y))); R3i.w = floatBitsToInt(intBitsToFloat(R1i.y) + -(intBitsToFloat(uf_remappedPS[0].y)));
PS0i = R3i.w; PS0i = R3i.w;
// 1 // 1
R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[1].z))); R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[1].z)));
R0i.y = floatBitsToInt(1-mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[1].w))); R0i.y = floatBitsToInt(1-mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[1].w)));
R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.x))); R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.x)));
R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y)));
R8i.w = 0; R8i.w = 0;
PS1i = R8i.w; PS1i = R8i.w;
R2i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R0i.xy)).xyzw); R2i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R0i.xy)).xyzw);
R0i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R0i.xy)).x); R0i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R0i.xy)).x);
// 0 // 0
R127i.x = floatBitsToInt((intBitsToFloat(R2i.x) * 2.0 + -(1.0))); R127i.x = floatBitsToInt((intBitsToFloat(R2i.x) * 2.0 + -(1.0)));
PV0i.x = R127i.x; PV0i.x = R127i.x;
R127i.y = floatBitsToInt((intBitsToFloat(R2i.y) * 2.0 + -(1.0))); R127i.y = floatBitsToInt((intBitsToFloat(R2i.y) * 2.0 + -(1.0)));
PV0i.y = R127i.y; PV0i.y = R127i.y;
R127i.z = floatBitsToInt((intBitsToFloat(R2i.z) * 2.0 + -(1.0))); R127i.z = floatBitsToInt((intBitsToFloat(R2i.z) * 2.0 + -(1.0)));
PV0i.z = R127i.z; PV0i.z = R127i.z;
R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),intBitsToFloat(R0i.x)) + intBitsToFloat(uf_remappedPS[2].x))); R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),intBitsToFloat(R0i.x)) + intBitsToFloat(uf_remappedPS[2].x)));
PV0i.w = R127i.w; PV0i.w = R127i.w;
R126i.w = floatBitsToInt(intBitsToFloat(R2i.w) * intBitsToFloat(0x437f0000)); R126i.w = floatBitsToInt(intBitsToFloat(R2i.w) * intBitsToFloat(0x437f0000));
PS0i = R126i.w; PS0i = R126i.w;
// 1 // 1
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0)));
PV1i.x = tempi.x; PV1i.x = tempi.x;
PV1i.y = tempi.x; PV1i.y = tempi.x;
PV1i.z = tempi.x; PV1i.z = tempi.x;
PV1i.w = tempi.x; PV1i.w = tempi.x;
R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),-(intBitsToFloat(PV0i.w))) + -(intBitsToFloat(uf_remappedPS[3].x)))); R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),-(intBitsToFloat(PV0i.w))) + -(intBitsToFloat(uf_remappedPS[3].x))));
PS1i = R124i.x; PS1i = R124i.x;
// 2 // 2
R3i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + 1.0); R3i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + 1.0);
PV0i.x = R3i.x; PV0i.x = R3i.x;
R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),-(intBitsToFloat(R127i.w))) + -(intBitsToFloat(uf_remappedPS[3].y)))); R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),-(intBitsToFloat(R127i.w))) + -(intBitsToFloat(uf_remappedPS[3].y))));
R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),-(intBitsToFloat(R127i.w))) + -(intBitsToFloat(uf_remappedPS[3].z)))); R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),-(intBitsToFloat(R127i.w))) + -(intBitsToFloat(uf_remappedPS[3].z))));
tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x));
PS0i = floatBitsToInt(tempResultf); PS0i = floatBitsToInt(tempResultf);
// 3 // 3
backupReg0i = R126i.w; backupReg0i = R126i.w;
R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i)));
R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i)));
R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i)));
R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(0x3d4ccccd))); R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(0x3d4ccccd)));
R126i.w = clampFI32(R126i.w); R126i.w = clampFI32(R126i.w);
PS1i = int(intBitsToFloat(backupReg0i)); PS1i = int(intBitsToFloat(backupReg0i));
// 4 // 4
tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R124i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R126i.z)),-0.0),vec4(-(intBitsToFloat(R124i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R126i.z)),0.0))); tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R124i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R126i.z)),-0.0),vec4(-(intBitsToFloat(R124i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R126i.z)),0.0)));
PV0i.x = tempi.x; PV0i.x = tempi.x;
PV0i.y = tempi.x; PV0i.y = tempi.x;
PV0i.z = tempi.x; PV0i.z = tempi.x;
PV0i.w = tempi.x; PV0i.w = tempi.x;
R0i.x = PS1i & 0x00000002; R0i.x = PS1i & 0x00000002;
PS0i = R0i.x; PS0i = R0i.x;
// 5 // 5
R2i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x3a83126f))); R2i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x3a83126f)));
PV1i.x = R2i.x; PV1i.x = R2i.x;
R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R126i.w))); R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R126i.w)));
PV1i.y = R126i.y; PV1i.y = R126i.y;
R127i.z = floatBitsToInt((intBitsToFloat(R3i.x) * 0.5 + 0.5)); R127i.z = floatBitsToInt((intBitsToFloat(R3i.x) * 0.5 + 0.5));
R6i.w = floatBitsToInt((0.0 * intBitsToFloat(uf_remappedPS[4].w) + 1.0)); R6i.w = floatBitsToInt((0.0 * intBitsToFloat(uf_remappedPS[4].w) + 1.0));
tempResultf = 1.0 / sqrt(intBitsToFloat(R0i.z)); tempResultf = 1.0 / sqrt(intBitsToFloat(R0i.z));
PS1i = floatBitsToInt(tempResultf); PS1i = floatBitsToInt(tempResultf);
// 6 // 6
R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i)));
PV0i.x = R4i.x; PV0i.x = R4i.x;
R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS1i))); R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS1i)));
PV0i.y = R4i.y; PV0i.y = R4i.y;
R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS1i))); R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS1i)));
PV0i.z = R3i.z; PV0i.z = R3i.z;
R1i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + -(1.0)); R1i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + -(1.0));
tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x));
R126i.w = floatBitsToInt(tempResultf); R126i.w = floatBitsToInt(tempResultf);
PS0i = R126i.w; PS0i = R126i.w;
// 7 // 7
R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0)));
PV1i.x = R127i.x; PV1i.x = R127i.x;
PV1i.y = R127i.x; PV1i.y = R127i.x;
PV1i.z = R127i.x; PV1i.z = R127i.x;
PV1i.w = R127i.x; PV1i.w = R127i.x;
R125i.x = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R124i.x)), intBitsToFloat(PS0i))); R125i.x = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R124i.x)), intBitsToFloat(PS0i)));
PS1i = R125i.x; PS1i = R125i.x;
// 8 // 8
R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.z))); R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.z)));
R1i.x = floatBitsToInt(intBitsToFloat(R1i.x) / 2.0); R1i.x = floatBitsToInt(intBitsToFloat(R1i.x) / 2.0);
PV0i.x = R1i.x; PV0i.x = R1i.x;
R125i.y = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R2i.y)), intBitsToFloat(R126i.w))); R125i.y = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R2i.y)), intBitsToFloat(R126i.w)));
R7i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R126i.z)), intBitsToFloat(R126i.w))); R7i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R126i.z)), intBitsToFloat(R126i.w)));
PV0i.w = PV1i.x; PV0i.w = PV1i.x;
PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0);
PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].w), intBitsToFloat(R126i.w))); PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].w), intBitsToFloat(R126i.w)));
// 9 // 9
R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV0i.w)) + -(intBitsToFloat(R4i.x)))); R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV0i.w)) + -(intBitsToFloat(R4i.x))));
PV1i.x = R126i.x; PV1i.x = R126i.x;
R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV0i.w)) + -(intBitsToFloat(R4i.y)))); R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV0i.w)) + -(intBitsToFloat(R4i.y))));
PV1i.y = R127i.y; PV1i.y = R127i.y;
R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(PV0i.w)) + -(intBitsToFloat(R3i.z)))); R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(PV0i.w)) + -(intBitsToFloat(R3i.z))));
PV1i.z = R127i.z; PV1i.z = R127i.z;
R2i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); R2i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0);
R124i.y = floatBitsToInt(min(intBitsToFloat(PS0i), 1.0)); R124i.y = floatBitsToInt(min(intBitsToFloat(PS0i), 1.0));
PS1i = R124i.y; PS1i = R124i.y;
// 10 // 10
tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R124i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R126i.z)),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R124i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R126i.z)),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0)));
PV0i.x = tempi.x; PV0i.x = tempi.x;
PV0i.y = tempi.x; PV0i.y = tempi.x;
PV0i.z = tempi.x; PV0i.z = tempi.x;
PV0i.w = tempi.x; PV0i.w = tempi.x;
PS0i = R127i.x; PS0i = R127i.x;
PS0i = clampFI32(PS0i); PS0i = clampFI32(PS0i);
// 11 // 11
backupReg0i = R127i.y; backupReg0i = R127i.y;
backupReg1i = R127i.z; backupReg1i = R127i.z;
R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R124i.x))); R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R124i.x)));
PV1i.x = R127i.x; PV1i.x = R127i.x;
R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.x)) + intBitsToFloat(R2i.y))); R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.x)) + intBitsToFloat(R2i.y)));
PV1i.y = R127i.y; PV1i.y = R127i.y;
R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PV0i.x)) + intBitsToFloat(R126i.z))); R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PV0i.x)) + intBitsToFloat(R126i.z)));
PV1i.z = R127i.z; PV1i.z = R127i.z;
R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R2i.w)) + intBitsToFloat(R1i.x))); R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R2i.w)) + intBitsToFloat(R1i.x)));
R126i.x = floatBitsToInt(1.0 / intBitsToFloat(R124i.y)); R126i.x = floatBitsToInt(1.0 / intBitsToFloat(R124i.y));
PS1i = R126i.x; PS1i = R126i.x;
// 12 // 12
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0)));
PV0i.x = tempi.x; PV0i.x = tempi.x;
PV0i.y = tempi.x; PV0i.y = tempi.x;
PV0i.z = tempi.x; PV0i.z = tempi.x;
PV0i.w = tempi.x; PV0i.w = tempi.x;
R7i.y = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(0x3ea2f983)); R7i.y = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(0x3ea2f983));
PS0i = R7i.y; PS0i = R7i.y;
// 13 // 13
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R125i.y),intBitsToFloat(R7i.z),0.0))); tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R125i.y),intBitsToFloat(R7i.z),0.0)));
PV1i.x = tempi.x; PV1i.x = tempi.x;
PV1i.y = tempi.x; PV1i.y = tempi.x;
PV1i.z = tempi.x; PV1i.z = tempi.x;
PV1i.w = tempi.x; PV1i.w = tempi.x;
PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x)));
// 14 // 14
backupReg0i = R126i.x; backupReg0i = R126i.x;
backupReg0i = R126i.x; backupReg0i = R126i.x;
R126i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x40400000)); R126i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x40400000));
PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(1.0))); PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(1.0)));
R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[6].x)) + intBitsToFloat(uf_remappedPS[6].y))); R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[6].x)) + intBitsToFloat(uf_remappedPS[6].y)));
PV0i.z = R1i.z; PV0i.z = R1i.z;
R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R124i.y))); R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R124i.y)));
PV0i.w = R5i.w; PV0i.w = R5i.w;
PS0i = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); PS0i = floatBitsToInt(1.0 / intBitsToFloat(PS1i));
// 15 // 15
PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0));
R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[7].y))); R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[7].y)));
R6i.z = ((intBitsToFloat(PV0i.z) > intBitsToFloat(uf_remappedPS[7].x))?int(0xFFFFFFFF):int(0x0)); R6i.z = ((intBitsToFloat(PV0i.z) > intBitsToFloat(uf_remappedPS[7].x))?int(0xFFFFFFFF):int(0x0));
PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[5].w) * intBitsToFloat(PS0i)); PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[5].w) * intBitsToFloat(PS0i));
PV1i.w = clampFI32(PV1i.w); PV1i.w = clampFI32(PV1i.w);
R6i.y = floatBitsToInt(1.0 / intBitsToFloat(R126i.w)); R6i.y = floatBitsToInt(1.0 / intBitsToFloat(R126i.w));
PS1i = R6i.y; PS1i = R6i.y;
// 16 // 16
backupReg0i = R127i.y; backupReg0i = R127i.y;
backupReg1i = R127i.z; backupReg1i = R127i.z;
backupReg2i = R126i.x; backupReg2i = R126i.x;
R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.w)) + -(intBitsToFloat(R124i.x)))); R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.w)) + -(intBitsToFloat(R124i.x))));
PV0i.x = R126i.x; PV0i.x = R126i.x;
R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV1i.w)) + -(intBitsToFloat(R2i.y)))); R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV1i.w)) + -(intBitsToFloat(R2i.y))));
PV0i.y = R127i.y; PV0i.y = R127i.y;
R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PV1i.w)) + -(intBitsToFloat(R126i.z)))); R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PV1i.w)) + -(intBitsToFloat(R126i.z))));
PV0i.z = R127i.z; PV0i.z = R127i.z;
R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(uf_remappedPS[6].w))); R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(uf_remappedPS[6].w)));
PV0i.w = R126i.w; PV0i.w = R126i.w;
R127i.x = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); R127i.x = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i));
PS0i = R127i.x; PS0i = R127i.x;
// 17 // 17
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0)));
PV1i.x = tempi.x; PV1i.x = tempi.x;
PV1i.y = tempi.x; PV1i.y = tempi.x;
PV1i.z = tempi.x; PV1i.z = tempi.x;
PV1i.w = tempi.x; PV1i.w = tempi.x;
PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w)));
// 18 // 18
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PS1i))); PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PS1i)));
PV0i.y = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R127i.x)); PV0i.y = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R127i.x));
PV0i.y = clampFI32(PV0i.y); PV0i.y = clampFI32(PV0i.y);
R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_remappedPS[4].y))); R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_remappedPS[4].y)));
R5i.z = clampFI32(R5i.z); R5i.z = clampFI32(R5i.z);
PV0i.w = ((intBitsToFloat(R126i.w) > 0.0)?int(0xFFFFFFFF):int(0x0)); PV0i.w = ((intBitsToFloat(R126i.w) > 0.0)?int(0xFFFFFFFF):int(0x0));
tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x));
PS0i = floatBitsToInt(tempResultf); PS0i = floatBitsToInt(tempResultf);
// 19 // 19
R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i)));
PV1i.x = R2i.x; PV1i.x = R2i.x;
R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i)));
PV1i.y = R2i.y; PV1i.y = R2i.y;
R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i)));
PV1i.z = R0i.z; PV1i.z = R0i.z;
R123i.w = ((PV0i.w == 0)?(0):(PV0i.x)); R123i.w = ((PV0i.w == 0)?(0):(PV0i.x));
PV1i.w = R123i.w; PV1i.w = R123i.w;
PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y));
// 20 // 20
backupReg0i = R0i.x; backupReg0i = R0i.x;
R0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV1i.x)); R0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV1i.x));
R3i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV1i.y)); R3i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV1i.y));
R2i.z = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.z)); R2i.z = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.z));
R0i.w = floatBitsToInt(intBitsToFloat(R3i.x) * intBitsToFloat(PS1i)); R0i.w = floatBitsToInt(intBitsToFloat(R3i.x) * intBitsToFloat(PS1i));
R1i.y = ((backupReg0i == 0)?(R126i.w):(PV1i.w)); R1i.y = ((backupReg0i == 0)?(R126i.w):(PV1i.w));
PS0i = R1i.y; PS0i = R1i.y;
R1i.y = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R1i.zy)).x); R1i.y = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R1i.zy)).x);
// 0 // 0
backupReg0i = R0i.x; backupReg0i = R0i.x;
backupReg0i = R0i.x; backupReg0i = R0i.x;
backupReg1i = R0i.y; backupReg1i = R0i.y;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R3i.y),intBitsToFloat(R2i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R3i.y),intBitsToFloat(R2i.z),0.0))); tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R3i.y),intBitsToFloat(R2i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R3i.y),intBitsToFloat(R2i.z),0.0)));
PV0i.x = tempi.x; PV0i.x = tempi.x;
PV0i.y = tempi.x; PV0i.y = tempi.x;
PV0i.z = tempi.x; PV0i.z = tempi.x;
PV0i.w = tempi.x; PV0i.w = tempi.x;
R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(backupReg1i))); R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(backupReg1i)));
PS0i = R127i.w; PS0i = R127i.w;
// 1 // 1
backupReg0i = R0i.z; backupReg0i = R0i.z;
R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(backupReg0i),0.0))); R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(backupReg0i),0.0)));
R124i.x = clampFI32(R124i.x); R124i.x = clampFI32(R124i.x);
PV1i.x = R124i.x; PV1i.x = R124i.x;
PV1i.y = R124i.x; PV1i.y = R124i.x;
PV1i.z = R124i.x; PV1i.z = R124i.x;
PV1i.w = R124i.x; PV1i.w = R124i.x;
tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x));
PS1i = floatBitsToInt(tempResultf); PS1i = floatBitsToInt(tempResultf);
// 2 // 2
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(PS1i))); R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(PS1i)));
PV0i.x = R126i.x; PV0i.x = R126i.x;
R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PS1i))); R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PS1i)));
PV0i.y = R127i.y; PV0i.y = R127i.y;
R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PS1i))); R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PS1i)));
PV0i.z = R127i.z; PV0i.z = R127i.z;
R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R2i.w)) + intBitsToFloat(R1i.x))); R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R2i.w)) + intBitsToFloat(R1i.x)));
PV0i.w = R123i.w; PV0i.w = R123i.w;
R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), intBitsToFloat(R0i.w))); R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), intBitsToFloat(R0i.w)));
PS0i = R125i.w; PS0i = R125i.w;
// 3 // 3
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0)));
tempi.x = clampFI32(tempi.x); tempi.x = clampFI32(tempi.x);
PV1i.x = tempi.x; PV1i.x = tempi.x;
PV1i.y = tempi.x; PV1i.y = tempi.x;
PV1i.z = tempi.x; PV1i.z = tempi.x;
PV1i.w = tempi.x; PV1i.w = tempi.x;
R126i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); R126i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w));
PS1i = R126i.w; PS1i = R126i.w;
// 4 // 4
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0)));
tempi.x = clampFI32(tempi.x); tempi.x = clampFI32(tempi.x);
PV0i.x = tempi.x; PV0i.x = tempi.x;
PV0i.y = tempi.x; PV0i.y = tempi.x;
PV0i.z = tempi.x; PV0i.z = tempi.x;
PV0i.w = tempi.x; PV0i.w = tempi.x;
R127i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); R127i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
PS0i = R127i.y; PS0i = R127i.y;
// 5 // 5
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(PS0i))); R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(PS0i)));
PV1i.x = R126i.x; PV1i.x = R126i.x;
R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.z)),intBitsToFloat(R5i.z)) + 1.0)); R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.z)),intBitsToFloat(R5i.z)) + 1.0));
PV1i.y = R123i.y; PV1i.y = R123i.y;
R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R126i.w))); R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R126i.w)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x)));
R127i.z = ((R6i.z == 0)?(R1i.y):(R127i.w)); R127i.z = ((R6i.z == 0)?(R1i.y):(R127i.w));
PS1i = R127i.z; PS1i = R127i.z;
// 6 // 6
PV0i.x = floatBitsToInt(max(-(intBitsToFloat(R7i.z)), 0.0)); PV0i.x = floatBitsToInt(max(-(intBitsToFloat(R7i.z)), 0.0));
R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(R3i.w)) + intBitsToFloat(R4i.w))); R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(R3i.w)) + intBitsToFloat(R4i.w)));
PV0i.y = R123i.y; PV0i.y = R123i.y;
R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(PV1i.w)) + 1.0)); R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(PV1i.w)) + 1.0));
PV0i.z = R123i.z; PV0i.z = R123i.z;
PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV1i.x))); PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV1i.x)));
R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.y))); R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.y)));
PS0i = R127i.x; PS0i = R127i.x;
// 7 // 7
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z)));
R125i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[0].z)),intBitsToFloat(PV0i.y)) + 1.0)); R125i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[0].z)),intBitsToFloat(PV0i.y)) + 1.0));
R125i.y = clampFI32(R125i.y); R125i.y = clampFI32(R125i.y);
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV0i.w))); PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV0i.w)));
R127i.w = floatBitsToInt(min(intBitsToFloat(PV0i.x), 1.0)); R127i.w = floatBitsToInt(min(intBitsToFloat(PV0i.x), 1.0));
R127i.y = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); R127i.y = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0);
PS1i = R127i.y; PS1i = R127i.y;
// 8 // 8
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].x), intBitsToFloat(R127i.z))); PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].x), intBitsToFloat(R127i.z)));
R124i.y = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3f75c28f) + intBitsToFloat(0x3d23d70a))); R124i.y = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3f75c28f) + intBitsToFloat(0x3d23d70a)));
PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].y), intBitsToFloat(R127i.z))); PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].y), intBitsToFloat(R127i.z)));
PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].z), intBitsToFloat(R127i.z))); PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].z), intBitsToFloat(R127i.z)));
PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x));
// 9 // 9
R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x)));
PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3ea2f983)); PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3ea2f983));
PV1i.z = floatBitsToInt(intBitsToFloat(R7i.y) * intBitsToFloat(PS0i)); PV1i.z = floatBitsToInt(intBitsToFloat(R7i.y) * intBitsToFloat(PS0i));
PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3ea2f983)); PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3ea2f983));
PS1i = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3ea2f983)); PS1i = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3ea2f983));
// 10 // 10
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R124i.y))); PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R124i.y)));
PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i)));
PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.w))); PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.w)));
PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.y))); PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.y)));
// 11 // 11
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PV0i.w))); PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PV0i.w)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PV0i.z))); PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PV0i.z)));
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PV0i.y))); PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PV0i.y)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV0i.x))); PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV0i.x)));
// 12 // 12
R8i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), intBitsToFloat(0x42000000))); R8i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), intBitsToFloat(0x42000000)));
R8i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), intBitsToFloat(0x42000000))); R8i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), intBitsToFloat(0x42000000)));
PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * 0.25); PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * 0.25);
R8i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x42000000))); R8i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x42000000)));
PS0i = R8i.z; PS0i = R8i.z;
// 13 // 13
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PV0i.z))); PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PV0i.z)));
// 14 // 14
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV1i.y))); PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV1i.y)));
// 15 // 15
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV0i.x))); PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV0i.x)));
// 16 // 16
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].z), intBitsToFloat(PV1i.w))); PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].z), intBitsToFloat(PV1i.w)));
PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].y), intBitsToFloat(PV1i.w))); PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].y), intBitsToFloat(PV1i.w)));
PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].x), intBitsToFloat(PV1i.w))); PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].x), intBitsToFloat(PV1i.w)));
// 17 // 17
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV0i.x))); PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV0i.x)));
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV0i.y))); PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV0i.y)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV0i.z))); PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV0i.z)));
// 18 // 18
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV1i.w))); PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV1i.w)));
PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV1i.y))); PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV1i.y)));
PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV1i.z))); PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV1i.z)));
// 19 // 19
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PV0i.w))); PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PV0i.w)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PV0i.x))); PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PV0i.x)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PV0i.z))); PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PV0i.z)));
// 20 // 20
R7i.x = floatBitsToInt(min(intBitsToFloat(PV1i.y), intBitsToFloat(0x42000000))); R7i.x = floatBitsToInt(min(intBitsToFloat(PV1i.y), intBitsToFloat(0x42000000)));
R7i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), intBitsToFloat(0x42000000))); R7i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), intBitsToFloat(0x42000000)));
R7i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), intBitsToFloat(0x42000000))); R7i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), intBitsToFloat(0x42000000)));
// 21 // 21
R0i.xyz = ivec3(R8i.x,R8i.y,R8i.z); R0i.xyz = ivec3(R8i.x,R8i.y,R8i.z);
R0i.w = R8i.w; R0i.w = R8i.w;
// 22 // 22
R1i.xyz = ivec3(R7i.x,R7i.y,R7i.z); R1i.xyz = ivec3(R7i.x,R7i.y,R7i.z);
R1i.w = R7i.w; R1i.w = R7i.w;
// export // export
passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w));
passPixelColor1 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); passPixelColor1 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w));
} }

View File

@ -1,8 +1,8 @@
[Definition] [Definition]
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
name = "Fix Flipped Lighting On Older Intel iGPU Drivers" name = "Fix Flipped Lighting On Older Intel iGPU Drivers"
path = "The Legend of Zelda: Breath of the Wild/Workarounds/Intel iGPU/Fix Flipped Intel Lights" path = "The Legend of Zelda: Breath of the Wild/Workarounds/Intel iGPU/Fix Flipped Intel Lights"
description = This workaround targets users of Intel iGPU drivers 23.xx and older experiencing flipped lighting issues. These drivers may offer better performance but have graphical glitches. This pack aims to fix the graphical issues so the older drivers create visuals similar to the new drivers. These older drivers may be found on Intel's site https://downloadcenter.intel.com/download/27484/Graphics-Intel-Graphics-Driver-for-Windows-15-65-. description = This workaround targets users of Intel iGPU drivers 23.xx and older experiencing flipped lighting issues. These drivers may offer better performance but have graphical glitches. This pack aims to fix the graphical issues so the older drivers create visuals similar to the new drivers. These older drivers may be found on Intel's site https://downloadcenter.intel.com/download/27484/Graphics-Intel-Graphics-Driver-for-Windows-15-65-.
version = 3 version = 3
#Altros #Altros

View File

@ -1,450 +1,450 @@
#version 420 #version 420
#extension GL_ARB_texture_gather : enable #extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_separate_shader_objects : enable
// shader 250cb5a06cab6534 // shader 250cb5a06cab6534
// used to set sun bloom, color, saturation, and intensity in the sky // used to set sun bloom, color, saturation, and intensity in the sky
uniform ivec4 uf_remappedPS[12]; uniform ivec4 uf_remappedPS[12];
layout(binding = 0) uniform sampler3D textureUnitPS0;// Tex0 addr 0x3cea0000 res 256x32x16 dim 2 tm: 7 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x10) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 layout(binding = 0) uniform sampler3D textureUnitPS0;// Tex0 addr 0x3cea0000 res 256x32x16 dim 2 tm: 7 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x10) Sampler0 ClampX/Y/Z: 2 2 2 border: 1
layout(location = 1) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem0;
layout(location = 2) in vec4 passParameterSem2; layout(location = 2) in vec4 passParameterSem2;
layout(location = 3) in vec4 passParameterSem3; layout(location = 3) in vec4 passParameterSem3;
layout(location = 0) out vec4 passPixelColor0; layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale; uniform vec2 uf_fragCoordScale;
int clampFI32(int v) int clampFI32(int v)
{ {
if( v == 0x7FFFFFFF ) if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0); return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF ) else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0); return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.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; } float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main() void main()
{ {
ivec4 R0i = ivec4(0); ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0); ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0); ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0); ivec4 R3i = ivec4(0);
ivec4 R4i = ivec4(0); ivec4 R4i = ivec4(0);
ivec4 R5i = ivec4(0); ivec4 R5i = ivec4(0);
ivec4 R6i = ivec4(0); ivec4 R6i = ivec4(0);
ivec4 R7i = ivec4(0); ivec4 R7i = ivec4(0);
ivec4 R8i = ivec4(0); ivec4 R8i = ivec4(0);
ivec4 R122i = ivec4(0); ivec4 R122i = ivec4(0);
ivec4 R123i = ivec4(0); ivec4 R123i = ivec4(0);
ivec4 R124i = ivec4(0); ivec4 R124i = ivec4(0);
ivec4 R125i = ivec4(0); ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0); ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0); ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0); ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0; int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0); ivec4 tempi = ivec4(0);
float tempResultf; float tempResultf;
int tempResulti; int tempResulti;
ivec4 ARi = ivec4(0); ivec4 ARi = ivec4(0);
bool predResult = true; bool predResult = true;
bool activeMaskStack[2]; bool activeMaskStack[2];
bool activeMaskStackC[3]; bool activeMaskStackC[3];
activeMaskStack[0] = false; activeMaskStack[0] = false;
activeMaskStackC[0] = false; activeMaskStackC[0] = false;
activeMaskStackC[1] = false; activeMaskStackC[1] = false;
activeMaskStack[0] = true; activeMaskStack[0] = true;
activeMaskStackC[0] = true; activeMaskStackC[0] = true;
activeMaskStackC[1] = true; activeMaskStackC[1] = true;
vec3 cubeMapSTM; vec3 cubeMapSTM;
int cubeMapFaceId; int cubeMapFaceId;
R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw));
R1i = floatBitsToInt(passParameterSem0); R1i = floatBitsToInt(passParameterSem0);
R2i = floatBitsToInt(passParameterSem2); R2i = floatBitsToInt(passParameterSem2);
R3i = floatBitsToInt(passParameterSem3); R3i = floatBitsToInt(passParameterSem3);
if( activeMaskStackC[1] == true ) { if( activeMaskStackC[1] == true ) {
// 0 // 0
R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R1i.x))); R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R1i.x)));
//original line //original line
//R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(uf_remappedPS[0].z))); //R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(uf_remappedPS[0].z)));
// new line r0i.x is the brightness of the bloom on the sky, ufremap.z is the brightness on the ground // new line r0i.x is the brightness of the bloom on the sky, ufremap.z is the brightness on the ground
// match for gureudo desert // match for gureudo desert
R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x)*.93, intBitsToFloat(uf_remappedPS[0].z))*.95); R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x)*.93, intBitsToFloat(uf_remappedPS[0].z))*.95);
// match for death mountain morning // match for death mountain morning
//R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x)*.45, intBitsToFloat(uf_remappedPS[0].z))*.45); //R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x)*.45, intBitsToFloat(uf_remappedPS[0].z))*.45);
// red channel? // red channel?
PV0i.y = R126i.y; PV0i.y = R126i.y;
R123i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[1].x) * intBitsToFloat(0xc0400000) + intBitsToFloat(0xbf19999a))); R123i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[1].x) * intBitsToFloat(0xc0400000) + intBitsToFloat(0xbf19999a)));
PV0i.z = R123i.z; PV0i.z = R123i.z;
PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(uf_remappedPS[0].w))); PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(uf_remappedPS[0].w)));
PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0);
R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(0xcc1a4d90))); R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(0xcc1a4d90)));
PS0i = R122i.x; PS0i = R122i.x;
// 1 // 1
PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3fb8aa3b)); PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3fb8aa3b));
R2i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[2].x) + -(1.0)); R2i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[2].x) + -(1.0));
R1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + -(1.0)); R1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + -(1.0));
PV1i.z = R1i.z; PV1i.z = R1i.z;
// original // original
PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3fc90fdb)); PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3fc90fdb));
// magic line that clears death volcano brightness ruins gureudo // magic line that clears death volcano brightness ruins gureudo
//PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3fc90fdb)*0.6); //PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3fc90fdb)*0.6);
//multiplication affects saturation of blue stored in PS1i //multiplication affects saturation of blue stored in PS1i
R124i.w = floatBitsToInt(sqrt(intBitsToFloat(PS0i))); R124i.w = floatBitsToInt(sqrt(intBitsToFloat(PS0i)));
//R124i.w = floatBitsToInt(sqrt(intBitsToFloat(PS0i))*5); //R124i.w = floatBitsToInt(sqrt(intBitsToFloat(PS0i))*5);
PS1i = R124i.w; PS1i = R124i.w;
// 2 // 2
R126i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].y)) + 1.0); R126i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].y)) + 1.0);
PV0i.y = ((intBitsToFloat(R3i.x) > intBitsToFloat(PV1i.z))?int(0xFFFFFFFF):int(0x0)); PV0i.y = ((intBitsToFloat(R3i.x) > intBitsToFloat(PV1i.z))?int(0xFFFFFFFF):int(0x0));
R123i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e22f983) + 0.5)); R123i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e22f983) + 0.5));
PV0i.z = R123i.z; PV0i.z = R123i.z;
R127i.w = uf_remappedPS[3].y; R127i.w = uf_remappedPS[3].y;
R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) / 2.0); R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) / 2.0);
// multiplication affects bloom blue which seems to be stored in PS0i // multiplication affects bloom blue which seems to be stored in PS0i
//PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x)*2)); //PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x)*2));
PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x)));
// 3 // 3
R123i.x = ((PV0i.y == 0)?(R1i.z):(R3i.x)); R123i.x = ((PV0i.y == 0)?(R1i.z):(R3i.x));
PV1i.x = R123i.x; PV1i.x = R123i.x;
PV1i.y = floatBitsToInt(fract(intBitsToFloat(PV0i.z))); PV1i.y = floatBitsToInt(fract(intBitsToFloat(PV0i.z)));
PV1i.z = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); PV1i.z = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0);
R125i.w = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[4].y)) * 0.5 + 0.5)); R125i.w = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[4].y)) * 0.5 + 0.5));
R127i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[5].y)) + 1.0); R127i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[5].y)) + 1.0);
PS1i = R127i.z; PS1i = R127i.z;
// 4 // 4
R123i.x = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb))); R123i.x = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb)));
PV0i.x = R123i.x; PV0i.x = R123i.x;
PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3f83987f)); PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3f83987f));
R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.x))); R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.x)));
PV0i.z = R125i.z; PV0i.z = R125i.z;
R126i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].y) * 0.5 + 0.5)); R126i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].y) * 0.5 + 0.5));
R127i.y = floatBitsToInt(intBitsToFloat(R124i.w) * intBitsToFloat(0x3a95ae88)); R127i.y = floatBitsToInt(intBitsToFloat(R124i.w) * intBitsToFloat(0x3a95ae88));
PS0i = R127i.y; PS0i = R127i.y;
// 5 // 5
backupReg0i = R127i.x; backupReg0i = R127i.x;
R127i.x = ((0.0 > intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); R127i.x = ((0.0 > intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0));
R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.z)) + -(intBitsToFloat(backupReg0i)))); R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.z)) + -(intBitsToFloat(backupReg0i))));
PV1i.y = R123i.y; PV1i.y = R123i.y;
R126i.z = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); R126i.z = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0));
PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983)); PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983));
PS1i = uf_remappedPS[5].y; PS1i = uf_remappedPS[5].y;
PS1i = floatBitsToInt(intBitsToFloat(PS1i) / 2.0); PS1i = floatBitsToInt(intBitsToFloat(PS1i) / 2.0);
// 6 // 6
R125i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(0x4c1a4d90)); R125i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(0x4c1a4d90));
PV0i.x = R125i.x; PV0i.x = R125i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * 2.0 + -(1.0))); R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * 2.0 + -(1.0)));
PV0i.y = R123i.y; PV0i.y = R123i.y;
R0i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[4].y)) + 0.5); R0i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[4].y)) + 0.5);
R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(PS1i))); R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(PS1i)));
PS0i = floatBitsToInt(sin((intBitsToFloat(PV1i.w))/0.1591549367)); PS0i = floatBitsToInt(sin((intBitsToFloat(PV1i.w))/0.1591549367));
PS0i = floatBitsToInt(intBitsToFloat(PS0i) * 2.0); PS0i = floatBitsToInt(intBitsToFloat(PS0i) * 2.0);
// 7 // 7
R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.w))); R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.w)));
R127i.y = floatBitsToInt(intBitsToFloat(PS0i) + -(1.0)); R127i.y = floatBitsToInt(intBitsToFloat(PS0i) + -(1.0));
PV1i.y = R127i.y; PV1i.y = R127i.y;
PV1i.z = ((intBitsToFloat(PV0i.x) > 0.0)?int(0xFFFFFFFF):int(0x0)); PV1i.z = ((intBitsToFloat(PV0i.x) > 0.0)?int(0xFFFFFFFF):int(0x0));
PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(0x3f400000)); PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(0x3f400000));
PV1i.w = clampFI32(PV1i.w); PV1i.w = clampFI32(PV1i.w);
PS1i = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(0x3f400000)); PS1i = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(0x3f400000));
PS1i = clampFI32(PS1i); PS1i = clampFI32(PS1i);
// 8 red // 8 red
PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + 1.0); PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + 1.0);
R123i.y = ((R127i.x == 0)?(0):(PV1i.z)); R123i.y = ((R127i.x == 0)?(0):(PV1i.z));
PV0i.y = R123i.y; PV0i.y = R123i.y;
R126i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), intBitsToFloat(PS1i))); R126i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), intBitsToFloat(PS1i)));
R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.y)) + 1.0)); R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.y)) + 1.0));
R126i.y = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[6].x)); R126i.y = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[6].x));
PS0i = R126i.y; PS0i = R126i.y;
// 9 // 9
backupReg0i = R126i.w; backupReg0i = R126i.w;
R123i.x = ((PV0i.y == 0)?(0x445aeaf4):(0)); R123i.x = ((PV0i.y == 0)?(0x445aeaf4):(0));
PV1i.x = R123i.x; PV1i.x = R123i.x;
R123i.y = ((PV0i.y == 0)?(0x493b34ff):(0)); R123i.y = ((PV0i.y == 0)?(0x493b34ff):(0));
PV1i.y = R123i.y; PV1i.y = R123i.y;
R127i.z = ((PV0i.y == 0)?(0xbf800000):(0x3f800000)); R127i.z = ((PV0i.y == 0)?(0xbf800000):(0x3f800000));
PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * 0.5); PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * 0.5);
R126i.w = ((PV0i.y == 0)?(backupReg0i):(R125i.w)); R126i.w = ((PV0i.y == 0)?(backupReg0i):(R125i.w));
PS1i = R126i.w; PS1i = R126i.w;
// 10 // 10
backupReg0i = R125i.x; backupReg0i = R125i.x;
backupReg1i = R126i.z; backupReg1i = R126i.z;
R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(PV1i.w))); R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(PV1i.w)));
PV0i.x = R125i.x; PV0i.x = R125i.x;
PV0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.y)); PV0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.y));
R126i.z = floatBitsToInt(intBitsToFloat(R124i.w) + intBitsToFloat(PV1i.x)); R126i.z = floatBitsToInt(intBitsToFloat(R124i.w) + intBitsToFloat(PV1i.x));
PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedPS[7].x))); PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedPS[7].x)));
PS0i = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(0x3d747645)); PS0i = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(0x3d747645));
// 11 // 11
R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w)));
PV1i.x = R127i.x; PV1i.x = R127i.x;
PV1i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); PV1i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.x)));
R124i.z = PV0i.w; R124i.z = PV0i.w;
R124i.z = floatBitsToInt(intBitsToFloat(R124i.z) * 2.0); R124i.z = floatBitsToInt(intBitsToFloat(R124i.z) * 2.0);
R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedPS[8].x))); R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedPS[8].x)));
PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.y))); PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.y)));
// 12 // 12
backupReg0i = R0i.x; backupReg0i = R0i.x;
PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.y)); PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.y));
PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0);
R2i.z = floatBitsToInt(intBitsToFloat(R125i.x) + -(intBitsToFloat(PV1i.y))); R2i.z = floatBitsToInt(intBitsToFloat(R125i.x) + -(intBitsToFloat(PV1i.y)));
R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i))); R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)));
PV0i.w = R123i.w; PV0i.w = R123i.w;
PS0i = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); PS0i = floatBitsToInt(1.0 / intBitsToFloat(R126i.z));
// 13 // 13
backupReg0i = R127i.y; backupReg0i = R127i.y;
PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(PS0i)); PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(PS0i));
R127i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg0i)),intBitsToFloat(R124i.z)) + intBitsToFloat(PV0i.y))); R127i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg0i)),intBitsToFloat(R124i.z)) + intBitsToFloat(PV0i.y)));
PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.0); PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.0);
PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0);
PS1i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + 1.0); PS1i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + 1.0);
// 14 set r3i and rli to their final calculated values // 14 set r3i and rli to their final calculated values
backupReg0i = R0i.z; backupReg0i = R0i.z;
R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(uf_remappedPS[2].y))); R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(uf_remappedPS[2].y)));
R0i.y = floatBitsToInt(intBitsToFloat(R127i.x) + 2.0); R0i.y = floatBitsToInt(intBitsToFloat(R127i.x) + 2.0);
PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS1i))); PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS1i)));
R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV1i.x)) + intBitsToFloat(R126i.w))); R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV1i.x)) + intBitsToFloat(R126i.w)));
PV0i.w = R123i.w; PV0i.w = R123i.w;
R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedPS[2].y))); R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedPS[2].y)));
PS0i = R8i.x; PS0i = R8i.x;
// 15 // 15
R6i.x = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedPS[6].x)); R6i.x = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedPS[6].x));
R7i.y = PV0i.w; R7i.y = PV0i.w;
R7i.z = R0i.w; R7i.z = R0i.w;
R2i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3df47645)); R2i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3df47645));
R8i.y = PV0i.w; R8i.y = PV0i.w;
PS1i = R8i.y; PS1i = R8i.y;
// 16 // 16
R4i.x = ((intBitsToFloat(R2i.x) > intBitsToFloat(R1i.z))?int(0xFFFFFFFF):int(0x0)); R4i.x = ((intBitsToFloat(R2i.x) > intBitsToFloat(R1i.z))?int(0xFFFFFFFF):int(0x0));
R8i.z = R0i.w; R8i.z = R0i.w;
tempResultf = log2(intBitsToFloat(R127i.y)); tempResultf = log2(intBitsToFloat(R127i.y));
if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F;
R0i.w = floatBitsToInt(tempResultf); R0i.w = floatBitsToInt(tempResultf);
PS0i = R0i.w; PS0i = R0i.w;
} }
if( activeMaskStackC[1] == true ) { if( activeMaskStackC[1] == true ) {
R3i.xyzw = floatBitsToInt(texture(textureUnitPS0, vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))).xyzw); R3i.xyzw = floatBitsToInt(texture(textureUnitPS0, vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))).xyzw);
R1i.xyzw = floatBitsToInt(texture(textureUnitPS0, vec3(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z))).xyzw); R1i.xyzw = floatBitsToInt(texture(textureUnitPS0, vec3(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z))).xyzw);
} }
if( activeMaskStackC[1] == true ) { if( activeMaskStackC[1] == true ) {
activeMaskStack[1] = activeMaskStack[0]; activeMaskStack[1] = activeMaskStack[0];
activeMaskStackC[2] = activeMaskStackC[1]; activeMaskStackC[2] = activeMaskStackC[1];
// 0 // 0
PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.y)) + intBitsToFloat(R1i.y)); PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.y)) + intBitsToFloat(R1i.y));
PV0i.y = floatBitsToInt(-(intBitsToFloat(R3i.x)) + intBitsToFloat(R1i.x)); PV0i.y = floatBitsToInt(-(intBitsToFloat(R3i.x)) + intBitsToFloat(R1i.x));
PV0i.z = floatBitsToInt(intBitsToFloat(R0i.w) * 1.5); PV0i.z = floatBitsToInt(intBitsToFloat(R0i.w) * 1.5);
PV0i.w = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(R1i.z)); PV0i.w = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(R1i.z));
PS0i = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R1i.w)); PS0i = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R1i.w));
// 1 // 1
R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R2i.z)) + intBitsToFloat(R3i.y))); R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R2i.z)) + intBitsToFloat(R3i.y)));
PV1i.x = R123i.x; PV1i.x = R123i.x;
R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R2i.z)) + intBitsToFloat(R3i.x))); R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R2i.z)) + intBitsToFloat(R3i.x)));
PV1i.y = R123i.y; PV1i.y = R123i.y;
R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R2i.z)) + intBitsToFloat(R3i.w))); R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R2i.z)) + intBitsToFloat(R3i.w)));
PV1i.z = R123i.z; PV1i.z = R123i.z;
R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R2i.z)) + intBitsToFloat(R3i.z))); R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R2i.z)) + intBitsToFloat(R3i.z)));
PV1i.w = R123i.w; PV1i.w = R123i.w;
PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.z)));
// 2 // 2
R127i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); R127i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0));
PV0i.x = R127i.x; PV0i.x = R127i.x;
R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0));
PV0i.y = R127i.y; PV0i.y = R127i.y;
PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R0i.y))); PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R0i.y)));
R127i.w = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); R127i.w = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0));
PV0i.w = R127i.w; PV0i.w = R127i.w;
PS0i = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); PS0i = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0));
// 3 // 3
R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PS0i))); R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PS0i)));
R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i)));
R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PS0i))); R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PS0i)));
R126i.w = floatBitsToInt(max(intBitsToFloat(PV0i.y), intBitsToFloat(0x38d1b717))); R126i.w = floatBitsToInt(max(intBitsToFloat(PV0i.y), intBitsToFloat(0x38d1b717)));
PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z));
// 4 // 4
backupReg0i = R127i.x; backupReg0i = R127i.x;
backupReg1i = R127i.y; backupReg1i = R127i.y;
R127i.x = floatBitsToInt(intBitsToFloat(R2i.w) * intBitsToFloat(PS1i)); R127i.x = floatBitsToInt(intBitsToFloat(R2i.w) * intBitsToFloat(PS1i));
R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(R127i.w))); R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(R127i.w)));
R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(backupReg0i))); R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(backupReg0i)));
R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(backupReg1i))); R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(backupReg1i)));
PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[6].y)); PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[6].y));
// 5 // 5
R6i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedPS[6].x)); R6i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedPS[6].x));
PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[6].z)); PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[6].z));
// 6 // 6
backupReg0i = R127i.x; backupReg0i = R127i.x;
R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[9].x))); R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[9].x)));
R3i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedPS[6].x)); R3i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedPS[6].x));
PS0i = floatBitsToInt(1.0 / intBitsToFloat(R126i.w)); PS0i = floatBitsToInt(1.0 / intBitsToFloat(R126i.w));
// 7 // 7
PV1i.x = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(PS0i)); PV1i.x = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(PS0i));
PV1i.y = floatBitsToInt(intBitsToFloat(R124i.z) * intBitsToFloat(PS0i)); PV1i.y = floatBitsToInt(intBitsToFloat(R124i.z) * intBitsToFloat(PS0i));
PV1i.w = floatBitsToInt(intBitsToFloat(R125i.x) * intBitsToFloat(PS0i)); PV1i.w = floatBitsToInt(intBitsToFloat(R125i.x) * intBitsToFloat(PS0i));
// 8 // 8
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.w))); PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.w)));
PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.x))); PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.x)));
PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.y))); PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.y)));
// 9 // 9
R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(R127i.w))); R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(R127i.w)));
PV1i.x = R123i.x; PV1i.x = R123i.x;
R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.y))); R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.y)));
PV1i.z = R123i.z; PV1i.z = R123i.z;
R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R127i.z))); R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R127i.z)));
PV1i.w = R123i.w; PV1i.w = R123i.w;
// 10 // 10
PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0));
PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0));
PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0));
// 11 // 11
R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[10].x))); R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[10].x)));
R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[10].y))); R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[10].y)));
R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[10].z))); R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[10].z)));
// 12 // 12
predResult = (intBitsToFloat(uf_remappedPS[11].x) > 0.0); predResult = (intBitsToFloat(uf_remappedPS[11].x) > 0.0);
activeMaskStack[1] = predResult; activeMaskStack[1] = predResult;
activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
} }
else { else {
activeMaskStack[1] = false; activeMaskStack[1] = false;
activeMaskStackC[2] = false; activeMaskStackC[2] = false;
} }
if( activeMaskStackC[2] == true ) { if( activeMaskStackC[2] == true ) {
// 0 // 0
PV0i.x = R2i.y; PV0i.x = R2i.y;
PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0);
R4i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[8].x) * intBitsToFloat(0x3d747645)); R4i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[8].x) * intBitsToFloat(0x3d747645));
PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[7].x), intBitsToFloat(uf_remappedPS[7].x))); PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[7].x), intBitsToFloat(uf_remappedPS[7].x)));
// 1 // 1
PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + 1.0); PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + 1.0);
R3i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + 2.0); R3i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + 2.0);
PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0);
PV1i.w = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); PV1i.w = floatBitsToInt(floor(intBitsToFloat(PV0i.x)));
// 2 // 2
R1i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3df47645)); R1i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3df47645));
PV0i.y = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(PV1i.w)); PV0i.y = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(PV1i.w));
R1i.z = floatBitsToInt((intBitsToFloat(R2i.y) * 0.5 + -(intBitsToFloat(PV1i.w)))); R1i.z = floatBitsToInt((intBitsToFloat(R2i.y) * 0.5 + -(intBitsToFloat(PV1i.w))));
PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + -0.0); PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + -0.0);
// 3 // 3
PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + 1.0); PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + 1.0);
PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + 0.0); PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + 0.0);
tempResultf = log2(intBitsToFloat(PV0i.w)); tempResultf = log2(intBitsToFloat(PV0i.w));
if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F;
PS1i = floatBitsToInt(tempResultf); PS1i = floatBitsToInt(tempResultf);
// 4 // 4
R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedPS[2].y))); R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedPS[2].y)));
R1i.y = floatBitsToInt(intBitsToFloat(PS1i) * 1.5); R1i.y = floatBitsToInt(intBitsToFloat(PS1i) * 1.5);
R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(uf_remappedPS[2].y))); R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(uf_remappedPS[2].y)));
PS0i = R8i.x; PS0i = R8i.x;
} }
if( activeMaskStackC[2] == true ) { if( activeMaskStackC[2] == true ) {
R2i.xyzw = floatBitsToInt(texture(textureUnitPS0, vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))).xyzw); R2i.xyzw = floatBitsToInt(texture(textureUnitPS0, vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))).xyzw);
R0i.xyzw = floatBitsToInt(texture(textureUnitPS0, vec3(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z))).xyzw); R0i.xyzw = floatBitsToInt(texture(textureUnitPS0, vec3(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z))).xyzw);
} }
if( activeMaskStackC[2] == true ) { if( activeMaskStackC[2] == true ) {
// 0 // 0
backupReg0i = R0i.x; backupReg0i = R0i.x;
backupReg1i = R0i.z; backupReg1i = R0i.z;
PV0i.x = floatBitsToInt(-(intBitsToFloat(R2i.y)) + intBitsToFloat(R0i.y)); PV0i.x = floatBitsToInt(-(intBitsToFloat(R2i.y)) + intBitsToFloat(R0i.y));
PV0i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + intBitsToFloat(backupReg0i)); PV0i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + intBitsToFloat(backupReg0i));
PV0i.z = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(R0i.w)); PV0i.z = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(R0i.w));
PV0i.w = floatBitsToInt(-(intBitsToFloat(R2i.z)) + intBitsToFloat(backupReg1i)); PV0i.w = floatBitsToInt(-(intBitsToFloat(R2i.z)) + intBitsToFloat(backupReg1i));
PS0i = floatBitsToInt(exp2(intBitsToFloat(R1i.y))); PS0i = floatBitsToInt(exp2(intBitsToFloat(R1i.y)));
// 1 // 1
R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R1i.z)) + intBitsToFloat(R2i.y))); R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R1i.z)) + intBitsToFloat(R2i.y)));
PV1i.x = R123i.x; PV1i.x = R123i.x;
R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R1i.z)) + intBitsToFloat(R2i.x))); R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R1i.z)) + intBitsToFloat(R2i.x)));
PV1i.y = R123i.y; PV1i.y = R123i.y;
R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R1i.z)) + intBitsToFloat(R2i.w))); R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R1i.z)) + intBitsToFloat(R2i.w)));
PV1i.z = R123i.z; PV1i.z = R123i.z;
R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R1i.z)) + intBitsToFloat(R2i.z))); R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R1i.z)) + intBitsToFloat(R2i.z)));
PV1i.w = R123i.w; PV1i.w = R123i.w;
PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R3i.y))); PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R3i.y)));
// 2 // 2
R127i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); R127i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0));
PV0i.x = R127i.x; PV0i.x = R127i.x;
R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0));
PV0i.y = R127i.y; PV0i.y = R127i.y;
PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0));
R127i.w = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); R127i.w = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0));
PV0i.w = R127i.w; PV0i.w = R127i.w;
PS0i = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); PS0i = floatBitsToInt(1.0 / intBitsToFloat(PS1i));
// 3 // 3
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.z))); R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.z)));
R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.z))); R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.z)));
PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.y), intBitsToFloat(0x38d1b717))); PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.y), intBitsToFloat(0x38d1b717)));
R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.z))); R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.z)));
PS1i = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS0i)); PS1i = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS0i));
// 4 // 4
backupReg0i = R127i.x; backupReg0i = R127i.x;
backupReg1i = R127i.y; backupReg1i = R127i.y;
backupReg2i = R127i.w; backupReg2i = R127i.w;
R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(backupReg0i))); R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(backupReg0i)));
R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(uf_remappedPS[9].x))); R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(uf_remappedPS[9].x)));
R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(backupReg1i))); R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(backupReg1i)));
R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(backupReg2i))); R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(backupReg2i)));
PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.z)); PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.z));
// 5 // 5
PV1i.x = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(PS0i)); PV1i.x = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(PS0i));
PV1i.z = floatBitsToInt(intBitsToFloat(R126i.w) * intBitsToFloat(PS0i)); PV1i.z = floatBitsToInt(intBitsToFloat(R126i.w) * intBitsToFloat(PS0i));
PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) * intBitsToFloat(PS0i)); PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) * intBitsToFloat(PS0i));
// 6 // 6
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.w))); PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.w)));
PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.x))); PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.x)));
PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.z))); PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.z)));
// 7 // 7
R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w))); R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w)));
PV1i.y = R123i.y; PV1i.y = R123i.y;
R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.x))); R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.x)));
PV1i.z = R123i.z; PV1i.z = R123i.z;
R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(R127i.z))); R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(R127i.z)));
PV1i.w = R123i.w; PV1i.w = R123i.w;
// 8 // 8
PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0));
PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0));
PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0));
// 9 // 9
R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedPS[10].y)) + -(intBitsToFloat(R5i.y)))); R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedPS[10].y)) + -(intBitsToFloat(R5i.y))));
PV1i.x = R123i.x; PV1i.x = R123i.x;
R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedPS[10].x)) + -(intBitsToFloat(R5i.x)))); R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedPS[10].x)) + -(intBitsToFloat(R5i.x))));
PV1i.y = R123i.y; PV1i.y = R123i.y;
R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(uf_remappedPS[10].z)) + -(intBitsToFloat(R5i.z)))); R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(uf_remappedPS[10].z)) + -(intBitsToFloat(R5i.z))));
PV1i.w = R123i.w; PV1i.w = R123i.w;
// 10 // 10
backupReg0i = R5i.x; backupReg0i = R5i.x;
backupReg1i = R5i.y; backupReg1i = R5i.y;
backupReg2i = R5i.z; backupReg2i = R5i.z;
R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedPS[11].x)) + intBitsToFloat(backupReg0i))); R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedPS[11].x)) + intBitsToFloat(backupReg0i)));
R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedPS[11].x)) + intBitsToFloat(backupReg1i))); R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedPS[11].x)) + intBitsToFloat(backupReg1i)));
R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(uf_remappedPS[11].x)) + intBitsToFloat(backupReg2i))); R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(uf_remappedPS[11].x)) + intBitsToFloat(backupReg2i)));
} }
activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
if( activeMaskStackC[1] == true ) { if( activeMaskStackC[1] == true ) {
// 0 // 0
R5i.w = ((R4i.x == 0)?(0x3f800000):(0)); R5i.w = ((R4i.x == 0)?(0x3f800000):(0));
} }
// export // export
// original line // original line
//passPixelColor0 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z) , intBitsToFloat(R5i.w)); //passPixelColor0 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z) , intBitsToFloat(R5i.w));
//passPixelColor0 = vec4(intBitsToFloat(R5i.x)*0.05, intBitsToFloat(R5i.y)*0.16, intBitsToFloat(R5i.z)*0.7 , intBitsToFloat(R5i.w))*0.33; //passPixelColor0 = vec4(intBitsToFloat(R5i.x)*0.05, intBitsToFloat(R5i.y)*0.16, intBitsToFloat(R5i.z)*0.7 , intBitsToFloat(R5i.w))*0.33;
// faron noon bridgepassPixelColor0 = vec4(intBitsToFloat(R5i.x)*0.09, intBitsToFloat(R5i.y)*0.23, intBitsToFloat(R5i.z)*.65 , intBitsToFloat(R5i.w))*0.82; // faron noon bridgepassPixelColor0 = vec4(intBitsToFloat(R5i.x)*0.09, intBitsToFloat(R5i.y)*0.23, intBitsToFloat(R5i.z)*.65 , intBitsToFloat(R5i.w))*0.82;
// faron morning still off passPixelColor0 = vec4(intBitsToFloat(R5i.x)*0.09, //intBitsToFloat(R5i.y)*0.22, intBitsToFloat(R5i.z)*.65 , intBitsToFloat(R5i.w))*0.82; // faron morning still off passPixelColor0 = vec4(intBitsToFloat(R5i.x)*0.09, //intBitsToFloat(R5i.y)*0.22, intBitsToFloat(R5i.z)*.65 , intBitsToFloat(R5i.w))*0.82;
//passPixelColor0 = vec4(intBitsToFloat(R5i.x)*0.09, intBitsToFloat(R5i.y)*0.22, intBitsToFloat(R5i.z)*.65 , intBitsToFloat(R5i.w))*0.82; //passPixelColor0 = vec4(intBitsToFloat(R5i.x)*0.09, intBitsToFloat(R5i.y)*0.22, intBitsToFloat(R5i.z)*.65 , intBitsToFloat(R5i.w))*0.82;
passPixelColor0 = vec4(intBitsToFloat(R5i.x)*0.155, intBitsToFloat(R5i.y)*0.37, intBitsToFloat(R5i.z) , intBitsToFloat(R5i.w))*.86; passPixelColor0 = vec4(intBitsToFloat(R5i.x)*0.155, intBitsToFloat(R5i.y)*0.37, intBitsToFloat(R5i.z) , intBitsToFloat(R5i.w))*.86;
} }

View File

@ -1,152 +1,152 @@
#version 420 #version 420
#extension GL_ARB_texture_gather : enable #extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_separate_shader_objects : enable
// shader 29c30aaa023dc7e6 // shader 29c30aaa023dc7e6
// fog ganon swirl full // fog ganon swirl full
uniform ivec4 uf_remappedPS[2]; uniform ivec4 uf_remappedPS[2];
uniform float uf_alphaTestRef; uniform float uf_alphaTestRef;
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fc1000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fc1000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x2103b000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x2103b000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0
layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1b4c0000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0 layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1b4c0000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0
layout(location = 0) in vec4 passParameterSem0; layout(location = 0) in vec4 passParameterSem0;
layout(location = 1) in vec4 passParameterSem1; layout(location = 1) in vec4 passParameterSem1;
layout(location = 2) in vec4 passParameterSem4; layout(location = 2) in vec4 passParameterSem4;
layout(location = 3) in vec4 passParameterSem5; layout(location = 3) in vec4 passParameterSem5;
layout(location = 4) in vec4 passParameterSem7; layout(location = 4) in vec4 passParameterSem7;
layout(location = 5) in vec4 passParameterSem8; layout(location = 5) in vec4 passParameterSem8;
layout(location = 6) in vec4 passParameterSem9; layout(location = 6) in vec4 passParameterSem9;
layout(location = 7) in vec4 passParameterSem14; layout(location = 7) in vec4 passParameterSem14;
layout(location = 8) in vec4 passParameterSem15; layout(location = 8) in vec4 passParameterSem15;
layout(location = 9) in vec4 passParameterSem16; layout(location = 9) in vec4 passParameterSem16;
layout(location = 0) out vec4 passPixelColor0; layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale; uniform vec2 uf_fragCoordScale;
int clampFI32(int v) int clampFI32(int v)
{ {
if( v == 0x7FFFFFFF ) if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0); return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF ) else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0); return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.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; } float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main() void main()
{ {
vec4 R0f = vec4(0.0); vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0); vec4 R1f = vec4(0.0);
vec4 R2f = vec4(0.0); vec4 R2f = vec4(0.0);
vec4 R3f = vec4(0.0); vec4 R3f = vec4(0.0);
vec4 R4f = vec4(0.0); vec4 R4f = vec4(0.0);
vec4 R5f = vec4(0.0); vec4 R5f = vec4(0.0);
vec4 R6f = vec4(0.0); vec4 R6f = vec4(0.0);
vec4 R7f = vec4(0.0); vec4 R7f = vec4(0.0);
vec4 R8f = vec4(0.0); vec4 R8f = vec4(0.0);
vec4 R9f = vec4(0.0); vec4 R9f = vec4(0.0);
vec4 R123f = vec4(0.0); vec4 R123f = vec4(0.0);
vec4 R127f = vec4(0.0); vec4 R127f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0; float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0); vec4 tempf = vec4(0.0);
float tempResultf; float tempResultf;
int tempResulti; int tempResulti;
ivec4 ARi = ivec4(0); ivec4 ARi = ivec4(0);
bool predResult = true; bool predResult = true;
vec3 cubeMapSTM; vec3 cubeMapSTM;
int cubeMapFaceId; int cubeMapFaceId;
R0f = passParameterSem0; R0f = passParameterSem0;
R1f = passParameterSem1; R1f = passParameterSem1;
R2f = passParameterSem4; R2f = passParameterSem4;
R3f = passParameterSem5; R3f = passParameterSem5;
R4f = passParameterSem7; R4f = passParameterSem7;
R5f = passParameterSem8; R5f = passParameterSem8;
R6f = passParameterSem9; R6f = passParameterSem9;
R7f = passParameterSem14; R7f = passParameterSem14;
R8f = passParameterSem15; R8f = passParameterSem15;
R9f = passParameterSem16; R9f = passParameterSem16;
R3f.xw = (texture(textureUnitPS0, R5f.xy).xw); R3f.xw = (texture(textureUnitPS0, R5f.xy).xw);
// 0 // 0
R123f.z = (R3f.w * 2.0 + -(1.0)); R123f.z = (R3f.w * 2.0 + -(1.0));
PV0f.z = R123f.z; PV0f.z = R123f.z;
R123f.w = (R3f.x * 2.0 + -(1.0)); R123f.w = (R3f.x * 2.0 + -(1.0));
PV0f.w = R123f.w; PV0f.w = R123f.w;
// 1 // 1
PV1f.y = mul_nonIEEE(R2f.y, PV0f.w); PV1f.y = mul_nonIEEE(R2f.y, PV0f.w);
PV1f.w = mul_nonIEEE(R3f.y, PV0f.z); PV1f.w = mul_nonIEEE(R3f.y, PV0f.z);
// 2 // 2
backupReg0f = R3f.z; backupReg0f = R3f.z;
backupReg0f = R3f.z; backupReg0f = R3f.z;
R3f.x = R5f.z + PV1f.y; R3f.x = R5f.z + PV1f.y;
R3f.y = R5f.w + PV1f.w; R3f.y = R5f.w + PV1f.w;
R3f.z = (mul_nonIEEE(backupReg0f,PV1f.y) + R6f.x); R3f.z = (mul_nonIEEE(backupReg0f,PV1f.y) + R6f.x);
R3f.w = (mul_nonIEEE(backupReg0f,PV1f.w) + R6f.y); R3f.w = (mul_nonIEEE(backupReg0f,PV1f.w) + R6f.y);
R3f.x = (texture(textureUnitPS1, R3f.xy).w); R3f.x = (texture(textureUnitPS1, R3f.xy).w);
R5f.xw = (texture(textureUnitPS2, R3f.zw).xw); R5f.xw = (texture(textureUnitPS2, R3f.zw).xw);
// 0 // 0
R127f.x = mul_nonIEEE(R5f.x, R5f.x); R127f.x = mul_nonIEEE(R5f.x, R5f.x);
R123f.z = (mul_nonIEEE(R4f.w,R3f.x) + -(R0f.w)); R123f.z = (mul_nonIEEE(R4f.w,R3f.x) + -(R0f.w));
PV0f.z = R123f.z; PV0f.z = R123f.z;
R127f.w = mul_nonIEEE(R5f.w, R5f.w); R127f.w = mul_nonIEEE(R5f.w, R5f.w);
// 1 // 1
PV1f.y = mul_nonIEEE(R1f.w, PV0f.z); PV1f.y = mul_nonIEEE(R1f.w, PV0f.z);
PV1f.y = clamp(PV1f.y, 0.0, 1.0); PV1f.y = clamp(PV1f.y, 0.0, 1.0);
// 2 // 2
backupReg0f = R127f.x; backupReg0f = R127f.x;
R127f.x = mul_nonIEEE(backupReg0f, PV1f.y); R127f.x = mul_nonIEEE(backupReg0f, PV1f.y);
PV0f.y = PV1f.y; PV0f.y = PV1f.y;
PV0f.y = clamp(PV0f.y, 0.0, 1.0); PV0f.y = clamp(PV0f.y, 0.0, 1.0);
PV0f.w = mul_nonIEEE(R127f.w, PV1f.y); PV0f.w = mul_nonIEEE(R127f.w, PV1f.y);
// 3 // 3
R123f.x = (mul_nonIEEE(R0f.z,PV0f.w) + intBitsToFloat(0x3d23d70a)); R123f.x = (mul_nonIEEE(R0f.z,PV0f.w) + intBitsToFloat(0x3d23d70a));
PV1f.x = R123f.x; PV1f.x = R123f.x;
R123f.y = (mul_nonIEEE(R0f.y,PV0f.w) + intBitsToFloat(0x3c75c28f)); R123f.y = (mul_nonIEEE(R0f.y,PV0f.w) + intBitsToFloat(0x3c75c28f));
PV1f.y = R123f.y; PV1f.y = R123f.y;
R123f.z = (mul_nonIEEE(R0f.x,PV0f.w) + intBitsToFloat(0x3c75c28f)); R123f.z = (mul_nonIEEE(R0f.x,PV0f.w) + intBitsToFloat(0x3c75c28f));
PV1f.z = R123f.z; PV1f.z = R123f.z;
PV1f.w = mul_nonIEEE(R2f.x, PV0f.y); PV1f.w = mul_nonIEEE(R2f.x, PV0f.y);
// 4 // 4
R127f.y = (mul_nonIEEE(R1f.z,R127f.x*.35) + PV1f.x); R127f.y = (mul_nonIEEE(R1f.z,R127f.x*.35) + PV1f.x);
PV0f.y = R127f.y; PV0f.y = R127f.y;
R127f.z = (mul_nonIEEE(R1f.y,R127f.x*.35) + PV1f.y); R127f.z = (mul_nonIEEE(R1f.y,R127f.x*.35) + PV1f.y);
PV0f.z = R127f.z; PV0f.z = R127f.z;
R127f.w = (mul_nonIEEE(R1f.x,R127f.x*.35) + PV1f.z); R127f.w = (mul_nonIEEE(R1f.x,R127f.x*.35) + PV1f.z);
PV0f.w = R127f.w; PV0f.w = R127f.w;
R1f.w = mul_nonIEEE(R7f.w, PV1f.w); R1f.w = mul_nonIEEE(R7f.w, PV1f.w);
PS0f = R1f.w; PS0f = R1f.w;
// 5 // 5
PV1f.x = -(PV0f.y) + intBitsToFloat(uf_remappedPS[0].z); PV1f.x = -(PV0f.y) + intBitsToFloat(uf_remappedPS[0].z);
PV1f.y = -(PV0f.z) + intBitsToFloat(uf_remappedPS[0].y); PV1f.y = -(PV0f.z) + intBitsToFloat(uf_remappedPS[0].y);
PV1f.z = -(PV0f.w) + intBitsToFloat(uf_remappedPS[0].x); PV1f.z = -(PV0f.w) + intBitsToFloat(uf_remappedPS[0].x);
// 6 // 6
backupReg0f = R127f.y; backupReg0f = R127f.y;
backupReg1f = R127f.z; backupReg1f = R127f.z;
backupReg2f = R127f.w; backupReg2f = R127f.w;
R127f.y = (mul_nonIEEE(PV1f.x,R9f.y*.35) + backupReg0f); R127f.y = (mul_nonIEEE(PV1f.x,R9f.y*.35) + backupReg0f);
PV0f.y = R127f.y; PV0f.y = R127f.y;
R127f.z = (mul_nonIEEE(PV1f.y,R9f.y*.35) + backupReg1f); R127f.z = (mul_nonIEEE(PV1f.y,R9f.y*.35) + backupReg1f);
PV0f.z = R127f.z; PV0f.z = R127f.z;
R127f.w = (mul_nonIEEE(PV1f.z,R9f.y*.35) + backupReg2f); R127f.w = (mul_nonIEEE(PV1f.z,R9f.y*.35) + backupReg2f);
PV0f.w = R127f.w; PV0f.w = R127f.w;
// 7 // 7
PV1f.x = R8f.x + -(PV0f.w); PV1f.x = R8f.x + -(PV0f.w);
PV1f.z = R8f.z + -(PV0f.y); PV1f.z = R8f.z + -(PV0f.y);
PV1f.w = R8f.y + -(PV0f.z); PV1f.w = R8f.y + -(PV0f.z);
// 8 // 8
backupReg0f = R127f.y; backupReg0f = R127f.y;
R127f.x = (mul_nonIEEE(PV1f.w,R8f.w*.35) + R127f.z); R127f.x = (mul_nonIEEE(PV1f.w,R8f.w*.35) + R127f.z);
PV0f.x = R127f.x; PV0f.x = R127f.x;
R127f.y = (mul_nonIEEE(PV1f.x,R8f.w*.35) + R127f.w); R127f.y = (mul_nonIEEE(PV1f.x,R8f.w*.35) + R127f.w);
PV0f.y = R127f.y; PV0f.y = R127f.y;
R127f.w = (mul_nonIEEE(PV1f.z,R8f.w*.35) + backupReg0f); R127f.w = (mul_nonIEEE(PV1f.z,R8f.w*.35) + backupReg0f);
PV0f.w = R127f.w; PV0f.w = R127f.w;
// 9 // 9
PV1f.x = -(PV0f.w) + intBitsToFloat(uf_remappedPS[1].z); PV1f.x = -(PV0f.w) + intBitsToFloat(uf_remappedPS[1].z);
PV1f.y = -(PV0f.x) + intBitsToFloat(uf_remappedPS[1].y); PV1f.y = -(PV0f.x) + intBitsToFloat(uf_remappedPS[1].y);
PV1f.z = -(PV0f.y) + intBitsToFloat(uf_remappedPS[1].x); PV1f.z = -(PV0f.y) + intBitsToFloat(uf_remappedPS[1].x);
// 10 // 10
R1f.x = (mul_nonIEEE(PV1f.z,R9f.x) + R127f.y); R1f.x = (mul_nonIEEE(PV1f.z,R9f.x) + R127f.y);
R1f.y = (mul_nonIEEE(PV1f.y,R9f.x) + R127f.x); R1f.y = (mul_nonIEEE(PV1f.y,R9f.x) + R127f.x);
R1f.z = (mul_nonIEEE(PV1f.x,R9f.x) + R127f.w); R1f.z = (mul_nonIEEE(PV1f.x,R9f.x) + R127f.w);
// export // export
if( ((vec4(R1f.x, R1f.y, R1f.z, R1f.w)).a > uf_alphaTestRef) == false) discard; if( ((vec4(R1f.x, R1f.y, R1f.z, R1f.w)).a > uf_alphaTestRef) == false) discard;
passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w);
} }

View File

@ -1,75 +1,75 @@
#version 420 #version 420
#extension GL_ARB_texture_gather : enable #extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_separate_shader_objects : enable
// shader 3df0bb0da1c740d5 // shader 3df0bb0da1c740d5
// atmospheric dust and crespecular rays // atmospheric dust and crespecular rays
uniform ivec4 uf_remappedPS[1]; uniform ivec4 uf_remappedPS[1];
uniform float uf_alphaTestRef; uniform float uf_alphaTestRef;
layout(binding = 9) uniform sampler2D textureUnitPS9;// Tex9 addr 0xf557c800 res 160x90x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler9 ClampX/Y/Z: 2 2 2 border: 1 layout(binding = 9) uniform sampler2D textureUnitPS9;// Tex9 addr 0xf557c800 res 160x90x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler9 ClampX/Y/Z: 2 2 2 border: 1
layout(location = 0) in vec4 passParameterSem0; layout(location = 0) in vec4 passParameterSem0;
layout(location = 1) in vec4 passParameterSem3; layout(location = 1) in vec4 passParameterSem3;
layout(location = 2) in vec4 passParameterSem4; layout(location = 2) in vec4 passParameterSem4;
layout(location = 3) in vec4 passParameterSem7; layout(location = 3) in vec4 passParameterSem7;
layout(location = 0) out vec4 passPixelColor0; layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale; uniform vec2 uf_fragCoordScale;
int clampFI32(int v) int clampFI32(int v)
{ {
if( v == 0x7FFFFFFF ) if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0); return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF ) else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0); return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.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; } float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main() void main()
{ {
vec4 R0f = vec4(0.0); vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0); vec4 R1f = vec4(0.0);
vec4 R2f = vec4(0.0); vec4 R2f = vec4(0.0);
vec4 R3f = vec4(0.0); vec4 R3f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0; float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0); vec4 tempf = vec4(0.0);
float tempResultf; float tempResultf;
int tempResulti; int tempResulti;
ivec4 ARi = ivec4(0); ivec4 ARi = ivec4(0);
bool predResult = true; bool predResult = true;
vec3 cubeMapSTM; vec3 cubeMapSTM;
int cubeMapFaceId; int cubeMapFaceId;
R0f = passParameterSem0; R0f = passParameterSem0;
R1f = passParameterSem3; R1f = passParameterSem3;
R2f = passParameterSem4; R2f = passParameterSem4;
R3f = passParameterSem7; R3f = passParameterSem7;
// 0 // 0
R3f.x = mul_nonIEEE(R0f.y, R3f.w); R3f.x = mul_nonIEEE(R0f.y, R3f.w);
R2f.y = mul_nonIEEE(R0f.x, R3f.w); R2f.y = mul_nonIEEE(R0f.x, R3f.w);
R1f.z = mul_nonIEEE(R0f.z, R3f.w); R1f.z = mul_nonIEEE(R0f.z, R3f.w);
PV0f.w = R3f.w * 1.0; PV0f.w = R3f.w * 1.0;
PS0f = 1.0 / R1f.w; PS0f = 1.0 / R1f.w;
// 1 // 1
R0f.x = mul_nonIEEE(R1f.x, PS0f); R0f.x = mul_nonIEEE(R1f.x, PS0f);
R0f.y = mul_nonIEEE(R1f.y, PS0f); R0f.y = mul_nonIEEE(R1f.y, PS0f);
R0f.z = mul_nonIEEE(R0f.w, PV0f.w); R0f.z = mul_nonIEEE(R0f.w, PV0f.w);
R0f.z = clamp(R0f.z, 0.0, 1.0); R0f.z = clamp(R0f.z, 0.0, 1.0);
R1f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x), intBitsToFloat(uf_remappedPS[0].w)); R1f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x), intBitsToFloat(uf_remappedPS[0].w));
R1f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), intBitsToFloat(uf_remappedPS[0].w)); R1f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), intBitsToFloat(uf_remappedPS[0].w));
PS1f = R1f.x; PS1f = R1f.x;
R0f.w = (texture(textureUnitPS9, R0f.xy).x); R0f.w = (texture(textureUnitPS9, R0f.xy).x);
// 0 // 0
PV0f.x = mul_nonIEEE(R2f.x, R0f.z); PV0f.x = mul_nonIEEE(R2f.x, R0f.z);
R0f.y = mul_nonIEEE(R3f.x, R1f.x); R0f.y = mul_nonIEEE(R3f.x, R1f.x);
PV0f.z = R0f.w; PV0f.z = R0f.w;
PV0f.z /= 2.0; PV0f.z /= 2.0;
PV0f.z = clamp(PV0f.z, 0.0, 1.0); PV0f.z = clamp(PV0f.z, 0.0, 1.0);
PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z), intBitsToFloat(uf_remappedPS[0].w)); PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z), intBitsToFloat(uf_remappedPS[0].w));
R0f.x = mul_nonIEEE(R2f.y, R1f.w); R0f.x = mul_nonIEEE(R2f.y, R1f.w);
PS0f = R0f.x; PS0f = R0f.x;
// 1 // 1
R0f.z = mul_nonIEEE(R1f.z, PV0f.w); R0f.z = mul_nonIEEE(R1f.z, PV0f.w);
R0f.w = mul_nonIEEE(PV0f.x, PV0f.z); R0f.w = mul_nonIEEE(PV0f.x, PV0f.z);
// export // export
// check whether fragment output is higher than threshold, if so output as brightness color // check whether fragment output is higher than threshold, if so output as brightness color
if( ((vec4(R0f.x, R0f.y, R0f.z, R0f.w)).a > uf_alphaTestRef) == false) discard; if( ((vec4(R0f.x, R0f.y, R0f.z, R0f.w)).a > uf_alphaTestRef) == false) discard;
passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w*.35); passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w*.35);
} }

View File

@ -1,8 +1,8 @@
[Definition] [Definition]
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
name = "Remove Intel Excess Bloom" name = "Remove Intel Excess Bloom"
path = "The Legend of Zelda: Breath of the Wild/Workarounds/Intel iGPU/Remove Excess Intel Bloom" path = "The Legend of Zelda: Breath of the Wild/Workarounds/Intel iGPU/Remove Excess Intel Bloom"
description = This workaround targets users of Intel iGPU drivers 23.xx and older experiencing bloom issue. These drivers may offer better performance but have graphical glitches. This pack aims to fix the graphical issues so the older drivers create visuals similar to the new drivers. These older drivers may be found on Intel's site https://downloadcenter.intel.com/download/27484/Graphics-Intel-Graphics-Driver-for-Windows-15-65-. description = This workaround targets users of Intel iGPU drivers 23.xx and older experiencing bloom issue. These drivers may offer better performance but have graphical glitches. This pack aims to fix the graphical issues so the older drivers create visuals similar to the new drivers. These older drivers may be found on Intel's site https://downloadcenter.intel.com/download/27484/Graphics-Intel-Graphics-Driver-for-Windows-15-65-.
version = 3 version = 3
#Altros #Altros