[Tropical Freeze] Fix Water (fix by getdls, send thanks to him!)

Finally got towards implementing these to the repo.
Other packs have fixed names, to fit in line with the other packs. Also have unnecessary stuff removed
This commit is contained in:
Michael 2017-04-02 14:15:20 -07:00
parent d169198600
commit 2e540dd302
36 changed files with 7459 additions and 104 deletions

View File

@ -1,6 +1,6 @@
[Definition]# EUR, USA, JPN titles [Definition]# EUR, USA, JPN titles
titleIds = 0005000010143400,0005000010143600,0005000010143500 # titleIds = 0005000010143400,0005000010143600,0005000010143500 #
name ="The Wind Waker HD 4320p" name ="The Wind Waker HD - 4320p (8K)"
[TextureRedefine] # game rendering resolution. #Change this value [TextureRedefine] # game rendering resolution. #Change this value
width = 1920 width = 1920
@ -9,13 +9,6 @@ formatsExcluded = 0x41A # exclude the intro background texture
overwriteWidth = 7680 overwriteWidth = 7680
overwriteHeight = 4320 overwriteHeight = 4320
#[TextureRedefine] # gamepad view
#width = 854
#height = 480
#formatsExcluded =
#overwriteWidth = 3413
#overwriteHeight = 1920
#[TextureRedefine] # Blur, bloom #[TextureRedefine] # Blur, bloom
#width = 960 #width = 960
#height = 540 #height = 540
@ -32,15 +25,7 @@ overwriteHeight = 4320
[TextureRedefine] # AO [TextureRedefine] # AO
#width = 480 #width = 480
height = 240 #height = 240
#formatsExcluded = #formatsExcluded =
#overwriteWidth = 1920 #overwriteWidth = 1920
#overwriteHeight = 960 #overwriteHeight = 960
##Textures
[TextureRedefine] # 3 lod shadows
width = 1024
height = 1024
formats = 0x005
overwriteWidth = 2048
overwriteHeight = 2048

View File

@ -1,6 +1,6 @@
[Definition] [Definition]
titleIds = 000500001019C800,000500001019E600,000500001019E500 titleIds = 000500001019C800,000500001019E600,000500001019E500
name ="Twilight Princess HD 4320p" name ="Twilight Princess HD - 4320p (8K)"
[TextureRedefine] # [TextureRedefine] #
width = 1920 width = 1920
@ -9,13 +9,6 @@ formatsExcluded = 0x41A # exclude the intro background texture
overwriteWidth = 7680 overwriteWidth = 7680
overwriteHeight = 4320 overwriteHeight = 4320
#[TextureRedefine] # gamepad view
#width = 854
#height = 480
#formatsExcluded =
#overwriteWidth = 3413
#overwriteHeight = 1920
[TextureRedefine] # Blur, bloom [TextureRedefine] # Blur, bloom
width = 960 width = 960
height = 540 height = 540
@ -29,11 +22,3 @@ overwriteHeight = 2160
#formats = 0x01a #formats = 0x01a
#overwriteWidth = 1920 #overwriteWidth = 1920
#overwriteHeight = 1080 #overwriteHeight = 1080
##Textures
[TextureRedefine] # Link shadow n light
width = 384
height = 384
formats = 0x01a
overwriteWidth = 1536
overwriteHeight = 1536

View File

@ -0,0 +1,505 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 640.0; //overwidth value.0
const float overwriteHeight = 360.0;
// shader 1bfa8cd906df24d9
uniform ivec4 uf_remappedPS[14];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
uniform sampler2D textureUnitPS1;// Tex1 addr 0x34958000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS2;// Tex2 addr 0x35828000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS3;// Tex3 addr 0x19ba0000 res 256x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 0 border: 0
uniform samplerCubeArray textureUnitPS4;// Tex4 addr 0x34328000 res 128x128x1 dim 3 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x6) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
uniform sampler2D textureUnitPS5;// Tex5 addr 0xf4708800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
in vec4 passParameter2;
in vec4 passParameter3;
in vec4 passParameter4;
in vec4 passParameter5;
in vec4 passParameter6;
layout(location = 0) out vec4 passPixelColor0;
void redcCUBE(vec4 src0, vec4 src1, inout vec3 stm, inout int faceId)
{
// stm -> x .. s, y .. t, z .. MajorAxis*2.0
vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x));
float rx = inputCoord.x;
float ry = inputCoord.y;
float rz = inputCoord.z;
if( abs(rx) > abs(ry) && abs(rx) > abs(rz) )
{
stm.z = rx*2.0;
stm.xy = vec2(ry,rz);
if( rx >= 0.0 )
{
faceId = 0;
}
else
{
faceId = 1;
}
}
else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) )
{
stm.z = ry*2.0;
stm.xy = vec2(rx,rz);
if( ry >= 0.0 )
{
faceId = 2;
}
else
{
faceId = 3;
}
}
else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) )
{
stm.z = rz*2.0;
stm.xy = vec2(rx,ry);
if( rz >= 0.0 )
{
faceId = 4;
}
else
{
faceId = 5;
}
}
}
vec3 redcCUBEReverse(vec2 st, int faceId)
{
st.yx = st.xy;
vec3 v;
float majorAxis = 1.0;
if( faceId == 0 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = 1.0;
}
else if( faceId == 1 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = -1.0;
}
else if( faceId == 2 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = 1.0;
}
else if( faceId == 3 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = -1.0;
}
else if( faceId == 4 )
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = 1.0;
}
else
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = -1.0;
}
return v;
}
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R4i = ivec4(0);
ivec4 R5i = ivec4(0);
ivec4 R6i = ivec4(0);
ivec4 R7i = ivec4(0);
ivec4 R8i = ivec4(0);
ivec4 R9i = ivec4(0);
ivec4 R122i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R124i = ivec4(0);
ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
float cubeMapArrayIndex4 = 0.0;
R6i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
R1i = floatBitsToInt(passParameter2);
R2i = floatBitsToInt(passParameter3);
R3i = floatBitsToInt(passParameter4);
R4i = floatBitsToInt(passParameter5);
R5i = floatBitsToInt(passParameter6);
R7i.xy = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xy);
R4i.xy = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.zw)).xy);
R8i.xyz = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R5i.xy)).xyz);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
// //R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS1, intBitsToFloat(R0i.xy)).wzxy);
//vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(textureGather(textureUnitPS5.x), textureGather(textureUnitPS5.y));
R6i.xy = floatBitsToInt(intBitsToFloat(R6i.xy) / scaleFactor);
R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R9i.x;
R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R9i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R4i.x) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV0i.w = R123i.w;
R127i.w = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3fff0000) + -(1.0)));
PS0i = R127i.w;
// 1
R6i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w));
PV1i.x = R6i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R4i.y) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV1i.y = R123i.y;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w)));
R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R1i.z));
PS1i = R126i.w;
// 2
R4i.x = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.y));
PV0i.x = R4i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.z)));
R123i.y = clampFI32(R123i.y);
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.w)));
R123i.z = clampFI32(R123i.z);
PV0i.z = R123i.z;
R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.w = R4i.w;
R5i.z = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(PS1i));
PS0i = R5i.z;
// 3
R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0);
PV1i.x = R127i.x;
R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV1i.y = R7i.y;
R6i.z = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R126i.w));
PV1i.z = R6i.z;
PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0);
R127i.y = floatBitsToInt(max(intBitsToFloat(R9i.x), -(intBitsToFloat(R9i.x))));
R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) / 2.0);
PS1i = R127i.y;
// 4
backupReg0i = R0i.y;
backupReg0i = R0i.y;
backupReg1i = R0i.z;
backupReg1i = R0i.z;
R126i.x = floatBitsToInt(intBitsToFloat(R0i.x) * intBitsToFloat(R0i.x) + intBitsToFloat(backupReg0i) * intBitsToFloat(backupReg0i) + intBitsToFloat(backupReg1i) * intBitsToFloat(backupReg1i) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = R126i.x;
PV0i.y = R126i.x;
PV0i.z = R126i.x;
PV0i.w = R126i.x;
R127i.z = floatBitsToInt(sqrt(intBitsToFloat(PV1i.w)));
PS0i = R127i.z;
// 5
tempi.x = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(R2i.x) + intBitsToFloat(R2i.y) * intBitsToFloat(R2i.y) + intBitsToFloat(R2i.z) * intBitsToFloat(R2i.z) + intBitsToFloat(0x80000000) * 0.0);
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R4i.y = tempi.x;
PS1i = floatBitsToInt(sqrt(intBitsToFloat(R127i.x)));
// 6
R5i.x = floatBitsToInt(max(intBitsToFloat(R9i.y), -(intBitsToFloat(R9i.y))));
R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) / 2.0);
PV0i.x = R5i.x;
R5i.y = floatBitsToInt(intBitsToFloat(R127i.y) + -(intBitsToFloat(0x3ee66666)));
PV0i.y = R5i.y;
R4i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PS1i));
PV0i.z = R4i.z;
R0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + 0.0);
PV0i.w = R0i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.x));
R6i.y = floatBitsToInt(tempResultf);
PS0i = R6i.y;
R7i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R9i.xy)).x);
// 0
tempi.x = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(R6i.x) + intBitsToFloat(R4i.x) * intBitsToFloat(R4i.x) + intBitsToFloat(R4i.z) * intBitsToFloat(R4i.z) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
tempResultf = 1.0 / sqrt(intBitsToFloat(R4i.y));
R126i.w = floatBitsToInt(tempResultf);
PS0i = R126i.w;
// 1
backupReg0i = R0i.x;
R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R6i.y)));
PV1i.x = R0i.x;
R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PS0i)));
PV1i.y = R125i.y;
R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R6i.y)));
PV1i.z = R125i.z;
R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R6i.y)));
PV1i.w = R125i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x));
R127i.z = floatBitsToInt(tempResultf);
PS1i = R127i.z;
// 2
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R126i.w)));
PV0i.x = R126i.x;
R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PS1i)));
PV0i.y = R127i.y;
R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R126i.w)));
PV0i.z = R126i.z;
PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.y)));
R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PS1i)));
PS0i = R127i.w;
// 3
backupReg0i = R0i.x;
backupReg0i = R0i.x;
backupReg1i = R127i.z;
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV0i.y)));
R123i.y = floatBitsToInt((-(intBitsToFloat(PV0i.x)) * intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.w)));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.z)));
PV1i.z = R127i.z;
R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV0i.x)));
PV1i.w = R126i.w;
R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(backupReg1i)));
PS1i = R127i.x;
// 4
tempi.x = floatBitsToInt(intBitsToFloat(R3i.x) * intBitsToFloat(R3i.x) + intBitsToFloat(R3i.y) * intBitsToFloat(R3i.y) + intBitsToFloat(R3i.z) * intBitsToFloat(R3i.z) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R126i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.x)));
PS0i = R126i.y;
// 5
backupReg0i = R0i.x;
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R127i.y)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R127i.y)));
R123i.z = floatBitsToInt((-(intBitsToFloat(R126i.z)) * intBitsToFloat(R125i.z) + intBitsToFloat(R126i.w)));
PV1i.z = R123i.z;
R123i.w = floatBitsToInt((-(intBitsToFloat(R125i.y)) * intBitsToFloat(R125i.w) + intBitsToFloat(R127i.z)));
PV1i.w = R123i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x));
R126i.w = floatBitsToInt(tempResultf);
PS1i = R126i.w;
// 6
R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PS1i)));
PV0i.x = R124i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.x)));
PV0i.z = R123i.z;
R127i.w = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(R126i.z) + intBitsToFloat(R126i.y)));
PV0i.w = R127i.w;
R125i.x = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PS0i = R125i.x;
// 7
backupReg0i = R127i.x;
backupReg0i = R127i.x;
backupReg1i = R125i.y;
R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R126i.w)));
PV1i.x = R127i.x;
R125i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.z)));
PV1i.y = R125i.y;
R126i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(backupReg1i) + intBitsToFloat(PV0i.y)));
PV1i.z = R126i.z;
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.x)));
R122i.x = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedPS[2].w) + intBitsToFloat(R4i.w)));
PS1i = R122i.x;
// 8
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R126i.w)));
PV0i.x = R126i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R125i.x) * intBitsToFloat(uf_remappedPS[2].z) + intBitsToFloat(R7i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(PS1i)));
PV0i.w = R123i.w;
PS0i = floatBitsToInt(intBitsToFloat(R5i.x) + -(intBitsToFloat(0x3ee66666)));
// 9
R123i.x = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV0i.w)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z))*2.0);
PV1i.y = R123i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(0x41a00000));
R127i.z = clampFI32(R127i.z);
PV1i.z = R127i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(PV0i.y)));
PV1i.w = R123i.w;
R125i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x41a00000));
R125i.x = clampFI32(R125i.x);
PS1i = R125i.x;
// 10
backupReg0i = R126i.z;
R123i.x = floatBitsToInt((-(intBitsToFloat(R127i.w)) * intBitsToFloat(PV1i.y) + intBitsToFloat(R124i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV1i.w)));
PV0i.y = R123i.y;
R126i.z = floatBitsToInt((-(intBitsToFloat(backupReg0i)) * intBitsToFloat(PV1i.y) + intBitsToFloat(R126i.x)));
PV0i.z = R126i.z;
R126i.w = floatBitsToInt((-(intBitsToFloat(R125i.y)) * intBitsToFloat(PV1i.y) + intBitsToFloat(R127i.x)));
PV0i.w = R126i.w;
PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x));
// 11
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].z)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].x)));
R6i.z = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(PS0i));
PV1i.z = R6i.z;
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].y)));
R124i.z = floatBitsToInt(-(intBitsToFloat(R127i.z)) + 1.0);
PS1i = R124i.z;
// 12
R123i.x = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedPS[6].x) + intBitsToFloat(PV1i.y)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedPS[6].z) + intBitsToFloat(PV1i.x)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedPS[6].y) + intBitsToFloat(PV1i.w)));
PV0i.z = R123i.z;
R126i.w = floatBitsToInt(-(intBitsToFloat(R125i.x)) + 1.0);
PV0i.w = R126i.w;
R127i.z = floatBitsToInt(1.0 / -(intBitsToFloat(PV1i.z)));
PS0i = R127i.z;
// 13
backupReg0i = R125i.w;
R123i.x = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedPS[7].x) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedPS[7].y) + intBitsToFloat(PV0i.z)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedPS[7].z) + intBitsToFloat(PV0i.y)));
PV1i.z = R123i.z;
R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R124i.x)));
PV1i.w = R125i.w;
R126i.y = floatBitsToInt(intBitsToFloat(R8i.y) + 0.0);
PS1i = R126i.y;
// 14
redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId);
R5i.x = floatBitsToInt(cubeMapSTM.x);
R5i.y = floatBitsToInt(cubeMapSTM.y);
R5i.z = floatBitsToInt(cubeMapSTM.z);
R5i.w = cubeMapFaceId;
PV0i.x = R5i.x;
PV0i.y = R5i.y;
PV0i.z = R5i.z;
PV0i.w = R5i.w;
PS0i = floatBitsToInt(intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(R127i.z));
// 15
backupReg0i = R127i.x;
backupReg1i = R125i.y;
R127i.x = floatBitsToInt((intBitsToFloat(R125i.z) * intBitsToFloat(backupReg0i) + intBitsToFloat(R125i.w)));
PV1i.x = R127i.x;
R125i.y = floatBitsToInt(intBitsToFloat(R8i.z) + 0.0);
PV1i.y = R125i.y;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS0i)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS0i)));
R127i.w = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z)));
PS1i = R127i.w;
// 16
backupReg0i = R9i.x;
backupReg1i = R9i.y;
backupReg2i = R0i.w;
backupReg3i = R5i.x;
R9i.x = floatBitsToInt((intBitsToFloat(R124i.z) * intBitsToFloat(PV1i.z) + intBitsToFloat(backupReg0i)));
PV0i.x = R9i.x;
R9i.y = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(PV1i.w) + intBitsToFloat(backupReg1i)));
PV0i.y = R9i.y;
R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].y), intBitsToFloat(R126i.y)));
PV0i.z = R8i.z;
R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].x), intBitsToFloat(backupReg2i)));
PV0i.w = R0i.w;
R5i.x = floatBitsToInt((intBitsToFloat(backupReg3i) * intBitsToFloat(PS1i) + intBitsToFloat(0x3fc00000)));
PS0i = R5i.x;
// 17
backupReg0i = R5i.y;
backupReg1i = R1i.w;
R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].z), intBitsToFloat(R125i.y)));
PV1i.x = R1i.x;
R5i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R127i.w) + intBitsToFloat(0x3fc00000)));
PV1i.y = R5i.y;
R1i.z = floatBitsToInt((intBitsToFloat(R1i.w) * intBitsToFloat(uf_remappedPS[9].x) + intBitsToFloat(uf_remappedPS[9].y)));
R1i.z = clampFI32(R1i.z);
PV1i.z = R1i.z;
R1i.w = floatBitsToInt((intBitsToFloat(R0i.x) * intBitsToFloat(R126i.x) + intBitsToFloat(R127i.x)));
PV1i.w = R1i.w;
R0i.x = floatBitsToInt(-(intBitsToFloat(backupReg1i)) + -(intBitsToFloat(R6i.z)));
PS1i = R0i.x;
R9i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R9i.xy)).xyz);
R5i.xyzw = floatBitsToInt(texture(textureUnitPS4, vec4(redcCUBEReverse(intBitsToFloat(R5i.yx),R5i.w),cubeMapArrayIndex4)).xyzw);
// 0
R127i.x = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(uf_remappedPS[10].x) + -(intBitsToFloat(R9i.x))));
PV0i.x = R127i.x;
R125i.y = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(uf_remappedPS[10].z) + -(intBitsToFloat(R9i.z))));
PV0i.y = R125i.y;
PV0i.z = floatBitsToInt(max(intBitsToFloat(R1i.w), -(intBitsToFloat(R1i.w))));
PV0i.z = clampFI32(PV0i.z);
R127i.w = floatBitsToInt((intBitsToFloat(R5i.y) * intBitsToFloat(uf_remappedPS[10].y) + -(intBitsToFloat(R9i.y))));
PV0i.w = R127i.w;
// 1
PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0);
R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(R0i.x)));
R6i.w = clampFI32(R6i.w);
PV1i.w = R6i.w;
// 2
tempResultf = log2(intBitsToFloat(PV1i.y));
if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F;
PS0i = floatBitsToInt(tempResultf);
// 3
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[11].y), intBitsToFloat(PS0i)));
// 4
PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.w)));
// 5
PV1i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[11].x) + intBitsToFloat(PS0i));
PV1i.y = clampFI32(PV1i.y);
// 6
R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(PV1i.y) + intBitsToFloat(R9i.y)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(PV1i.y) + intBitsToFloat(R9i.x)));
PV0i.y = R123i.y;
R123i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(PV1i.y) + intBitsToFloat(R9i.z)));
PV0i.w = R123i.w;
// 7
R123i.x = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(PV0i.w) + 0.0));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R8i.z) * intBitsToFloat(PV0i.x) + 0.0));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R0i.w) * intBitsToFloat(PV0i.y) + 0.0));
PV1i.z = R123i.z;
// 8
R125i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[12].z) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.x)));
PV0i.y = R125i.y;
R124i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[12].y) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.y)));
PV0i.z = R124i.z;
R127i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[12].x) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.z)));
PV0i.w = R127i.w;
// 9
PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(uf_remappedPS[13].z));
PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(uf_remappedPS[13].y));
PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(uf_remappedPS[13].x));
// 10
R6i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R1i.z) + intBitsToFloat(R127i.w)));
PV0i.x = R6i.x;
R6i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(R1i.z) + intBitsToFloat(R124i.z)));
PV0i.y = R6i.y;
R6i.z = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R1i.z) + intBitsToFloat(R125i.y)));
PV0i.z = R6i.z;
// export
passPixelColor0 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w));
}

View File

@ -0,0 +1,122 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 640.0; //overwidth value.0
const float overwriteHeight = 360.0;
// shader 76e37ae2a66fcff2
uniform ivec4 uf_remappedPS[2];
uniform sampler2D textureUnitPS0;// Tex0 addr 0x19fc6000 res 128x128x1 dim 1 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4708800 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: 0
uniform sampler2D textureUnitPS2;// Tex2 addr 0x19fc2000 res 64x64x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0
in Vertex2
{
vec4 passG2PParameter0;
vec4 passG2PParameter1;
vec4 passG2PParameter2;
vec4 passG2PParameter3;
} g2p;
layout(location = 0) out vec4 passPixelColor0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R4i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
R4i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(g2p.passG2PParameter0);
R1i = floatBitsToInt(g2p.passG2PParameter1);
R2i = floatBitsToInt(g2p.passG2PParameter2);
R3i = floatBitsToInt(g2p.passG2PParameter3);
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R4i.xy = floatBitsToInt(intBitsToFloat(R4i.xy) / scaleFactor);
R2i.xy = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R2i.xy)).xy);
R1i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).xyzw);
// 0
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(0x437f0000)));
PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(0x437f0000)));
PV0i.z = R3i.x;
PV0i.z = clampFI32(PV0i.z);
PV0i.w = R3i.y;
PV0i.w = clampFI32(PV0i.w);
R127i.x = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[0].x));
PS0i = R127i.x;
// 1
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[0].z)));
PV1i.x = R126i.x;
R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[0].z)));
PV1i.y = R127i.y;
PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3b800000));
PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0);
PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3b800000));
PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0);
PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[0].y));
// 2
backupReg0i = R0i.x;
PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0));
PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + -(1.0));
R127i.z = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(PS1i));
PV0i.z = R127i.z;
R127i.w = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(R127i.x));
PV0i.w = R127i.w;
R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[1].x)));
PS0i = R2i.w;
// 3
backupReg0i = R0i.w;
R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(uf_remappedPS[1].x)));
PV1i.x = R4i.x;
R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(uf_remappedPS[1].x)));
PV1i.y = R4i.y;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R127i.y)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.x)));
R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R1i.w)));
PS1i = R3i.w;
// 4
R0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R127i.w));
PV0i.x = R0i.x;
PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)));
// 5
R0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R127i.z));
PV1i.y = R0i.y;
R0i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R0i.xy)).xyz);
// 0
backupReg0i = R0i.y;
backupReg1i = R0i.x;
PV0i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(R0i.z));
PV0i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(backupReg0i));
PV0i.z = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(backupReg1i));
// 1
R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(PV0i.z)));
PV1i.x = R3i.x;
R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV0i.y)));
PV1i.y = R3i.y;
R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PV0i.x)));
PV1i.z = R3i.z;
// export
passPixelColor0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w));
}

View File

@ -0,0 +1,510 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 640.0; //overwidth value.0
const float overwriteHeight = 360.0;
// shader 940e6df8edff7c01
uniform ivec4 uf_remappedPS[15];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
uniform sampler2D textureUnitPS1;// Tex1 addr 0x2d3b2000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS2;// Tex2 addr 0x2df00000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS3;// Tex3 addr 0x21cc5000 res 512x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 0 border: 0
uniform samplerCubeArray textureUnitPS4;// Tex4 addr 0x2fd50000 res 128x128x1 dim 3 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x6) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
uniform sampler2D textureUnitPS5;// Tex5 addr 0xf4708800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
in vec4 passParameter2;
in vec4 passParameter3;
in vec4 passParameter4;
in vec4 passParameter5;
in vec4 passParameter6;
layout(location = 0) out vec4 passPixelColor0;
void redcCUBE(vec4 src0, vec4 src1, inout vec3 stm, inout int faceId)
{
// stm -> x .. s, y .. t, z .. MajorAxis*2.0
vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x));
float rx = inputCoord.x;
float ry = inputCoord.y;
float rz = inputCoord.z;
if( abs(rx) > abs(ry) && abs(rx) > abs(rz) )
{
stm.z = rx*2.0;
stm.xy = vec2(ry,rz);
if( rx >= 0.0 )
{
faceId = 0;
}
else
{
faceId = 1;
}
}
else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) )
{
stm.z = ry*2.0;
stm.xy = vec2(rx,rz);
if( ry >= 0.0 )
{
faceId = 2;
}
else
{
faceId = 3;
}
}
else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) )
{
stm.z = rz*2.0;
stm.xy = vec2(rx,ry);
if( rz >= 0.0 )
{
faceId = 4;
}
else
{
faceId = 5;
}
}
}
vec3 redcCUBEReverse(vec2 st, int faceId)
{
st.yx = st.xy;
vec3 v;
float majorAxis = 1.0;
if( faceId == 0 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = 1.0;
}
else if( faceId == 1 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = -1.0;
}
else if( faceId == 2 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = 1.0;
}
else if( faceId == 3 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = -1.0;
}
else if( faceId == 4 )
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = 1.0;
}
else
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = -1.0;
}
return v;
}
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R4i = ivec4(0);
ivec4 R5i = ivec4(0);
ivec4 R6i = ivec4(0);
ivec4 R7i = ivec4(0);
ivec4 R8i = ivec4(0);
ivec4 R9i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R124i = ivec4(0);
ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
float cubeMapArrayIndex4 = 0.0;
R6i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
R1i = floatBitsToInt(passParameter2);
R2i = floatBitsToInt(passParameter3);
R3i = floatBitsToInt(passParameter4);
R4i = floatBitsToInt(passParameter5);
R5i = floatBitsToInt(passParameter6);
R7i.xy = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xy);
R4i.xy = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.zw)).xy);
R9i.xyz = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R5i.xy)).xyz);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R6i.xy = floatBitsToInt(intBitsToFloat(R6i.xy) / scaleFactor);
R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R8i.x;
R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R8i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R4i.x) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV0i.w = R123i.w;
R127i.z = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3fff0000) + -(1.0)));
PS0i = R127i.z;
// 1
R4i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z));
PV1i.x = R4i.x;
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w)));
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z)));
R123i.w = floatBitsToInt((intBitsToFloat(R4i.y) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV1i.w = R123i.w;
R127i.w = floatBitsToInt(1.0 / intBitsToFloat(R1i.z));
PS1i = R127i.w;
// 2
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)));
R123i.x = clampFI32(R123i.x);
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)));
R123i.y = clampFI32(R123i.y);
PV0i.y = R123i.y;
R5i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w));
PV0i.z = R5i.z;
R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.w = R2i.w;
R7i.z = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(PS1i));
PS0i = R7i.z;
// 3
R5i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R127i.w));
PV1i.x = R5i.x;
R127i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0);
PV1i.y = R127i.y;
R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV1i.z = R6i.z;
PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0);
R127i.x = floatBitsToInt(max(intBitsToFloat(R8i.x), -(intBitsToFloat(R8i.x))));
R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) / 2.0);
PS1i = R127i.x;
// 4
backupReg0i = R0i.x;
backupReg0i = R0i.x;
backupReg1i = R0i.z;
backupReg1i = R0i.z;
tempi.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(backupReg0i) + intBitsToFloat(R0i.y) * intBitsToFloat(R0i.y) + intBitsToFloat(backupReg1i) * intBitsToFloat(backupReg1i) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R126i.y = tempi.x;
R127i.z = floatBitsToInt(sqrt(intBitsToFloat(PV1i.w)));
PS0i = R127i.z;
// 5
tempi.x = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(R2i.x) + intBitsToFloat(R2i.y) * intBitsToFloat(R2i.y) + intBitsToFloat(R2i.z) * intBitsToFloat(R2i.z) + intBitsToFloat(0x80000000) * 0.0);
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R4i.w = tempi.x;
PS1i = floatBitsToInt(sqrt(intBitsToFloat(R127i.y)));
// 6
R7i.x = floatBitsToInt(max(intBitsToFloat(R8i.y), -(intBitsToFloat(R8i.y))));
R7i.x = floatBitsToInt(intBitsToFloat(R7i.x) / 2.0);
PV0i.x = R7i.x;
R4i.y = floatBitsToInt(intBitsToFloat(R9i.x) + 0.0);
PV0i.y = R4i.y;
R4i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PS1i));
PV0i.z = R4i.z;
R3i.w = floatBitsToInt(intBitsToFloat(R127i.x) + -(intBitsToFloat(0x3ee66666)));
PV0i.w = R3i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y));
R0i.w = floatBitsToInt(tempResultf);
PS0i = R0i.w;
R6i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R8i.xy)).x);
// 0
tempi.x = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(R4i.x) + intBitsToFloat(R5i.z) * intBitsToFloat(R5i.z) + intBitsToFloat(R4i.z) * intBitsToFloat(R4i.z) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
tempResultf = 1.0 / sqrt(intBitsToFloat(R4i.w));
R127i.z = floatBitsToInt(tempResultf);
PS0i = R127i.z;
// 1
R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R0i.w)));
PV1i.x = R125i.x;
R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)));
PV1i.y = R124i.y;
R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R0i.w)));
PV1i.z = R125i.z;
R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PS0i)));
PV1i.w = R125i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x));
R127i.x = floatBitsToInt(tempResultf);
PS1i = R127i.x;
// 2
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R127i.z)));
PV0i.x = R126i.x;
R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R127i.z)));
PV0i.y = R127i.y;
PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w)));
R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PS1i)));
PV0i.w = R127i.w;
R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i)));
PS0i = R126i.y;
// 3
backupReg0i = R127i.x;
R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PV0i.x)));
PV1i.x = R127i.x;
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PV0i.w)));
R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PV0i.y)));
PV1i.z = R127i.z;
R123i.w = floatBitsToInt((-(intBitsToFloat(PV0i.y)) * intBitsToFloat(R124i.y) + intBitsToFloat(PV0i.z)));
PV1i.w = R123i.w;
R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(backupReg0i)));
PS1i = R126i.w;
// 4
tempi.x = floatBitsToInt(intBitsToFloat(R3i.x) * intBitsToFloat(R3i.x) + intBitsToFloat(R3i.y) * intBitsToFloat(R3i.y) + intBitsToFloat(R3i.z) * intBitsToFloat(R3i.z) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R126i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.y)));
PS0i = R126i.z;
// 5
R123i.x = floatBitsToInt((-(intBitsToFloat(R126i.x)) * intBitsToFloat(R125i.x) + intBitsToFloat(R127i.z)));
PV1i.x = R123i.x;
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R127i.w)));
R123i.z = floatBitsToInt((-(intBitsToFloat(R125i.w)) * intBitsToFloat(R125i.z) + intBitsToFloat(R127i.x)));
PV1i.z = R123i.z;
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(R127i.w)));
tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x));
R127i.z = floatBitsToInt(tempResultf);
PS1i = R127i.z;
// 6
R123i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.w)));
PV0i.x = R123i.x;
R125i.y = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(R126i.x) + intBitsToFloat(R126i.z)));
PV0i.y = R125i.y;
R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PS1i)));
PV0i.z = R126i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.y)));
PV0i.w = R123i.w;
R127i.w = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PS0i = R127i.w;
// 7
backupReg0i = R125i.w;
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R127i.z)));
PV1i.x = R126i.x;
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.z)));
R124i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(R127i.y) + intBitsToFloat(PV0i.x)));
PV1i.z = R124i.z;
R125i.w = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.w)));
PV1i.w = R125i.w;
R126i.w = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedPS[2].w) + intBitsToFloat(R2i.w)));
PS1i = R126i.w;
// 8
R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[2].z) + intBitsToFloat(R6i.z)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.y)));
PV0i.y = R123i.y;
PV0i.z = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(0x3ee66666)));
R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R127i.z)));
PV0i.w = R127i.w;
PS0i = floatBitsToInt(intBitsToFloat(R3i.w) * intBitsToFloat(0x41a00000));
PS0i = clampFI32(PS0i);
// 9
R123i.x = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.y))*2.0);
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(R126i.w)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(PV0i.x)));
PV1i.z = R123i.z;
R126i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x41a00000));
R126i.w = clampFI32(R126i.w);
PV1i.w = R126i.w;
R124i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0);
PS1i = R124i.w;
// 10
R123i.x = floatBitsToInt((-(intBitsToFloat(R125i.y)) * intBitsToFloat(PV1i.x) + intBitsToFloat(R126i.z)));
PV0i.x = R123i.x;
R127i.y = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV1i.z)));
PV0i.y = R127i.y;
R127i.z = floatBitsToInt((-(intBitsToFloat(R124i.z)) * intBitsToFloat(PV1i.x) + intBitsToFloat(R126i.x)));
PV0i.z = R127i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV1i.y)));
PV0i.w = R123i.w;
R126i.y = floatBitsToInt((-(intBitsToFloat(R125i.w)) * intBitsToFloat(PV1i.x) + intBitsToFloat(R127i.w)));
PS0i = R126i.y;
// 11
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].x)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].z)));
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].y)));
R125i.w = floatBitsToInt(-(intBitsToFloat(R126i.w)) + 1.0);
PV1i.w = R125i.w;
PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w));
// 12
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[6].x) + intBitsToFloat(PV1i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[6].y) + intBitsToFloat(PV1i.z)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[6].z) + intBitsToFloat(PV1i.y)));
PV0i.z = R123i.z;
R3i.w = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS1i));
PV0i.w = R3i.w;
PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R126i.z)));
// 13
R123i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedPS[7].x) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedPS[7].y) + intBitsToFloat(PV0i.y)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedPS[7].z) + intBitsToFloat(PV0i.z)));
PV1i.z = R123i.z;
R126i.w = floatBitsToInt((intBitsToFloat(R125i.x) * intBitsToFloat(R126i.x) + intBitsToFloat(PS0i)));
PV1i.w = R126i.w;
PS1i = floatBitsToInt(1.0 / -(intBitsToFloat(PV0i.w)));
// 14
redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId);
R5i.x = floatBitsToInt(cubeMapSTM.x);
R5i.y = floatBitsToInt(cubeMapSTM.y);
R5i.z = floatBitsToInt(cubeMapSTM.z);
R5i.w = cubeMapFaceId;
PV0i.x = R5i.x;
PV0i.y = R5i.y;
PV0i.z = R5i.z;
PV0i.w = R5i.w;
PS0i = floatBitsToInt(intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(PS1i));
// 15
backupReg0i = R125i.y;
R123i.x = floatBitsToInt((intBitsToFloat(R124i.y) * intBitsToFloat(R127i.w) + intBitsToFloat(R126i.w)));
PV1i.x = R123i.x;
R125i.y = floatBitsToInt(intBitsToFloat(R9i.y) + 0.0);
PV1i.y = R125i.y;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS0i)));
R124i.z = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z)));
PS1i = R124i.z;
// 16
backupReg0i = R8i.x;
backupReg1i = R8i.y;
backupReg2i = R5i.x;
R8i.x = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(PV1i.z) + intBitsToFloat(backupReg0i)));
PV0i.x = R8i.x;
R8i.y = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(PV1i.w) + intBitsToFloat(backupReg1i)));
PV0i.y = R8i.y;
PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x))));
PV0i.z = clampFI32(PV0i.z);
R2i.w = floatBitsToInt(intBitsToFloat(R9i.z) + 0.0);
PV0i.w = R2i.w;
R5i.x = floatBitsToInt((intBitsToFloat(backupReg2i) * intBitsToFloat(PS1i) + intBitsToFloat(0x3fc00000)));
PS0i = R5i.x;
// 17
backupReg0i = R5i.y;
R9i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0);
PV1i.x = R9i.x;
R5i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R124i.z) + intBitsToFloat(0x3fc00000)));
PV1i.y = R5i.y;
R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(uf_remappedPS[8].x)));
PV1i.z = R9i.z;
R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].x), intBitsToFloat(R4i.y)));
PV1i.w = R0i.w;
R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].y), intBitsToFloat(R125i.y)));
PS1i = R4i.y;
R5i.xyzw = floatBitsToInt(texture(textureUnitPS4, vec4(redcCUBEReverse(intBitsToFloat(R5i.yx),R5i.w),cubeMapArrayIndex4)).xyzw);
R8i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R8i.xy)).xyz);
// 0
R125i.x = floatBitsToInt(-(intBitsToFloat(R1i.w)) + -(intBitsToFloat(R3i.w)));
PV0i.x = R125i.x;
R125i.y = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(uf_remappedPS[10].z) + -(intBitsToFloat(R8i.z))));
PV0i.y = R125i.y;
R124i.z = floatBitsToInt((intBitsToFloat(R5i.y) * intBitsToFloat(uf_remappedPS[10].y) + -(intBitsToFloat(R8i.y))));
PV0i.z = R124i.z;
R125i.w = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(uf_remappedPS[10].x) + -(intBitsToFloat(R8i.x))));
PV0i.w = R125i.w;
tempResultf = log2(intBitsToFloat(R9i.x));
if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F;
PS0i = floatBitsToInt(tempResultf);
// 1
R123i.x = floatBitsToInt((intBitsToFloat(R3i.y) * intBitsToFloat(uf_remappedPS[8].y) + intBitsToFloat(R9i.z)));
PV1i.x = R123i.x;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[11].y), intBitsToFloat(PS0i)));
// 2
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].z), intBitsToFloat(R2i.w)));
PV0i.x = R126i.x;
R123i.w = floatBitsToInt((intBitsToFloat(R3i.z) * intBitsToFloat(uf_remappedPS[8].z) + intBitsToFloat(PV1i.x)));
PV0i.w = R123i.w;
PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z)));
// 3
PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[11].x) + intBitsToFloat(PS0i));
PV1i.x = clampFI32(PV1i.x);
PV1i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[8].w)) + intBitsToFloat(PV0i.w));
// 4
backupReg0i = R125i.y;
R123i.x = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(PV1i.x) + intBitsToFloat(R8i.x)));
PV0i.x = R123i.x;
R125i.y = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(uf_remappedPS[12].w) + intBitsToFloat(uf_remappedPS[9].w)));
R125i.y = clampFI32(R125i.y);
PV0i.y = R125i.y;
R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(PV1i.x) + intBitsToFloat(R8i.z)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R124i.z) * intBitsToFloat(PV1i.x) + intBitsToFloat(R8i.y)));
PV0i.w = R123i.w;
// 5
R123i.x = floatBitsToInt((intBitsToFloat(R4i.y) * intBitsToFloat(PV0i.w) + 0.0));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R0i.w) * intBitsToFloat(PV0i.x) + 0.0));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[13].w)) + 0.0);
R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0);
R127i.z = clampFI32(R127i.z);
PV1i.z = R127i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(PV0i.z) + 0.0));
PV1i.w = R123i.w;
R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(R125i.x)));
R0i.w = clampFI32(R0i.w);
PS1i = R0i.w;
// 6
R126i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].z) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.w)));
PV0i.x = R126i.x;
R124i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].y) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.x)));
PV0i.y = R124i.y;
R124i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].x) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.y)));
PV0i.z = R124i.z;
// 7
PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(uf_remappedPS[12].x));
PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(uf_remappedPS[12].z));
PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(uf_remappedPS[12].y));
// 8
R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(R125i.y) + intBitsToFloat(R124i.y)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R125i.y) + intBitsToFloat(R124i.z)));
PV0i.y = R123i.y;
R123i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R125i.y) + intBitsToFloat(R126i.x)));
PV0i.w = R123i.w;
// 9
PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.w));
PV1i.y = floatBitsToInt(-(intBitsToFloat(R124i.y)) + intBitsToFloat(PV0i.x));
PV1i.z = floatBitsToInt(-(intBitsToFloat(R124i.z)) + intBitsToFloat(PV0i.y));
// 10
R0i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R127i.z) + intBitsToFloat(R124i.z)));
PV0i.x = R0i.x;
R0i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(R127i.z) + intBitsToFloat(R124i.y)));
PV0i.y = R0i.y;
R0i.z = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R127i.z) + intBitsToFloat(R126i.x)));
PV0i.z = R0i.z;
// export
passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w));
}

View File

@ -0,0 +1,142 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 640.0; //overwidth value.0
const float overwriteHeight = 360.0;
// shader b96e10151a15e243
uniform ivec4 uf_remappedPS[9];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
layout(location = 0) out vec4 passPixelColor0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
R1i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R1i.xy = floatBitsToInt(intBitsToFloat(R1i.xy) / scaleFactor);
backupReg0i = R1i.x;
backupReg1i = R1i.y;
R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R1i.x;
R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R1i.y;
R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.z = R2i.z;
R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV0i.w = R1i.w;
R1i.z = floatBitsToInt(1.0 / intBitsToFloat(R0i.z));
PS0i = R1i.z;
R1i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).x);
// 0
backupReg0i = R0i.x;
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x), 1.0));
R123i.y = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PV0i.y = R123i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R1i.z));
PV0i.z = R127i.z;
PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y), 1.0));
R127i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R1i.z));
PS0i = R127i.w;
// 1
R123i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[2].x) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[2].w) + intBitsToFloat(R2i.z)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[2].z) + intBitsToFloat(R1i.w)));
PV1i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[2].y) + intBitsToFloat(PV0i.w)));
PV1i.w = R123i.w;
// 2
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[3].x) + intBitsToFloat(PV1i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(PV1i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(PV1i.z)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[3].y) + intBitsToFloat(PV1i.w)));
PV0i.w = R123i.w;
// 3
backupReg0i = R127i.w;
R127i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(PV0i.x)));
PV1i.x = R127i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV0i.y)));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV0i.z)));
PV1i.z = R127i.z;
R127i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedPS[4].y) + intBitsToFloat(PV0i.w)));
PV1i.w = R127i.w;
// 4
R126i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(uf_remappedPS[6].y));
PV0i.y = R126i.y;
R126i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[5].x)) + intBitsToFloat(uf_remappedPS[6].x));
PV0i.z = R126i.z;
PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y));
// 5
backupReg0i = R127i.x;
R127i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(uf_remappedPS[6].z));
PV1i.x = R127i.x;
R127i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i));
PV1i.y = R127i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS0i));
PV1i.z = R127i.z;
PV1i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i));
// 6
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedPS[7].x)));
R125i.y = floatBitsToInt(-(intBitsToFloat(R0i.w)) + -(intBitsToFloat(PV1i.y)));
PV0i.y = R125i.y;
// 7
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[7].y) + intBitsToFloat(PV0i.x)));
PV1i.w = R123i.w;
// 8
R123i.z = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedPS[7].z) + intBitsToFloat(PV1i.w)));
PV0i.z = R123i.z;
// 9
PV1i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[7].w)) + intBitsToFloat(PV0i.z));
// 10
PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[6].w)));
PV0i.w = clampFI32(PV0i.w);
// 11
R0i.x = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(PV0i.w) + intBitsToFloat(uf_remappedPS[5].x)));
PV1i.x = R0i.x;
R0i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(PV0i.w) + intBitsToFloat(uf_remappedPS[5].y)));
PV1i.y = R0i.y;
R0i.z = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(PV0i.w) + intBitsToFloat(uf_remappedPS[5].z)));
PV1i.z = R0i.z;
// 12
R0i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(uf_remappedPS[8].w)));
R0i.w = clampFI32(R0i.w);
PV0i.w = R0i.w;
// export
passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w));
}

View File

@ -0,0 +1,105 @@
#version 400 // water tropical freeze
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 640.0; //overwidth value.0
const float overwriteHeight = 360.0;
// shader b978b87d9600dc63
uniform ivec4 uf_remappedPS[6];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
layout(location = 0) out vec4 passPixelColor0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
R1i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R1i.xy = floatBitsToInt(intBitsToFloat(R1i.xy) / scaleFactor);
backupReg0i = R1i.x;
backupReg1i = R1i.y;
R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R1i.x;
R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R1i.y;
R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV0i.z = R2i.z;
R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.w = R1i.w;
R1i.z = floatBitsToInt(1.0 / intBitsToFloat(R0i.z));
PS0i = R1i.z;
R1i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).x);
// 0
R3i.x = uf_remappedPS[2].x;
PV0i.x = R3i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PV0i.y = R123i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R1i.z));
PV0i.z = R127i.z;
R127i.w = floatBitsToInt(intBitsToFloat(R0i.x) * intBitsToFloat(R1i.z));
PV0i.w = R127i.w;
R3i.y = uf_remappedPS[2].y;
PS0i = R3i.y;
// 1
R123i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(R1i.w)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(R2i.z)));
PV1i.z = R123i.z;
R3i.z = uf_remappedPS[2].z;
PS1i = R3i.z;
// 2
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV1i.z)));
PV0i.x = R123i.x;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV1i.y)));
PV0i.w = R123i.w;
// 3
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(PV0i.w)));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[5].z) + intBitsToFloat(PV0i.x)));
PV1i.z = R127i.z;
// 4
PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y));
// 5
PV1i.w = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i));
// 6
PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.w)) + -(intBitsToFloat(PV1i.w)));
// 7
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(PV0i.z)));
PV1i.x = clampFI32(PV1i.x);
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[2].w)));
PV1i.y = clampFI32(PV1i.y);
// 8
R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x)));
PV0i.w = R3i.w;
// export
passPixelColor0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w));
}

View File

@ -0,0 +1,105 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 640.0; //overwidth value.0
const float overwriteHeight = 360.0;
// shader d878b867ab805ffa
uniform ivec4 uf_remappedPS[6];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
layout(location = 0) out vec4 passPixelColor0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
R1i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R1i.xy = floatBitsToInt(intBitsToFloat(R1i.xy) / scaleFactor);
backupReg0i = R1i.x;
backupReg1i = R1i.y;
R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R1i.x;
R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R1i.y;
R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV0i.z = R2i.z;
R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.w = R1i.w;
R1i.z = floatBitsToInt(1.0 / intBitsToFloat(R0i.z));
PS0i = R1i.z;
R1i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).x);
// 0
R3i.x = uf_remappedPS[2].x;
PV0i.x = R3i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PV0i.y = R123i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R1i.z));
PV0i.z = R127i.z;
R127i.w = floatBitsToInt(intBitsToFloat(R0i.x) * intBitsToFloat(R1i.z));
PV0i.w = R127i.w;
R3i.y = uf_remappedPS[2].y;
PS0i = R3i.y;
// 1
R123i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(R1i.w)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(R2i.z)));
PV1i.z = R123i.z;
R3i.z = uf_remappedPS[2].z;
PS1i = R3i.z;
// 2
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV1i.z)));
PV0i.x = R123i.x;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV1i.y)));
PV0i.w = R123i.w;
// 3
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(PV0i.w)));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[5].z) + intBitsToFloat(PV0i.x)));
PV1i.z = R127i.z;
// 4
PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y));
// 5
PV1i.w = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i));
// 6
PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.w)) + -(intBitsToFloat(PV1i.w)));
// 7
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(PV0i.z)));
PV1i.x = clampFI32(PV1i.x);
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[2].w)));
PV1i.y = clampFI32(PV1i.y);
// 8
R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x)));
PV0i.w = R3i.w;
// export
passPixelColor0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w));
}

View File

@ -0,0 +1,505 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 960.0; //overwidth value.0
const float overwriteHeight = 540.0;
// shader 1bfa8cd906df24d9
uniform ivec4 uf_remappedPS[14];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
uniform sampler2D textureUnitPS1;// Tex1 addr 0x34958000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS2;// Tex2 addr 0x35828000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS3;// Tex3 addr 0x19ba0000 res 256x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 0 border: 0
uniform samplerCubeArray textureUnitPS4;// Tex4 addr 0x34328000 res 128x128x1 dim 3 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x6) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
uniform sampler2D textureUnitPS5;// Tex5 addr 0xf4708800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
in vec4 passParameter2;
in vec4 passParameter3;
in vec4 passParameter4;
in vec4 passParameter5;
in vec4 passParameter6;
layout(location = 0) out vec4 passPixelColor0;
void redcCUBE(vec4 src0, vec4 src1, inout vec3 stm, inout int faceId)
{
// stm -> x .. s, y .. t, z .. MajorAxis*2.0
vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x));
float rx = inputCoord.x;
float ry = inputCoord.y;
float rz = inputCoord.z;
if( abs(rx) > abs(ry) && abs(rx) > abs(rz) )
{
stm.z = rx*2.0;
stm.xy = vec2(ry,rz);
if( rx >= 0.0 )
{
faceId = 0;
}
else
{
faceId = 1;
}
}
else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) )
{
stm.z = ry*2.0;
stm.xy = vec2(rx,rz);
if( ry >= 0.0 )
{
faceId = 2;
}
else
{
faceId = 3;
}
}
else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) )
{
stm.z = rz*2.0;
stm.xy = vec2(rx,ry);
if( rz >= 0.0 )
{
faceId = 4;
}
else
{
faceId = 5;
}
}
}
vec3 redcCUBEReverse(vec2 st, int faceId)
{
st.yx = st.xy;
vec3 v;
float majorAxis = 1.0;
if( faceId == 0 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = 1.0;
}
else if( faceId == 1 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = -1.0;
}
else if( faceId == 2 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = 1.0;
}
else if( faceId == 3 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = -1.0;
}
else if( faceId == 4 )
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = 1.0;
}
else
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = -1.0;
}
return v;
}
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R4i = ivec4(0);
ivec4 R5i = ivec4(0);
ivec4 R6i = ivec4(0);
ivec4 R7i = ivec4(0);
ivec4 R8i = ivec4(0);
ivec4 R9i = ivec4(0);
ivec4 R122i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R124i = ivec4(0);
ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
float cubeMapArrayIndex4 = 0.0;
R6i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
R1i = floatBitsToInt(passParameter2);
R2i = floatBitsToInt(passParameter3);
R3i = floatBitsToInt(passParameter4);
R4i = floatBitsToInt(passParameter5);
R5i = floatBitsToInt(passParameter6);
R7i.xy = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xy);
R4i.xy = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.zw)).xy);
R8i.xyz = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R5i.xy)).xyz);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
// //R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS1, intBitsToFloat(R0i.xy)).wzxy);
//vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(textureGather(textureUnitPS5.x), textureGather(textureUnitPS5.y));
R6i.xy = floatBitsToInt(intBitsToFloat(R6i.xy) / scaleFactor);
R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R9i.x;
R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R9i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R4i.x) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV0i.w = R123i.w;
R127i.w = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3fff0000) + -(1.0)));
PS0i = R127i.w;
// 1
R6i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w));
PV1i.x = R6i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R4i.y) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV1i.y = R123i.y;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w)));
R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R1i.z));
PS1i = R126i.w;
// 2
R4i.x = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.y));
PV0i.x = R4i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.z)));
R123i.y = clampFI32(R123i.y);
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.w)));
R123i.z = clampFI32(R123i.z);
PV0i.z = R123i.z;
R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.w = R4i.w;
R5i.z = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(PS1i));
PS0i = R5i.z;
// 3
R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0);
PV1i.x = R127i.x;
R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV1i.y = R7i.y;
R6i.z = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R126i.w));
PV1i.z = R6i.z;
PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0);
R127i.y = floatBitsToInt(max(intBitsToFloat(R9i.x), -(intBitsToFloat(R9i.x))));
R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) / 2.0);
PS1i = R127i.y;
// 4
backupReg0i = R0i.y;
backupReg0i = R0i.y;
backupReg1i = R0i.z;
backupReg1i = R0i.z;
R126i.x = floatBitsToInt(intBitsToFloat(R0i.x) * intBitsToFloat(R0i.x) + intBitsToFloat(backupReg0i) * intBitsToFloat(backupReg0i) + intBitsToFloat(backupReg1i) * intBitsToFloat(backupReg1i) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = R126i.x;
PV0i.y = R126i.x;
PV0i.z = R126i.x;
PV0i.w = R126i.x;
R127i.z = floatBitsToInt(sqrt(intBitsToFloat(PV1i.w)));
PS0i = R127i.z;
// 5
tempi.x = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(R2i.x) + intBitsToFloat(R2i.y) * intBitsToFloat(R2i.y) + intBitsToFloat(R2i.z) * intBitsToFloat(R2i.z) + intBitsToFloat(0x80000000) * 0.0);
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R4i.y = tempi.x;
PS1i = floatBitsToInt(sqrt(intBitsToFloat(R127i.x)));
// 6
R5i.x = floatBitsToInt(max(intBitsToFloat(R9i.y), -(intBitsToFloat(R9i.y))));
R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) / 2.0);
PV0i.x = R5i.x;
R5i.y = floatBitsToInt(intBitsToFloat(R127i.y) + -(intBitsToFloat(0x3ee66666)));
PV0i.y = R5i.y;
R4i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PS1i));
PV0i.z = R4i.z;
R0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + 0.0);
PV0i.w = R0i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.x));
R6i.y = floatBitsToInt(tempResultf);
PS0i = R6i.y;
R7i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R9i.xy)).x);
// 0
tempi.x = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(R6i.x) + intBitsToFloat(R4i.x) * intBitsToFloat(R4i.x) + intBitsToFloat(R4i.z) * intBitsToFloat(R4i.z) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
tempResultf = 1.0 / sqrt(intBitsToFloat(R4i.y));
R126i.w = floatBitsToInt(tempResultf);
PS0i = R126i.w;
// 1
backupReg0i = R0i.x;
R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R6i.y)));
PV1i.x = R0i.x;
R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PS0i)));
PV1i.y = R125i.y;
R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R6i.y)));
PV1i.z = R125i.z;
R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R6i.y)));
PV1i.w = R125i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x));
R127i.z = floatBitsToInt(tempResultf);
PS1i = R127i.z;
// 2
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R126i.w)));
PV0i.x = R126i.x;
R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PS1i)));
PV0i.y = R127i.y;
R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R126i.w)));
PV0i.z = R126i.z;
PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.y)));
R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PS1i)));
PS0i = R127i.w;
// 3
backupReg0i = R0i.x;
backupReg0i = R0i.x;
backupReg1i = R127i.z;
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV0i.y)));
R123i.y = floatBitsToInt((-(intBitsToFloat(PV0i.x)) * intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.w)));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.z)));
PV1i.z = R127i.z;
R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV0i.x)));
PV1i.w = R126i.w;
R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(backupReg1i)));
PS1i = R127i.x;
// 4
tempi.x = floatBitsToInt(intBitsToFloat(R3i.x) * intBitsToFloat(R3i.x) + intBitsToFloat(R3i.y) * intBitsToFloat(R3i.y) + intBitsToFloat(R3i.z) * intBitsToFloat(R3i.z) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R126i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.x)));
PS0i = R126i.y;
// 5
backupReg0i = R0i.x;
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R127i.y)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R127i.y)));
R123i.z = floatBitsToInt((-(intBitsToFloat(R126i.z)) * intBitsToFloat(R125i.z) + intBitsToFloat(R126i.w)));
PV1i.z = R123i.z;
R123i.w = floatBitsToInt((-(intBitsToFloat(R125i.y)) * intBitsToFloat(R125i.w) + intBitsToFloat(R127i.z)));
PV1i.w = R123i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x));
R126i.w = floatBitsToInt(tempResultf);
PS1i = R126i.w;
// 6
R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PS1i)));
PV0i.x = R124i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.x)));
PV0i.z = R123i.z;
R127i.w = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(R126i.z) + intBitsToFloat(R126i.y)));
PV0i.w = R127i.w;
R125i.x = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PS0i = R125i.x;
// 7
backupReg0i = R127i.x;
backupReg0i = R127i.x;
backupReg1i = R125i.y;
R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R126i.w)));
PV1i.x = R127i.x;
R125i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.z)));
PV1i.y = R125i.y;
R126i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(backupReg1i) + intBitsToFloat(PV0i.y)));
PV1i.z = R126i.z;
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.x)));
R122i.x = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedPS[2].w) + intBitsToFloat(R4i.w)));
PS1i = R122i.x;
// 8
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R126i.w)));
PV0i.x = R126i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R125i.x) * intBitsToFloat(uf_remappedPS[2].z) + intBitsToFloat(R7i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(PS1i)));
PV0i.w = R123i.w;
PS0i = floatBitsToInt(intBitsToFloat(R5i.x) + -(intBitsToFloat(0x3ee66666)));
// 9
R123i.x = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV0i.w)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z))*2.0);
PV1i.y = R123i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(0x41a00000));
R127i.z = clampFI32(R127i.z);
PV1i.z = R127i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(PV0i.y)));
PV1i.w = R123i.w;
R125i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x41a00000));
R125i.x = clampFI32(R125i.x);
PS1i = R125i.x;
// 10
backupReg0i = R126i.z;
R123i.x = floatBitsToInt((-(intBitsToFloat(R127i.w)) * intBitsToFloat(PV1i.y) + intBitsToFloat(R124i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV1i.w)));
PV0i.y = R123i.y;
R126i.z = floatBitsToInt((-(intBitsToFloat(backupReg0i)) * intBitsToFloat(PV1i.y) + intBitsToFloat(R126i.x)));
PV0i.z = R126i.z;
R126i.w = floatBitsToInt((-(intBitsToFloat(R125i.y)) * intBitsToFloat(PV1i.y) + intBitsToFloat(R127i.x)));
PV0i.w = R126i.w;
PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x));
// 11
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].z)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].x)));
R6i.z = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(PS0i));
PV1i.z = R6i.z;
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].y)));
R124i.z = floatBitsToInt(-(intBitsToFloat(R127i.z)) + 1.0);
PS1i = R124i.z;
// 12
R123i.x = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedPS[6].x) + intBitsToFloat(PV1i.y)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedPS[6].z) + intBitsToFloat(PV1i.x)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedPS[6].y) + intBitsToFloat(PV1i.w)));
PV0i.z = R123i.z;
R126i.w = floatBitsToInt(-(intBitsToFloat(R125i.x)) + 1.0);
PV0i.w = R126i.w;
R127i.z = floatBitsToInt(1.0 / -(intBitsToFloat(PV1i.z)));
PS0i = R127i.z;
// 13
backupReg0i = R125i.w;
R123i.x = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedPS[7].x) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedPS[7].y) + intBitsToFloat(PV0i.z)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedPS[7].z) + intBitsToFloat(PV0i.y)));
PV1i.z = R123i.z;
R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R124i.x)));
PV1i.w = R125i.w;
R126i.y = floatBitsToInt(intBitsToFloat(R8i.y) + 0.0);
PS1i = R126i.y;
// 14
redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId);
R5i.x = floatBitsToInt(cubeMapSTM.x);
R5i.y = floatBitsToInt(cubeMapSTM.y);
R5i.z = floatBitsToInt(cubeMapSTM.z);
R5i.w = cubeMapFaceId;
PV0i.x = R5i.x;
PV0i.y = R5i.y;
PV0i.z = R5i.z;
PV0i.w = R5i.w;
PS0i = floatBitsToInt(intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(R127i.z));
// 15
backupReg0i = R127i.x;
backupReg1i = R125i.y;
R127i.x = floatBitsToInt((intBitsToFloat(R125i.z) * intBitsToFloat(backupReg0i) + intBitsToFloat(R125i.w)));
PV1i.x = R127i.x;
R125i.y = floatBitsToInt(intBitsToFloat(R8i.z) + 0.0);
PV1i.y = R125i.y;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS0i)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS0i)));
R127i.w = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z)));
PS1i = R127i.w;
// 16
backupReg0i = R9i.x;
backupReg1i = R9i.y;
backupReg2i = R0i.w;
backupReg3i = R5i.x;
R9i.x = floatBitsToInt((intBitsToFloat(R124i.z) * intBitsToFloat(PV1i.z) + intBitsToFloat(backupReg0i)));
PV0i.x = R9i.x;
R9i.y = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(PV1i.w) + intBitsToFloat(backupReg1i)));
PV0i.y = R9i.y;
R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].y), intBitsToFloat(R126i.y)));
PV0i.z = R8i.z;
R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].x), intBitsToFloat(backupReg2i)));
PV0i.w = R0i.w;
R5i.x = floatBitsToInt((intBitsToFloat(backupReg3i) * intBitsToFloat(PS1i) + intBitsToFloat(0x3fc00000)));
PS0i = R5i.x;
// 17
backupReg0i = R5i.y;
backupReg1i = R1i.w;
R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].z), intBitsToFloat(R125i.y)));
PV1i.x = R1i.x;
R5i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R127i.w) + intBitsToFloat(0x3fc00000)));
PV1i.y = R5i.y;
R1i.z = floatBitsToInt((intBitsToFloat(R1i.w) * intBitsToFloat(uf_remappedPS[9].x) + intBitsToFloat(uf_remappedPS[9].y)));
R1i.z = clampFI32(R1i.z);
PV1i.z = R1i.z;
R1i.w = floatBitsToInt((intBitsToFloat(R0i.x) * intBitsToFloat(R126i.x) + intBitsToFloat(R127i.x)));
PV1i.w = R1i.w;
R0i.x = floatBitsToInt(-(intBitsToFloat(backupReg1i)) + -(intBitsToFloat(R6i.z)));
PS1i = R0i.x;
R9i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R9i.xy)).xyz);
R5i.xyzw = floatBitsToInt(texture(textureUnitPS4, vec4(redcCUBEReverse(intBitsToFloat(R5i.yx),R5i.w),cubeMapArrayIndex4)).xyzw);
// 0
R127i.x = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(uf_remappedPS[10].x) + -(intBitsToFloat(R9i.x))));
PV0i.x = R127i.x;
R125i.y = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(uf_remappedPS[10].z) + -(intBitsToFloat(R9i.z))));
PV0i.y = R125i.y;
PV0i.z = floatBitsToInt(max(intBitsToFloat(R1i.w), -(intBitsToFloat(R1i.w))));
PV0i.z = clampFI32(PV0i.z);
R127i.w = floatBitsToInt((intBitsToFloat(R5i.y) * intBitsToFloat(uf_remappedPS[10].y) + -(intBitsToFloat(R9i.y))));
PV0i.w = R127i.w;
// 1
PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0);
R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(R0i.x)));
R6i.w = clampFI32(R6i.w);
PV1i.w = R6i.w;
// 2
tempResultf = log2(intBitsToFloat(PV1i.y));
if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F;
PS0i = floatBitsToInt(tempResultf);
// 3
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[11].y), intBitsToFloat(PS0i)));
// 4
PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.w)));
// 5
PV1i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[11].x) + intBitsToFloat(PS0i));
PV1i.y = clampFI32(PV1i.y);
// 6
R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(PV1i.y) + intBitsToFloat(R9i.y)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(PV1i.y) + intBitsToFloat(R9i.x)));
PV0i.y = R123i.y;
R123i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(PV1i.y) + intBitsToFloat(R9i.z)));
PV0i.w = R123i.w;
// 7
R123i.x = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(PV0i.w) + 0.0));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R8i.z) * intBitsToFloat(PV0i.x) + 0.0));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R0i.w) * intBitsToFloat(PV0i.y) + 0.0));
PV1i.z = R123i.z;
// 8
R125i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[12].z) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.x)));
PV0i.y = R125i.y;
R124i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[12].y) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.y)));
PV0i.z = R124i.z;
R127i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[12].x) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.z)));
PV0i.w = R127i.w;
// 9
PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(uf_remappedPS[13].z));
PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(uf_remappedPS[13].y));
PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(uf_remappedPS[13].x));
// 10
R6i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R1i.z) + intBitsToFloat(R127i.w)));
PV0i.x = R6i.x;
R6i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(R1i.z) + intBitsToFloat(R124i.z)));
PV0i.y = R6i.y;
R6i.z = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R1i.z) + intBitsToFloat(R125i.y)));
PV0i.z = R6i.z;
// export
passPixelColor0 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w));
}

View File

@ -0,0 +1,122 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 960.0; //overwidth value.0
const float overwriteHeight = 540.0;
// shader 76e37ae2a66fcff2
uniform ivec4 uf_remappedPS[2];
uniform sampler2D textureUnitPS0;// Tex0 addr 0x19fc6000 res 128x128x1 dim 1 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4708800 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: 0
uniform sampler2D textureUnitPS2;// Tex2 addr 0x19fc2000 res 64x64x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0
in Vertex2
{
vec4 passG2PParameter0;
vec4 passG2PParameter1;
vec4 passG2PParameter2;
vec4 passG2PParameter3;
} g2p;
layout(location = 0) out vec4 passPixelColor0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R4i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
R4i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(g2p.passG2PParameter0);
R1i = floatBitsToInt(g2p.passG2PParameter1);
R2i = floatBitsToInt(g2p.passG2PParameter2);
R3i = floatBitsToInt(g2p.passG2PParameter3);
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R4i.xy = floatBitsToInt(intBitsToFloat(R4i.xy) / scaleFactor);
R2i.xy = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R2i.xy)).xy);
R1i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).xyzw);
// 0
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(0x437f0000)));
PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(0x437f0000)));
PV0i.z = R3i.x;
PV0i.z = clampFI32(PV0i.z);
PV0i.w = R3i.y;
PV0i.w = clampFI32(PV0i.w);
R127i.x = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[0].x));
PS0i = R127i.x;
// 1
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[0].z)));
PV1i.x = R126i.x;
R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[0].z)));
PV1i.y = R127i.y;
PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3b800000));
PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0);
PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3b800000));
PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0);
PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[0].y));
// 2
backupReg0i = R0i.x;
PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0));
PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + -(1.0));
R127i.z = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(PS1i));
PV0i.z = R127i.z;
R127i.w = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(R127i.x));
PV0i.w = R127i.w;
R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[1].x)));
PS0i = R2i.w;
// 3
backupReg0i = R0i.w;
R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(uf_remappedPS[1].x)));
PV1i.x = R4i.x;
R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(uf_remappedPS[1].x)));
PV1i.y = R4i.y;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R127i.y)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.x)));
R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R1i.w)));
PS1i = R3i.w;
// 4
R0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R127i.w));
PV0i.x = R0i.x;
PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)));
// 5
R0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R127i.z));
PV1i.y = R0i.y;
R0i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R0i.xy)).xyz);
// 0
backupReg0i = R0i.y;
backupReg1i = R0i.x;
PV0i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(R0i.z));
PV0i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(backupReg0i));
PV0i.z = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(backupReg1i));
// 1
R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(PV0i.z)));
PV1i.x = R3i.x;
R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV0i.y)));
PV1i.y = R3i.y;
R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PV0i.x)));
PV1i.z = R3i.z;
// export
passPixelColor0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w));
}

View File

@ -0,0 +1,510 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 960.0; //overwidth value.0
const float overwriteHeight = 540.0;
// shader 940e6df8edff7c01
uniform ivec4 uf_remappedPS[15];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
uniform sampler2D textureUnitPS1;// Tex1 addr 0x2d3b2000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS2;// Tex2 addr 0x2df00000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS3;// Tex3 addr 0x21cc5000 res 512x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 0 border: 0
uniform samplerCubeArray textureUnitPS4;// Tex4 addr 0x2fd50000 res 128x128x1 dim 3 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x6) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
uniform sampler2D textureUnitPS5;// Tex5 addr 0xf4708800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
in vec4 passParameter2;
in vec4 passParameter3;
in vec4 passParameter4;
in vec4 passParameter5;
in vec4 passParameter6;
layout(location = 0) out vec4 passPixelColor0;
void redcCUBE(vec4 src0, vec4 src1, inout vec3 stm, inout int faceId)
{
// stm -> x .. s, y .. t, z .. MajorAxis*2.0
vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x));
float rx = inputCoord.x;
float ry = inputCoord.y;
float rz = inputCoord.z;
if( abs(rx) > abs(ry) && abs(rx) > abs(rz) )
{
stm.z = rx*2.0;
stm.xy = vec2(ry,rz);
if( rx >= 0.0 )
{
faceId = 0;
}
else
{
faceId = 1;
}
}
else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) )
{
stm.z = ry*2.0;
stm.xy = vec2(rx,rz);
if( ry >= 0.0 )
{
faceId = 2;
}
else
{
faceId = 3;
}
}
else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) )
{
stm.z = rz*2.0;
stm.xy = vec2(rx,ry);
if( rz >= 0.0 )
{
faceId = 4;
}
else
{
faceId = 5;
}
}
}
vec3 redcCUBEReverse(vec2 st, int faceId)
{
st.yx = st.xy;
vec3 v;
float majorAxis = 1.0;
if( faceId == 0 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = 1.0;
}
else if( faceId == 1 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = -1.0;
}
else if( faceId == 2 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = 1.0;
}
else if( faceId == 3 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = -1.0;
}
else if( faceId == 4 )
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = 1.0;
}
else
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = -1.0;
}
return v;
}
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R4i = ivec4(0);
ivec4 R5i = ivec4(0);
ivec4 R6i = ivec4(0);
ivec4 R7i = ivec4(0);
ivec4 R8i = ivec4(0);
ivec4 R9i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R124i = ivec4(0);
ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
float cubeMapArrayIndex4 = 0.0;
R6i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
R1i = floatBitsToInt(passParameter2);
R2i = floatBitsToInt(passParameter3);
R3i = floatBitsToInt(passParameter4);
R4i = floatBitsToInt(passParameter5);
R5i = floatBitsToInt(passParameter6);
R7i.xy = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xy);
R4i.xy = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.zw)).xy);
R9i.xyz = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R5i.xy)).xyz);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R6i.xy = floatBitsToInt(intBitsToFloat(R6i.xy) / scaleFactor);
R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R8i.x;
R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R8i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R4i.x) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV0i.w = R123i.w;
R127i.z = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3fff0000) + -(1.0)));
PS0i = R127i.z;
// 1
R4i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z));
PV1i.x = R4i.x;
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w)));
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z)));
R123i.w = floatBitsToInt((intBitsToFloat(R4i.y) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV1i.w = R123i.w;
R127i.w = floatBitsToInt(1.0 / intBitsToFloat(R1i.z));
PS1i = R127i.w;
// 2
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)));
R123i.x = clampFI32(R123i.x);
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)));
R123i.y = clampFI32(R123i.y);
PV0i.y = R123i.y;
R5i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w));
PV0i.z = R5i.z;
R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.w = R2i.w;
R7i.z = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(PS1i));
PS0i = R7i.z;
// 3
R5i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R127i.w));
PV1i.x = R5i.x;
R127i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0);
PV1i.y = R127i.y;
R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV1i.z = R6i.z;
PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0);
R127i.x = floatBitsToInt(max(intBitsToFloat(R8i.x), -(intBitsToFloat(R8i.x))));
R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) / 2.0);
PS1i = R127i.x;
// 4
backupReg0i = R0i.x;
backupReg0i = R0i.x;
backupReg1i = R0i.z;
backupReg1i = R0i.z;
tempi.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(backupReg0i) + intBitsToFloat(R0i.y) * intBitsToFloat(R0i.y) + intBitsToFloat(backupReg1i) * intBitsToFloat(backupReg1i) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R126i.y = tempi.x;
R127i.z = floatBitsToInt(sqrt(intBitsToFloat(PV1i.w)));
PS0i = R127i.z;
// 5
tempi.x = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(R2i.x) + intBitsToFloat(R2i.y) * intBitsToFloat(R2i.y) + intBitsToFloat(R2i.z) * intBitsToFloat(R2i.z) + intBitsToFloat(0x80000000) * 0.0);
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R4i.w = tempi.x;
PS1i = floatBitsToInt(sqrt(intBitsToFloat(R127i.y)));
// 6
R7i.x = floatBitsToInt(max(intBitsToFloat(R8i.y), -(intBitsToFloat(R8i.y))));
R7i.x = floatBitsToInt(intBitsToFloat(R7i.x) / 2.0);
PV0i.x = R7i.x;
R4i.y = floatBitsToInt(intBitsToFloat(R9i.x) + 0.0);
PV0i.y = R4i.y;
R4i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PS1i));
PV0i.z = R4i.z;
R3i.w = floatBitsToInt(intBitsToFloat(R127i.x) + -(intBitsToFloat(0x3ee66666)));
PV0i.w = R3i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y));
R0i.w = floatBitsToInt(tempResultf);
PS0i = R0i.w;
R6i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R8i.xy)).x);
// 0
tempi.x = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(R4i.x) + intBitsToFloat(R5i.z) * intBitsToFloat(R5i.z) + intBitsToFloat(R4i.z) * intBitsToFloat(R4i.z) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
tempResultf = 1.0 / sqrt(intBitsToFloat(R4i.w));
R127i.z = floatBitsToInt(tempResultf);
PS0i = R127i.z;
// 1
R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R0i.w)));
PV1i.x = R125i.x;
R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)));
PV1i.y = R124i.y;
R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R0i.w)));
PV1i.z = R125i.z;
R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PS0i)));
PV1i.w = R125i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x));
R127i.x = floatBitsToInt(tempResultf);
PS1i = R127i.x;
// 2
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R127i.z)));
PV0i.x = R126i.x;
R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R127i.z)));
PV0i.y = R127i.y;
PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w)));
R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PS1i)));
PV0i.w = R127i.w;
R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i)));
PS0i = R126i.y;
// 3
backupReg0i = R127i.x;
R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PV0i.x)));
PV1i.x = R127i.x;
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PV0i.w)));
R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PV0i.y)));
PV1i.z = R127i.z;
R123i.w = floatBitsToInt((-(intBitsToFloat(PV0i.y)) * intBitsToFloat(R124i.y) + intBitsToFloat(PV0i.z)));
PV1i.w = R123i.w;
R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(backupReg0i)));
PS1i = R126i.w;
// 4
tempi.x = floatBitsToInt(intBitsToFloat(R3i.x) * intBitsToFloat(R3i.x) + intBitsToFloat(R3i.y) * intBitsToFloat(R3i.y) + intBitsToFloat(R3i.z) * intBitsToFloat(R3i.z) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R126i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.y)));
PS0i = R126i.z;
// 5
R123i.x = floatBitsToInt((-(intBitsToFloat(R126i.x)) * intBitsToFloat(R125i.x) + intBitsToFloat(R127i.z)));
PV1i.x = R123i.x;
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R127i.w)));
R123i.z = floatBitsToInt((-(intBitsToFloat(R125i.w)) * intBitsToFloat(R125i.z) + intBitsToFloat(R127i.x)));
PV1i.z = R123i.z;
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(R127i.w)));
tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x));
R127i.z = floatBitsToInt(tempResultf);
PS1i = R127i.z;
// 6
R123i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.w)));
PV0i.x = R123i.x;
R125i.y = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(R126i.x) + intBitsToFloat(R126i.z)));
PV0i.y = R125i.y;
R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PS1i)));
PV0i.z = R126i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.y)));
PV0i.w = R123i.w;
R127i.w = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PS0i = R127i.w;
// 7
backupReg0i = R125i.w;
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R127i.z)));
PV1i.x = R126i.x;
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.z)));
R124i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(R127i.y) + intBitsToFloat(PV0i.x)));
PV1i.z = R124i.z;
R125i.w = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.w)));
PV1i.w = R125i.w;
R126i.w = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedPS[2].w) + intBitsToFloat(R2i.w)));
PS1i = R126i.w;
// 8
R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[2].z) + intBitsToFloat(R6i.z)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.y)));
PV0i.y = R123i.y;
PV0i.z = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(0x3ee66666)));
R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R127i.z)));
PV0i.w = R127i.w;
PS0i = floatBitsToInt(intBitsToFloat(R3i.w) * intBitsToFloat(0x41a00000));
PS0i = clampFI32(PS0i);
// 9
R123i.x = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.y))*2.0);
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(R126i.w)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(PV0i.x)));
PV1i.z = R123i.z;
R126i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x41a00000));
R126i.w = clampFI32(R126i.w);
PV1i.w = R126i.w;
R124i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0);
PS1i = R124i.w;
// 10
R123i.x = floatBitsToInt((-(intBitsToFloat(R125i.y)) * intBitsToFloat(PV1i.x) + intBitsToFloat(R126i.z)));
PV0i.x = R123i.x;
R127i.y = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV1i.z)));
PV0i.y = R127i.y;
R127i.z = floatBitsToInt((-(intBitsToFloat(R124i.z)) * intBitsToFloat(PV1i.x) + intBitsToFloat(R126i.x)));
PV0i.z = R127i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV1i.y)));
PV0i.w = R123i.w;
R126i.y = floatBitsToInt((-(intBitsToFloat(R125i.w)) * intBitsToFloat(PV1i.x) + intBitsToFloat(R127i.w)));
PS0i = R126i.y;
// 11
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].x)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].z)));
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].y)));
R125i.w = floatBitsToInt(-(intBitsToFloat(R126i.w)) + 1.0);
PV1i.w = R125i.w;
PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w));
// 12
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[6].x) + intBitsToFloat(PV1i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[6].y) + intBitsToFloat(PV1i.z)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[6].z) + intBitsToFloat(PV1i.y)));
PV0i.z = R123i.z;
R3i.w = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS1i));
PV0i.w = R3i.w;
PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R126i.z)));
// 13
R123i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedPS[7].x) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedPS[7].y) + intBitsToFloat(PV0i.y)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedPS[7].z) + intBitsToFloat(PV0i.z)));
PV1i.z = R123i.z;
R126i.w = floatBitsToInt((intBitsToFloat(R125i.x) * intBitsToFloat(R126i.x) + intBitsToFloat(PS0i)));
PV1i.w = R126i.w;
PS1i = floatBitsToInt(1.0 / -(intBitsToFloat(PV0i.w)));
// 14
redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId);
R5i.x = floatBitsToInt(cubeMapSTM.x);
R5i.y = floatBitsToInt(cubeMapSTM.y);
R5i.z = floatBitsToInt(cubeMapSTM.z);
R5i.w = cubeMapFaceId;
PV0i.x = R5i.x;
PV0i.y = R5i.y;
PV0i.z = R5i.z;
PV0i.w = R5i.w;
PS0i = floatBitsToInt(intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(PS1i));
// 15
backupReg0i = R125i.y;
R123i.x = floatBitsToInt((intBitsToFloat(R124i.y) * intBitsToFloat(R127i.w) + intBitsToFloat(R126i.w)));
PV1i.x = R123i.x;
R125i.y = floatBitsToInt(intBitsToFloat(R9i.y) + 0.0);
PV1i.y = R125i.y;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS0i)));
R124i.z = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z)));
PS1i = R124i.z;
// 16
backupReg0i = R8i.x;
backupReg1i = R8i.y;
backupReg2i = R5i.x;
R8i.x = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(PV1i.z) + intBitsToFloat(backupReg0i)));
PV0i.x = R8i.x;
R8i.y = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(PV1i.w) + intBitsToFloat(backupReg1i)));
PV0i.y = R8i.y;
PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x))));
PV0i.z = clampFI32(PV0i.z);
R2i.w = floatBitsToInt(intBitsToFloat(R9i.z) + 0.0);
PV0i.w = R2i.w;
R5i.x = floatBitsToInt((intBitsToFloat(backupReg2i) * intBitsToFloat(PS1i) + intBitsToFloat(0x3fc00000)));
PS0i = R5i.x;
// 17
backupReg0i = R5i.y;
R9i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0);
PV1i.x = R9i.x;
R5i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R124i.z) + intBitsToFloat(0x3fc00000)));
PV1i.y = R5i.y;
R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(uf_remappedPS[8].x)));
PV1i.z = R9i.z;
R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].x), intBitsToFloat(R4i.y)));
PV1i.w = R0i.w;
R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].y), intBitsToFloat(R125i.y)));
PS1i = R4i.y;
R5i.xyzw = floatBitsToInt(texture(textureUnitPS4, vec4(redcCUBEReverse(intBitsToFloat(R5i.yx),R5i.w),cubeMapArrayIndex4)).xyzw);
R8i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R8i.xy)).xyz);
// 0
R125i.x = floatBitsToInt(-(intBitsToFloat(R1i.w)) + -(intBitsToFloat(R3i.w)));
PV0i.x = R125i.x;
R125i.y = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(uf_remappedPS[10].z) + -(intBitsToFloat(R8i.z))));
PV0i.y = R125i.y;
R124i.z = floatBitsToInt((intBitsToFloat(R5i.y) * intBitsToFloat(uf_remappedPS[10].y) + -(intBitsToFloat(R8i.y))));
PV0i.z = R124i.z;
R125i.w = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(uf_remappedPS[10].x) + -(intBitsToFloat(R8i.x))));
PV0i.w = R125i.w;
tempResultf = log2(intBitsToFloat(R9i.x));
if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F;
PS0i = floatBitsToInt(tempResultf);
// 1
R123i.x = floatBitsToInt((intBitsToFloat(R3i.y) * intBitsToFloat(uf_remappedPS[8].y) + intBitsToFloat(R9i.z)));
PV1i.x = R123i.x;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[11].y), intBitsToFloat(PS0i)));
// 2
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].z), intBitsToFloat(R2i.w)));
PV0i.x = R126i.x;
R123i.w = floatBitsToInt((intBitsToFloat(R3i.z) * intBitsToFloat(uf_remappedPS[8].z) + intBitsToFloat(PV1i.x)));
PV0i.w = R123i.w;
PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z)));
// 3
PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[11].x) + intBitsToFloat(PS0i));
PV1i.x = clampFI32(PV1i.x);
PV1i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[8].w)) + intBitsToFloat(PV0i.w));
// 4
backupReg0i = R125i.y;
R123i.x = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(PV1i.x) + intBitsToFloat(R8i.x)));
PV0i.x = R123i.x;
R125i.y = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(uf_remappedPS[12].w) + intBitsToFloat(uf_remappedPS[9].w)));
R125i.y = clampFI32(R125i.y);
PV0i.y = R125i.y;
R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(PV1i.x) + intBitsToFloat(R8i.z)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R124i.z) * intBitsToFloat(PV1i.x) + intBitsToFloat(R8i.y)));
PV0i.w = R123i.w;
// 5
R123i.x = floatBitsToInt((intBitsToFloat(R4i.y) * intBitsToFloat(PV0i.w) + 0.0));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R0i.w) * intBitsToFloat(PV0i.x) + 0.0));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[13].w)) + 0.0);
R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0);
R127i.z = clampFI32(R127i.z);
PV1i.z = R127i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(PV0i.z) + 0.0));
PV1i.w = R123i.w;
R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(R125i.x)));
R0i.w = clampFI32(R0i.w);
PS1i = R0i.w;
// 6
R126i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].z) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.w)));
PV0i.x = R126i.x;
R124i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].y) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.x)));
PV0i.y = R124i.y;
R124i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].x) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.y)));
PV0i.z = R124i.z;
// 7
PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(uf_remappedPS[12].x));
PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(uf_remappedPS[12].z));
PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(uf_remappedPS[12].y));
// 8
R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(R125i.y) + intBitsToFloat(R124i.y)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R125i.y) + intBitsToFloat(R124i.z)));
PV0i.y = R123i.y;
R123i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R125i.y) + intBitsToFloat(R126i.x)));
PV0i.w = R123i.w;
// 9
PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.w));
PV1i.y = floatBitsToInt(-(intBitsToFloat(R124i.y)) + intBitsToFloat(PV0i.x));
PV1i.z = floatBitsToInt(-(intBitsToFloat(R124i.z)) + intBitsToFloat(PV0i.y));
// 10
R0i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R127i.z) + intBitsToFloat(R124i.z)));
PV0i.x = R0i.x;
R0i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(R127i.z) + intBitsToFloat(R124i.y)));
PV0i.y = R0i.y;
R0i.z = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R127i.z) + intBitsToFloat(R126i.x)));
PV0i.z = R0i.z;
// export
passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w));
}

View File

@ -0,0 +1,142 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 960.0; //overwidth value.0
const float overwriteHeight = 540.0;
// shader b96e10151a15e243
uniform ivec4 uf_remappedPS[9];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
layout(location = 0) out vec4 passPixelColor0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
R1i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R1i.xy = floatBitsToInt(intBitsToFloat(R1i.xy) / scaleFactor);
backupReg0i = R1i.x;
backupReg1i = R1i.y;
R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R1i.x;
R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R1i.y;
R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.z = R2i.z;
R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV0i.w = R1i.w;
R1i.z = floatBitsToInt(1.0 / intBitsToFloat(R0i.z));
PS0i = R1i.z;
R1i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).x);
// 0
backupReg0i = R0i.x;
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x), 1.0));
R123i.y = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PV0i.y = R123i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R1i.z));
PV0i.z = R127i.z;
PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y), 1.0));
R127i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R1i.z));
PS0i = R127i.w;
// 1
R123i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[2].x) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[2].w) + intBitsToFloat(R2i.z)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[2].z) + intBitsToFloat(R1i.w)));
PV1i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[2].y) + intBitsToFloat(PV0i.w)));
PV1i.w = R123i.w;
// 2
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[3].x) + intBitsToFloat(PV1i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(PV1i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(PV1i.z)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[3].y) + intBitsToFloat(PV1i.w)));
PV0i.w = R123i.w;
// 3
backupReg0i = R127i.w;
R127i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(PV0i.x)));
PV1i.x = R127i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV0i.y)));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV0i.z)));
PV1i.z = R127i.z;
R127i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedPS[4].y) + intBitsToFloat(PV0i.w)));
PV1i.w = R127i.w;
// 4
R126i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(uf_remappedPS[6].y));
PV0i.y = R126i.y;
R126i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[5].x)) + intBitsToFloat(uf_remappedPS[6].x));
PV0i.z = R126i.z;
PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y));
// 5
backupReg0i = R127i.x;
R127i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(uf_remappedPS[6].z));
PV1i.x = R127i.x;
R127i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i));
PV1i.y = R127i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS0i));
PV1i.z = R127i.z;
PV1i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i));
// 6
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedPS[7].x)));
R125i.y = floatBitsToInt(-(intBitsToFloat(R0i.w)) + -(intBitsToFloat(PV1i.y)));
PV0i.y = R125i.y;
// 7
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[7].y) + intBitsToFloat(PV0i.x)));
PV1i.w = R123i.w;
// 8
R123i.z = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedPS[7].z) + intBitsToFloat(PV1i.w)));
PV0i.z = R123i.z;
// 9
PV1i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[7].w)) + intBitsToFloat(PV0i.z));
// 10
PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[6].w)));
PV0i.w = clampFI32(PV0i.w);
// 11
R0i.x = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(PV0i.w) + intBitsToFloat(uf_remappedPS[5].x)));
PV1i.x = R0i.x;
R0i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(PV0i.w) + intBitsToFloat(uf_remappedPS[5].y)));
PV1i.y = R0i.y;
R0i.z = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(PV0i.w) + intBitsToFloat(uf_remappedPS[5].z)));
PV1i.z = R0i.z;
// 12
R0i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(uf_remappedPS[8].w)));
R0i.w = clampFI32(R0i.w);
PV0i.w = R0i.w;
// export
passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w));
}

View File

@ -0,0 +1,105 @@
#version 400 // water tropical freeze
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 960.0; //overwidth value.0
const float overwriteHeight = 540.0;
// shader b978b87d9600dc63
uniform ivec4 uf_remappedPS[6];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
layout(location = 0) out vec4 passPixelColor0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
R1i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R1i.xy = floatBitsToInt(intBitsToFloat(R1i.xy) / scaleFactor);
backupReg0i = R1i.x;
backupReg1i = R1i.y;
R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R1i.x;
R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R1i.y;
R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV0i.z = R2i.z;
R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.w = R1i.w;
R1i.z = floatBitsToInt(1.0 / intBitsToFloat(R0i.z));
PS0i = R1i.z;
R1i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).x);
// 0
R3i.x = uf_remappedPS[2].x;
PV0i.x = R3i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PV0i.y = R123i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R1i.z));
PV0i.z = R127i.z;
R127i.w = floatBitsToInt(intBitsToFloat(R0i.x) * intBitsToFloat(R1i.z));
PV0i.w = R127i.w;
R3i.y = uf_remappedPS[2].y;
PS0i = R3i.y;
// 1
R123i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(R1i.w)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(R2i.z)));
PV1i.z = R123i.z;
R3i.z = uf_remappedPS[2].z;
PS1i = R3i.z;
// 2
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV1i.z)));
PV0i.x = R123i.x;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV1i.y)));
PV0i.w = R123i.w;
// 3
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(PV0i.w)));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[5].z) + intBitsToFloat(PV0i.x)));
PV1i.z = R127i.z;
// 4
PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y));
// 5
PV1i.w = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i));
// 6
PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.w)) + -(intBitsToFloat(PV1i.w)));
// 7
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(PV0i.z)));
PV1i.x = clampFI32(PV1i.x);
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[2].w)));
PV1i.y = clampFI32(PV1i.y);
// 8
R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x)));
PV0i.w = R3i.w;
// export
passPixelColor0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w));
}

View File

@ -0,0 +1,105 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 960.0; //overwidth value.0
const float overwriteHeight = 540.0;
// shader d878b867ab805ffa
uniform ivec4 uf_remappedPS[6];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
layout(location = 0) out vec4 passPixelColor0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
R1i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R1i.xy = floatBitsToInt(intBitsToFloat(R1i.xy) / scaleFactor);
backupReg0i = R1i.x;
backupReg1i = R1i.y;
R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R1i.x;
R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R1i.y;
R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV0i.z = R2i.z;
R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.w = R1i.w;
R1i.z = floatBitsToInt(1.0 / intBitsToFloat(R0i.z));
PS0i = R1i.z;
R1i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).x);
// 0
R3i.x = uf_remappedPS[2].x;
PV0i.x = R3i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PV0i.y = R123i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R1i.z));
PV0i.z = R127i.z;
R127i.w = floatBitsToInt(intBitsToFloat(R0i.x) * intBitsToFloat(R1i.z));
PV0i.w = R127i.w;
R3i.y = uf_remappedPS[2].y;
PS0i = R3i.y;
// 1
R123i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(R1i.w)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(R2i.z)));
PV1i.z = R123i.z;
R3i.z = uf_remappedPS[2].z;
PS1i = R3i.z;
// 2
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV1i.z)));
PV0i.x = R123i.x;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV1i.y)));
PV0i.w = R123i.w;
// 3
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(PV0i.w)));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[5].z) + intBitsToFloat(PV0i.x)));
PV1i.z = R127i.z;
// 4
PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y));
// 5
PV1i.w = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i));
// 6
PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.w)) + -(intBitsToFloat(PV1i.w)));
// 7
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(PV0i.z)));
PV1i.x = clampFI32(PV1i.x);
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[2].w)));
PV1i.y = clampFI32(PV1i.y);
// 8
R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x)));
PV0i.w = R3i.w;
// export
passPixelColor0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w));
}

View File

@ -1,6 +1,6 @@
[Definition]# EUR, USA, JPN titles [Definition]# EUR, USA, JPN titles
titleIds = 0005000010143400,0005000010143600,0005000010143500 # titleIds = 0005000010143400,0005000010143600,0005000010143500 #
name ="The Wind Waker HD 1440p" name ="The Wind Waker HD - 1440p (2K)"
[TextureRedefine] # TV [TextureRedefine] # TV
width = 1920 width = 1920
@ -9,13 +9,6 @@ formatsExcluded = 0x41A # exclude the intro background texture
overwriteWidth = 2560 overwriteWidth = 2560
overwriteHeight = 1440 overwriteHeight = 1440
#[TextureRedefine] # gamepad view
#width = 854
#height = 480
#formatsExcluded =
#overwriteWidth = 1138
#overwriteHeight = 640
#[TextureRedefine] # Blur, bloom #[TextureRedefine] # Blur, bloom
#width = 960 #width = 960
#height = 540 #height = 540
@ -36,11 +29,3 @@ overwriteHeight = 1440
#formatsExcluded = #formatsExcluded =
#overwriteWidth = 640 #overwriteWidth = 640
#overwriteHeight = 320 #overwriteHeight = 320
##Textures
#[TextureRedefine] # 3 lod shadows
#width = 1024
#height = 1024
#formats = 0x005
#overwriteWidth = 2048
#overwriteHeight = 2048

View File

@ -1,6 +1,6 @@
[Definition]# EUR, USA, JPN titles [Definition]# EUR, USA, JPN titles
titleIds = 0005000010143400,0005000010143600,0005000010143500 # titleIds = 0005000010143400,0005000010143600,0005000010143500 #
name ="The Wind Waker HD 2160p" name ="The Wind Waker HD - 2160p (4K)"
[TextureRedefine] # game rendering resolution. #Change this value [TextureRedefine] # game rendering resolution. #Change this value
width = 1920 width = 1920
@ -9,16 +9,9 @@ formatsExcluded = 0x41A # exclude the intro background texture
overwriteWidth = 3840 overwriteWidth = 3840
overwriteHeight = 2160 overwriteHeight = 2160
#[TextureRedefine] # gamepad view
#width = 854
#height = 480
#formatsExcluded =
#overwriteWidth = 1707
#overwriteHeight = 960
#[TextureRedefine] # Blur, bloom #[TextureRedefine] # Blur, bloom
#width = 960 #width = 960
height = 540 #height = 540
#formatsExcluded = #formatsExcluded =
#overwriteWidth = 1920 #overwriteWidth = 1920
#overwriteHeight = 1080 #overwriteHeight = 1080
@ -36,11 +29,3 @@ height = 540
#formatsExcluded = #formatsExcluded =
#overwriteWidth = 960 #overwriteWidth = 960
#overwriteHeight = 480 #overwriteHeight = 480
##Textures
#[TextureRedefine] # 3 lod shadows
#width = 1024
#height = 1024
#formats = 0x005
#overwriteWidth = 2048
#overwriteHeight = 2048

View File

@ -0,0 +1,505 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 1920.0; //overwidth value.0
const float overwriteHeight = 1080.0;
// shader 1bfa8cd906df24d9
uniform ivec4 uf_remappedPS[14];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
uniform sampler2D textureUnitPS1;// Tex1 addr 0x34958000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS2;// Tex2 addr 0x35828000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS3;// Tex3 addr 0x19ba0000 res 256x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 0 border: 0
uniform samplerCubeArray textureUnitPS4;// Tex4 addr 0x34328000 res 128x128x1 dim 3 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x6) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
uniform sampler2D textureUnitPS5;// Tex5 addr 0xf4708800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
in vec4 passParameter2;
in vec4 passParameter3;
in vec4 passParameter4;
in vec4 passParameter5;
in vec4 passParameter6;
layout(location = 0) out vec4 passPixelColor0;
void redcCUBE(vec4 src0, vec4 src1, inout vec3 stm, inout int faceId)
{
// stm -> x .. s, y .. t, z .. MajorAxis*2.0
vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x));
float rx = inputCoord.x;
float ry = inputCoord.y;
float rz = inputCoord.z;
if( abs(rx) > abs(ry) && abs(rx) > abs(rz) )
{
stm.z = rx*2.0;
stm.xy = vec2(ry,rz);
if( rx >= 0.0 )
{
faceId = 0;
}
else
{
faceId = 1;
}
}
else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) )
{
stm.z = ry*2.0;
stm.xy = vec2(rx,rz);
if( ry >= 0.0 )
{
faceId = 2;
}
else
{
faceId = 3;
}
}
else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) )
{
stm.z = rz*2.0;
stm.xy = vec2(rx,ry);
if( rz >= 0.0 )
{
faceId = 4;
}
else
{
faceId = 5;
}
}
}
vec3 redcCUBEReverse(vec2 st, int faceId)
{
st.yx = st.xy;
vec3 v;
float majorAxis = 1.0;
if( faceId == 0 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = 1.0;
}
else if( faceId == 1 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = -1.0;
}
else if( faceId == 2 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = 1.0;
}
else if( faceId == 3 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = -1.0;
}
else if( faceId == 4 )
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = 1.0;
}
else
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = -1.0;
}
return v;
}
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R4i = ivec4(0);
ivec4 R5i = ivec4(0);
ivec4 R6i = ivec4(0);
ivec4 R7i = ivec4(0);
ivec4 R8i = ivec4(0);
ivec4 R9i = ivec4(0);
ivec4 R122i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R124i = ivec4(0);
ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
float cubeMapArrayIndex4 = 0.0;
R6i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
R1i = floatBitsToInt(passParameter2);
R2i = floatBitsToInt(passParameter3);
R3i = floatBitsToInt(passParameter4);
R4i = floatBitsToInt(passParameter5);
R5i = floatBitsToInt(passParameter6);
R7i.xy = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xy);
R4i.xy = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.zw)).xy);
R8i.xyz = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R5i.xy)).xyz);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
// //R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS1, intBitsToFloat(R0i.xy)).wzxy);
//vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(textureGather(textureUnitPS5.x), textureGather(textureUnitPS5.y));
R6i.xy = floatBitsToInt(intBitsToFloat(R6i.xy) / scaleFactor);
R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R9i.x;
R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R9i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R4i.x) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV0i.w = R123i.w;
R127i.w = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3fff0000) + -(1.0)));
PS0i = R127i.w;
// 1
R6i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w));
PV1i.x = R6i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R4i.y) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV1i.y = R123i.y;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w)));
R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R1i.z));
PS1i = R126i.w;
// 2
R4i.x = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.y));
PV0i.x = R4i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.z)));
R123i.y = clampFI32(R123i.y);
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.w)));
R123i.z = clampFI32(R123i.z);
PV0i.z = R123i.z;
R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.w = R4i.w;
R5i.z = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(PS1i));
PS0i = R5i.z;
// 3
R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0);
PV1i.x = R127i.x;
R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV1i.y = R7i.y;
R6i.z = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R126i.w));
PV1i.z = R6i.z;
PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0);
R127i.y = floatBitsToInt(max(intBitsToFloat(R9i.x), -(intBitsToFloat(R9i.x))));
R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) / 2.0);
PS1i = R127i.y;
// 4
backupReg0i = R0i.y;
backupReg0i = R0i.y;
backupReg1i = R0i.z;
backupReg1i = R0i.z;
R126i.x = floatBitsToInt(intBitsToFloat(R0i.x) * intBitsToFloat(R0i.x) + intBitsToFloat(backupReg0i) * intBitsToFloat(backupReg0i) + intBitsToFloat(backupReg1i) * intBitsToFloat(backupReg1i) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = R126i.x;
PV0i.y = R126i.x;
PV0i.z = R126i.x;
PV0i.w = R126i.x;
R127i.z = floatBitsToInt(sqrt(intBitsToFloat(PV1i.w)));
PS0i = R127i.z;
// 5
tempi.x = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(R2i.x) + intBitsToFloat(R2i.y) * intBitsToFloat(R2i.y) + intBitsToFloat(R2i.z) * intBitsToFloat(R2i.z) + intBitsToFloat(0x80000000) * 0.0);
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R4i.y = tempi.x;
PS1i = floatBitsToInt(sqrt(intBitsToFloat(R127i.x)));
// 6
R5i.x = floatBitsToInt(max(intBitsToFloat(R9i.y), -(intBitsToFloat(R9i.y))));
R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) / 2.0);
PV0i.x = R5i.x;
R5i.y = floatBitsToInt(intBitsToFloat(R127i.y) + -(intBitsToFloat(0x3ee66666)));
PV0i.y = R5i.y;
R4i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PS1i));
PV0i.z = R4i.z;
R0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + 0.0);
PV0i.w = R0i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.x));
R6i.y = floatBitsToInt(tempResultf);
PS0i = R6i.y;
R7i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R9i.xy)).x);
// 0
tempi.x = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(R6i.x) + intBitsToFloat(R4i.x) * intBitsToFloat(R4i.x) + intBitsToFloat(R4i.z) * intBitsToFloat(R4i.z) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
tempResultf = 1.0 / sqrt(intBitsToFloat(R4i.y));
R126i.w = floatBitsToInt(tempResultf);
PS0i = R126i.w;
// 1
backupReg0i = R0i.x;
R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R6i.y)));
PV1i.x = R0i.x;
R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PS0i)));
PV1i.y = R125i.y;
R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R6i.y)));
PV1i.z = R125i.z;
R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R6i.y)));
PV1i.w = R125i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x));
R127i.z = floatBitsToInt(tempResultf);
PS1i = R127i.z;
// 2
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R126i.w)));
PV0i.x = R126i.x;
R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PS1i)));
PV0i.y = R127i.y;
R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R126i.w)));
PV0i.z = R126i.z;
PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.y)));
R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PS1i)));
PS0i = R127i.w;
// 3
backupReg0i = R0i.x;
backupReg0i = R0i.x;
backupReg1i = R127i.z;
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV0i.y)));
R123i.y = floatBitsToInt((-(intBitsToFloat(PV0i.x)) * intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.w)));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.z)));
PV1i.z = R127i.z;
R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV0i.x)));
PV1i.w = R126i.w;
R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(backupReg1i)));
PS1i = R127i.x;
// 4
tempi.x = floatBitsToInt(intBitsToFloat(R3i.x) * intBitsToFloat(R3i.x) + intBitsToFloat(R3i.y) * intBitsToFloat(R3i.y) + intBitsToFloat(R3i.z) * intBitsToFloat(R3i.z) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R126i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.x)));
PS0i = R126i.y;
// 5
backupReg0i = R0i.x;
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R127i.y)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R127i.y)));
R123i.z = floatBitsToInt((-(intBitsToFloat(R126i.z)) * intBitsToFloat(R125i.z) + intBitsToFloat(R126i.w)));
PV1i.z = R123i.z;
R123i.w = floatBitsToInt((-(intBitsToFloat(R125i.y)) * intBitsToFloat(R125i.w) + intBitsToFloat(R127i.z)));
PV1i.w = R123i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x));
R126i.w = floatBitsToInt(tempResultf);
PS1i = R126i.w;
// 6
R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PS1i)));
PV0i.x = R124i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.x)));
PV0i.z = R123i.z;
R127i.w = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(R126i.z) + intBitsToFloat(R126i.y)));
PV0i.w = R127i.w;
R125i.x = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PS0i = R125i.x;
// 7
backupReg0i = R127i.x;
backupReg0i = R127i.x;
backupReg1i = R125i.y;
R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R126i.w)));
PV1i.x = R127i.x;
R125i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.z)));
PV1i.y = R125i.y;
R126i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(backupReg1i) + intBitsToFloat(PV0i.y)));
PV1i.z = R126i.z;
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.x)));
R122i.x = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedPS[2].w) + intBitsToFloat(R4i.w)));
PS1i = R122i.x;
// 8
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R126i.w)));
PV0i.x = R126i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R125i.x) * intBitsToFloat(uf_remappedPS[2].z) + intBitsToFloat(R7i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(PS1i)));
PV0i.w = R123i.w;
PS0i = floatBitsToInt(intBitsToFloat(R5i.x) + -(intBitsToFloat(0x3ee66666)));
// 9
R123i.x = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV0i.w)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z))*2.0);
PV1i.y = R123i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(0x41a00000));
R127i.z = clampFI32(R127i.z);
PV1i.z = R127i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(PV0i.y)));
PV1i.w = R123i.w;
R125i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x41a00000));
R125i.x = clampFI32(R125i.x);
PS1i = R125i.x;
// 10
backupReg0i = R126i.z;
R123i.x = floatBitsToInt((-(intBitsToFloat(R127i.w)) * intBitsToFloat(PV1i.y) + intBitsToFloat(R124i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV1i.w)));
PV0i.y = R123i.y;
R126i.z = floatBitsToInt((-(intBitsToFloat(backupReg0i)) * intBitsToFloat(PV1i.y) + intBitsToFloat(R126i.x)));
PV0i.z = R126i.z;
R126i.w = floatBitsToInt((-(intBitsToFloat(R125i.y)) * intBitsToFloat(PV1i.y) + intBitsToFloat(R127i.x)));
PV0i.w = R126i.w;
PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x));
// 11
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].z)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].x)));
R6i.z = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(PS0i));
PV1i.z = R6i.z;
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].y)));
R124i.z = floatBitsToInt(-(intBitsToFloat(R127i.z)) + 1.0);
PS1i = R124i.z;
// 12
R123i.x = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedPS[6].x) + intBitsToFloat(PV1i.y)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedPS[6].z) + intBitsToFloat(PV1i.x)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedPS[6].y) + intBitsToFloat(PV1i.w)));
PV0i.z = R123i.z;
R126i.w = floatBitsToInt(-(intBitsToFloat(R125i.x)) + 1.0);
PV0i.w = R126i.w;
R127i.z = floatBitsToInt(1.0 / -(intBitsToFloat(PV1i.z)));
PS0i = R127i.z;
// 13
backupReg0i = R125i.w;
R123i.x = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedPS[7].x) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedPS[7].y) + intBitsToFloat(PV0i.z)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedPS[7].z) + intBitsToFloat(PV0i.y)));
PV1i.z = R123i.z;
R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R124i.x)));
PV1i.w = R125i.w;
R126i.y = floatBitsToInt(intBitsToFloat(R8i.y) + 0.0);
PS1i = R126i.y;
// 14
redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId);
R5i.x = floatBitsToInt(cubeMapSTM.x);
R5i.y = floatBitsToInt(cubeMapSTM.y);
R5i.z = floatBitsToInt(cubeMapSTM.z);
R5i.w = cubeMapFaceId;
PV0i.x = R5i.x;
PV0i.y = R5i.y;
PV0i.z = R5i.z;
PV0i.w = R5i.w;
PS0i = floatBitsToInt(intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(R127i.z));
// 15
backupReg0i = R127i.x;
backupReg1i = R125i.y;
R127i.x = floatBitsToInt((intBitsToFloat(R125i.z) * intBitsToFloat(backupReg0i) + intBitsToFloat(R125i.w)));
PV1i.x = R127i.x;
R125i.y = floatBitsToInt(intBitsToFloat(R8i.z) + 0.0);
PV1i.y = R125i.y;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS0i)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS0i)));
R127i.w = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z)));
PS1i = R127i.w;
// 16
backupReg0i = R9i.x;
backupReg1i = R9i.y;
backupReg2i = R0i.w;
backupReg3i = R5i.x;
R9i.x = floatBitsToInt((intBitsToFloat(R124i.z) * intBitsToFloat(PV1i.z) + intBitsToFloat(backupReg0i)));
PV0i.x = R9i.x;
R9i.y = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(PV1i.w) + intBitsToFloat(backupReg1i)));
PV0i.y = R9i.y;
R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].y), intBitsToFloat(R126i.y)));
PV0i.z = R8i.z;
R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].x), intBitsToFloat(backupReg2i)));
PV0i.w = R0i.w;
R5i.x = floatBitsToInt((intBitsToFloat(backupReg3i) * intBitsToFloat(PS1i) + intBitsToFloat(0x3fc00000)));
PS0i = R5i.x;
// 17
backupReg0i = R5i.y;
backupReg1i = R1i.w;
R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].z), intBitsToFloat(R125i.y)));
PV1i.x = R1i.x;
R5i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R127i.w) + intBitsToFloat(0x3fc00000)));
PV1i.y = R5i.y;
R1i.z = floatBitsToInt((intBitsToFloat(R1i.w) * intBitsToFloat(uf_remappedPS[9].x) + intBitsToFloat(uf_remappedPS[9].y)));
R1i.z = clampFI32(R1i.z);
PV1i.z = R1i.z;
R1i.w = floatBitsToInt((intBitsToFloat(R0i.x) * intBitsToFloat(R126i.x) + intBitsToFloat(R127i.x)));
PV1i.w = R1i.w;
R0i.x = floatBitsToInt(-(intBitsToFloat(backupReg1i)) + -(intBitsToFloat(R6i.z)));
PS1i = R0i.x;
R9i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R9i.xy)).xyz);
R5i.xyzw = floatBitsToInt(texture(textureUnitPS4, vec4(redcCUBEReverse(intBitsToFloat(R5i.yx),R5i.w),cubeMapArrayIndex4)).xyzw);
// 0
R127i.x = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(uf_remappedPS[10].x) + -(intBitsToFloat(R9i.x))));
PV0i.x = R127i.x;
R125i.y = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(uf_remappedPS[10].z) + -(intBitsToFloat(R9i.z))));
PV0i.y = R125i.y;
PV0i.z = floatBitsToInt(max(intBitsToFloat(R1i.w), -(intBitsToFloat(R1i.w))));
PV0i.z = clampFI32(PV0i.z);
R127i.w = floatBitsToInt((intBitsToFloat(R5i.y) * intBitsToFloat(uf_remappedPS[10].y) + -(intBitsToFloat(R9i.y))));
PV0i.w = R127i.w;
// 1
PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0);
R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(R0i.x)));
R6i.w = clampFI32(R6i.w);
PV1i.w = R6i.w;
// 2
tempResultf = log2(intBitsToFloat(PV1i.y));
if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F;
PS0i = floatBitsToInt(tempResultf);
// 3
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[11].y), intBitsToFloat(PS0i)));
// 4
PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.w)));
// 5
PV1i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[11].x) + intBitsToFloat(PS0i));
PV1i.y = clampFI32(PV1i.y);
// 6
R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(PV1i.y) + intBitsToFloat(R9i.y)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(PV1i.y) + intBitsToFloat(R9i.x)));
PV0i.y = R123i.y;
R123i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(PV1i.y) + intBitsToFloat(R9i.z)));
PV0i.w = R123i.w;
// 7
R123i.x = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(PV0i.w) + 0.0));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R8i.z) * intBitsToFloat(PV0i.x) + 0.0));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R0i.w) * intBitsToFloat(PV0i.y) + 0.0));
PV1i.z = R123i.z;
// 8
R125i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[12].z) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.x)));
PV0i.y = R125i.y;
R124i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[12].y) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.y)));
PV0i.z = R124i.z;
R127i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[12].x) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.z)));
PV0i.w = R127i.w;
// 9
PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(uf_remappedPS[13].z));
PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(uf_remappedPS[13].y));
PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(uf_remappedPS[13].x));
// 10
R6i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R1i.z) + intBitsToFloat(R127i.w)));
PV0i.x = R6i.x;
R6i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(R1i.z) + intBitsToFloat(R124i.z)));
PV0i.y = R6i.y;
R6i.z = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R1i.z) + intBitsToFloat(R125i.y)));
PV0i.z = R6i.z;
// export
passPixelColor0 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w));
}

View File

@ -0,0 +1,122 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 1920.0; //overwidth value.0
const float overwriteHeight = 1080.0;
// shader 76e37ae2a66fcff2
uniform ivec4 uf_remappedPS[2];
uniform sampler2D textureUnitPS0;// Tex0 addr 0x19fc6000 res 128x128x1 dim 1 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4708800 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: 0
uniform sampler2D textureUnitPS2;// Tex2 addr 0x19fc2000 res 64x64x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0
in Vertex2
{
vec4 passG2PParameter0;
vec4 passG2PParameter1;
vec4 passG2PParameter2;
vec4 passG2PParameter3;
} g2p;
layout(location = 0) out vec4 passPixelColor0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R4i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
R4i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(g2p.passG2PParameter0);
R1i = floatBitsToInt(g2p.passG2PParameter1);
R2i = floatBitsToInt(g2p.passG2PParameter2);
R3i = floatBitsToInt(g2p.passG2PParameter3);
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R4i.xy = floatBitsToInt(intBitsToFloat(R4i.xy) / scaleFactor);
R2i.xy = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R2i.xy)).xy);
R1i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).xyzw);
// 0
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(0x437f0000)));
PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(0x437f0000)));
PV0i.z = R3i.x;
PV0i.z = clampFI32(PV0i.z);
PV0i.w = R3i.y;
PV0i.w = clampFI32(PV0i.w);
R127i.x = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[0].x));
PS0i = R127i.x;
// 1
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[0].z)));
PV1i.x = R126i.x;
R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[0].z)));
PV1i.y = R127i.y;
PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3b800000));
PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0);
PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3b800000));
PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0);
PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[0].y));
// 2
backupReg0i = R0i.x;
PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0));
PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + -(1.0));
R127i.z = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(PS1i));
PV0i.z = R127i.z;
R127i.w = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(R127i.x));
PV0i.w = R127i.w;
R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[1].x)));
PS0i = R2i.w;
// 3
backupReg0i = R0i.w;
R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(uf_remappedPS[1].x)));
PV1i.x = R4i.x;
R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(uf_remappedPS[1].x)));
PV1i.y = R4i.y;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R127i.y)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.x)));
R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R1i.w)));
PS1i = R3i.w;
// 4
R0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R127i.w));
PV0i.x = R0i.x;
PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)));
// 5
R0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R127i.z));
PV1i.y = R0i.y;
R0i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R0i.xy)).xyz);
// 0
backupReg0i = R0i.y;
backupReg1i = R0i.x;
PV0i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(R0i.z));
PV0i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(backupReg0i));
PV0i.z = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(backupReg1i));
// 1
R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(PV0i.z)));
PV1i.x = R3i.x;
R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV0i.y)));
PV1i.y = R3i.y;
R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PV0i.x)));
PV1i.z = R3i.z;
// export
passPixelColor0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w));
}

View File

@ -0,0 +1,510 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 1920.0; //overwidth value.0
const float overwriteHeight = 1080.0;
// shader 940e6df8edff7c01
uniform ivec4 uf_remappedPS[15];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
uniform sampler2D textureUnitPS1;// Tex1 addr 0x2d3b2000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS2;// Tex2 addr 0x2df00000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS3;// Tex3 addr 0x21cc5000 res 512x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 0 border: 0
uniform samplerCubeArray textureUnitPS4;// Tex4 addr 0x2fd50000 res 128x128x1 dim 3 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x6) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
uniform sampler2D textureUnitPS5;// Tex5 addr 0xf4708800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
in vec4 passParameter2;
in vec4 passParameter3;
in vec4 passParameter4;
in vec4 passParameter5;
in vec4 passParameter6;
layout(location = 0) out vec4 passPixelColor0;
void redcCUBE(vec4 src0, vec4 src1, inout vec3 stm, inout int faceId)
{
// stm -> x .. s, y .. t, z .. MajorAxis*2.0
vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x));
float rx = inputCoord.x;
float ry = inputCoord.y;
float rz = inputCoord.z;
if( abs(rx) > abs(ry) && abs(rx) > abs(rz) )
{
stm.z = rx*2.0;
stm.xy = vec2(ry,rz);
if( rx >= 0.0 )
{
faceId = 0;
}
else
{
faceId = 1;
}
}
else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) )
{
stm.z = ry*2.0;
stm.xy = vec2(rx,rz);
if( ry >= 0.0 )
{
faceId = 2;
}
else
{
faceId = 3;
}
}
else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) )
{
stm.z = rz*2.0;
stm.xy = vec2(rx,ry);
if( rz >= 0.0 )
{
faceId = 4;
}
else
{
faceId = 5;
}
}
}
vec3 redcCUBEReverse(vec2 st, int faceId)
{
st.yx = st.xy;
vec3 v;
float majorAxis = 1.0;
if( faceId == 0 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = 1.0;
}
else if( faceId == 1 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = -1.0;
}
else if( faceId == 2 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = 1.0;
}
else if( faceId == 3 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = -1.0;
}
else if( faceId == 4 )
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = 1.0;
}
else
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = -1.0;
}
return v;
}
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R4i = ivec4(0);
ivec4 R5i = ivec4(0);
ivec4 R6i = ivec4(0);
ivec4 R7i = ivec4(0);
ivec4 R8i = ivec4(0);
ivec4 R9i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R124i = ivec4(0);
ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
float cubeMapArrayIndex4 = 0.0;
R6i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
R1i = floatBitsToInt(passParameter2);
R2i = floatBitsToInt(passParameter3);
R3i = floatBitsToInt(passParameter4);
R4i = floatBitsToInt(passParameter5);
R5i = floatBitsToInt(passParameter6);
R7i.xy = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xy);
R4i.xy = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.zw)).xy);
R9i.xyz = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R5i.xy)).xyz);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R6i.xy = floatBitsToInt(intBitsToFloat(R6i.xy) / scaleFactor);
R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R8i.x;
R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R8i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R4i.x) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV0i.w = R123i.w;
R127i.z = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3fff0000) + -(1.0)));
PS0i = R127i.z;
// 1
R4i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z));
PV1i.x = R4i.x;
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w)));
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z)));
R123i.w = floatBitsToInt((intBitsToFloat(R4i.y) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV1i.w = R123i.w;
R127i.w = floatBitsToInt(1.0 / intBitsToFloat(R1i.z));
PS1i = R127i.w;
// 2
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)));
R123i.x = clampFI32(R123i.x);
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)));
R123i.y = clampFI32(R123i.y);
PV0i.y = R123i.y;
R5i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w));
PV0i.z = R5i.z;
R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.w = R2i.w;
R7i.z = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(PS1i));
PS0i = R7i.z;
// 3
R5i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R127i.w));
PV1i.x = R5i.x;
R127i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0);
PV1i.y = R127i.y;
R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV1i.z = R6i.z;
PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0);
R127i.x = floatBitsToInt(max(intBitsToFloat(R8i.x), -(intBitsToFloat(R8i.x))));
R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) / 2.0);
PS1i = R127i.x;
// 4
backupReg0i = R0i.x;
backupReg0i = R0i.x;
backupReg1i = R0i.z;
backupReg1i = R0i.z;
tempi.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(backupReg0i) + intBitsToFloat(R0i.y) * intBitsToFloat(R0i.y) + intBitsToFloat(backupReg1i) * intBitsToFloat(backupReg1i) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R126i.y = tempi.x;
R127i.z = floatBitsToInt(sqrt(intBitsToFloat(PV1i.w)));
PS0i = R127i.z;
// 5
tempi.x = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(R2i.x) + intBitsToFloat(R2i.y) * intBitsToFloat(R2i.y) + intBitsToFloat(R2i.z) * intBitsToFloat(R2i.z) + intBitsToFloat(0x80000000) * 0.0);
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R4i.w = tempi.x;
PS1i = floatBitsToInt(sqrt(intBitsToFloat(R127i.y)));
// 6
R7i.x = floatBitsToInt(max(intBitsToFloat(R8i.y), -(intBitsToFloat(R8i.y))));
R7i.x = floatBitsToInt(intBitsToFloat(R7i.x) / 2.0);
PV0i.x = R7i.x;
R4i.y = floatBitsToInt(intBitsToFloat(R9i.x) + 0.0);
PV0i.y = R4i.y;
R4i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PS1i));
PV0i.z = R4i.z;
R3i.w = floatBitsToInt(intBitsToFloat(R127i.x) + -(intBitsToFloat(0x3ee66666)));
PV0i.w = R3i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y));
R0i.w = floatBitsToInt(tempResultf);
PS0i = R0i.w;
R6i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R8i.xy)).x);
// 0
tempi.x = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(R4i.x) + intBitsToFloat(R5i.z) * intBitsToFloat(R5i.z) + intBitsToFloat(R4i.z) * intBitsToFloat(R4i.z) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
tempResultf = 1.0 / sqrt(intBitsToFloat(R4i.w));
R127i.z = floatBitsToInt(tempResultf);
PS0i = R127i.z;
// 1
R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R0i.w)));
PV1i.x = R125i.x;
R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)));
PV1i.y = R124i.y;
R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R0i.w)));
PV1i.z = R125i.z;
R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PS0i)));
PV1i.w = R125i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x));
R127i.x = floatBitsToInt(tempResultf);
PS1i = R127i.x;
// 2
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R127i.z)));
PV0i.x = R126i.x;
R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R127i.z)));
PV0i.y = R127i.y;
PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w)));
R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PS1i)));
PV0i.w = R127i.w;
R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i)));
PS0i = R126i.y;
// 3
backupReg0i = R127i.x;
R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PV0i.x)));
PV1i.x = R127i.x;
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PV0i.w)));
R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PV0i.y)));
PV1i.z = R127i.z;
R123i.w = floatBitsToInt((-(intBitsToFloat(PV0i.y)) * intBitsToFloat(R124i.y) + intBitsToFloat(PV0i.z)));
PV1i.w = R123i.w;
R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(backupReg0i)));
PS1i = R126i.w;
// 4
tempi.x = floatBitsToInt(intBitsToFloat(R3i.x) * intBitsToFloat(R3i.x) + intBitsToFloat(R3i.y) * intBitsToFloat(R3i.y) + intBitsToFloat(R3i.z) * intBitsToFloat(R3i.z) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R126i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.y)));
PS0i = R126i.z;
// 5
R123i.x = floatBitsToInt((-(intBitsToFloat(R126i.x)) * intBitsToFloat(R125i.x) + intBitsToFloat(R127i.z)));
PV1i.x = R123i.x;
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R127i.w)));
R123i.z = floatBitsToInt((-(intBitsToFloat(R125i.w)) * intBitsToFloat(R125i.z) + intBitsToFloat(R127i.x)));
PV1i.z = R123i.z;
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(R127i.w)));
tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x));
R127i.z = floatBitsToInt(tempResultf);
PS1i = R127i.z;
// 6
R123i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.w)));
PV0i.x = R123i.x;
R125i.y = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(R126i.x) + intBitsToFloat(R126i.z)));
PV0i.y = R125i.y;
R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PS1i)));
PV0i.z = R126i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.y)));
PV0i.w = R123i.w;
R127i.w = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PS0i = R127i.w;
// 7
backupReg0i = R125i.w;
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R127i.z)));
PV1i.x = R126i.x;
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.z)));
R124i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(R127i.y) + intBitsToFloat(PV0i.x)));
PV1i.z = R124i.z;
R125i.w = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.w)));
PV1i.w = R125i.w;
R126i.w = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedPS[2].w) + intBitsToFloat(R2i.w)));
PS1i = R126i.w;
// 8
R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[2].z) + intBitsToFloat(R6i.z)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.y)));
PV0i.y = R123i.y;
PV0i.z = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(0x3ee66666)));
R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R127i.z)));
PV0i.w = R127i.w;
PS0i = floatBitsToInt(intBitsToFloat(R3i.w) * intBitsToFloat(0x41a00000));
PS0i = clampFI32(PS0i);
// 9
R123i.x = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.y))*2.0);
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(R126i.w)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(PV0i.x)));
PV1i.z = R123i.z;
R126i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x41a00000));
R126i.w = clampFI32(R126i.w);
PV1i.w = R126i.w;
R124i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0);
PS1i = R124i.w;
// 10
R123i.x = floatBitsToInt((-(intBitsToFloat(R125i.y)) * intBitsToFloat(PV1i.x) + intBitsToFloat(R126i.z)));
PV0i.x = R123i.x;
R127i.y = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV1i.z)));
PV0i.y = R127i.y;
R127i.z = floatBitsToInt((-(intBitsToFloat(R124i.z)) * intBitsToFloat(PV1i.x) + intBitsToFloat(R126i.x)));
PV0i.z = R127i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV1i.y)));
PV0i.w = R123i.w;
R126i.y = floatBitsToInt((-(intBitsToFloat(R125i.w)) * intBitsToFloat(PV1i.x) + intBitsToFloat(R127i.w)));
PS0i = R126i.y;
// 11
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].x)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].z)));
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].y)));
R125i.w = floatBitsToInt(-(intBitsToFloat(R126i.w)) + 1.0);
PV1i.w = R125i.w;
PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w));
// 12
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[6].x) + intBitsToFloat(PV1i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[6].y) + intBitsToFloat(PV1i.z)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[6].z) + intBitsToFloat(PV1i.y)));
PV0i.z = R123i.z;
R3i.w = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS1i));
PV0i.w = R3i.w;
PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R126i.z)));
// 13
R123i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedPS[7].x) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedPS[7].y) + intBitsToFloat(PV0i.y)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedPS[7].z) + intBitsToFloat(PV0i.z)));
PV1i.z = R123i.z;
R126i.w = floatBitsToInt((intBitsToFloat(R125i.x) * intBitsToFloat(R126i.x) + intBitsToFloat(PS0i)));
PV1i.w = R126i.w;
PS1i = floatBitsToInt(1.0 / -(intBitsToFloat(PV0i.w)));
// 14
redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId);
R5i.x = floatBitsToInt(cubeMapSTM.x);
R5i.y = floatBitsToInt(cubeMapSTM.y);
R5i.z = floatBitsToInt(cubeMapSTM.z);
R5i.w = cubeMapFaceId;
PV0i.x = R5i.x;
PV0i.y = R5i.y;
PV0i.z = R5i.z;
PV0i.w = R5i.w;
PS0i = floatBitsToInt(intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(PS1i));
// 15
backupReg0i = R125i.y;
R123i.x = floatBitsToInt((intBitsToFloat(R124i.y) * intBitsToFloat(R127i.w) + intBitsToFloat(R126i.w)));
PV1i.x = R123i.x;
R125i.y = floatBitsToInt(intBitsToFloat(R9i.y) + 0.0);
PV1i.y = R125i.y;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS0i)));
R124i.z = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z)));
PS1i = R124i.z;
// 16
backupReg0i = R8i.x;
backupReg1i = R8i.y;
backupReg2i = R5i.x;
R8i.x = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(PV1i.z) + intBitsToFloat(backupReg0i)));
PV0i.x = R8i.x;
R8i.y = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(PV1i.w) + intBitsToFloat(backupReg1i)));
PV0i.y = R8i.y;
PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x))));
PV0i.z = clampFI32(PV0i.z);
R2i.w = floatBitsToInt(intBitsToFloat(R9i.z) + 0.0);
PV0i.w = R2i.w;
R5i.x = floatBitsToInt((intBitsToFloat(backupReg2i) * intBitsToFloat(PS1i) + intBitsToFloat(0x3fc00000)));
PS0i = R5i.x;
// 17
backupReg0i = R5i.y;
R9i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0);
PV1i.x = R9i.x;
R5i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R124i.z) + intBitsToFloat(0x3fc00000)));
PV1i.y = R5i.y;
R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(uf_remappedPS[8].x)));
PV1i.z = R9i.z;
R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].x), intBitsToFloat(R4i.y)));
PV1i.w = R0i.w;
R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].y), intBitsToFloat(R125i.y)));
PS1i = R4i.y;
R5i.xyzw = floatBitsToInt(texture(textureUnitPS4, vec4(redcCUBEReverse(intBitsToFloat(R5i.yx),R5i.w),cubeMapArrayIndex4)).xyzw);
R8i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R8i.xy)).xyz);
// 0
R125i.x = floatBitsToInt(-(intBitsToFloat(R1i.w)) + -(intBitsToFloat(R3i.w)));
PV0i.x = R125i.x;
R125i.y = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(uf_remappedPS[10].z) + -(intBitsToFloat(R8i.z))));
PV0i.y = R125i.y;
R124i.z = floatBitsToInt((intBitsToFloat(R5i.y) * intBitsToFloat(uf_remappedPS[10].y) + -(intBitsToFloat(R8i.y))));
PV0i.z = R124i.z;
R125i.w = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(uf_remappedPS[10].x) + -(intBitsToFloat(R8i.x))));
PV0i.w = R125i.w;
tempResultf = log2(intBitsToFloat(R9i.x));
if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F;
PS0i = floatBitsToInt(tempResultf);
// 1
R123i.x = floatBitsToInt((intBitsToFloat(R3i.y) * intBitsToFloat(uf_remappedPS[8].y) + intBitsToFloat(R9i.z)));
PV1i.x = R123i.x;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[11].y), intBitsToFloat(PS0i)));
// 2
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].z), intBitsToFloat(R2i.w)));
PV0i.x = R126i.x;
R123i.w = floatBitsToInt((intBitsToFloat(R3i.z) * intBitsToFloat(uf_remappedPS[8].z) + intBitsToFloat(PV1i.x)));
PV0i.w = R123i.w;
PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z)));
// 3
PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[11].x) + intBitsToFloat(PS0i));
PV1i.x = clampFI32(PV1i.x);
PV1i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[8].w)) + intBitsToFloat(PV0i.w));
// 4
backupReg0i = R125i.y;
R123i.x = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(PV1i.x) + intBitsToFloat(R8i.x)));
PV0i.x = R123i.x;
R125i.y = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(uf_remappedPS[12].w) + intBitsToFloat(uf_remappedPS[9].w)));
R125i.y = clampFI32(R125i.y);
PV0i.y = R125i.y;
R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(PV1i.x) + intBitsToFloat(R8i.z)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R124i.z) * intBitsToFloat(PV1i.x) + intBitsToFloat(R8i.y)));
PV0i.w = R123i.w;
// 5
R123i.x = floatBitsToInt((intBitsToFloat(R4i.y) * intBitsToFloat(PV0i.w) + 0.0));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R0i.w) * intBitsToFloat(PV0i.x) + 0.0));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[13].w)) + 0.0);
R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0);
R127i.z = clampFI32(R127i.z);
PV1i.z = R127i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(PV0i.z) + 0.0));
PV1i.w = R123i.w;
R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(R125i.x)));
R0i.w = clampFI32(R0i.w);
PS1i = R0i.w;
// 6
R126i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].z) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.w)));
PV0i.x = R126i.x;
R124i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].y) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.x)));
PV0i.y = R124i.y;
R124i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].x) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.y)));
PV0i.z = R124i.z;
// 7
PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(uf_remappedPS[12].x));
PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(uf_remappedPS[12].z));
PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(uf_remappedPS[12].y));
// 8
R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(R125i.y) + intBitsToFloat(R124i.y)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R125i.y) + intBitsToFloat(R124i.z)));
PV0i.y = R123i.y;
R123i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R125i.y) + intBitsToFloat(R126i.x)));
PV0i.w = R123i.w;
// 9
PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.w));
PV1i.y = floatBitsToInt(-(intBitsToFloat(R124i.y)) + intBitsToFloat(PV0i.x));
PV1i.z = floatBitsToInt(-(intBitsToFloat(R124i.z)) + intBitsToFloat(PV0i.y));
// 10
R0i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R127i.z) + intBitsToFloat(R124i.z)));
PV0i.x = R0i.x;
R0i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(R127i.z) + intBitsToFloat(R124i.y)));
PV0i.y = R0i.y;
R0i.z = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R127i.z) + intBitsToFloat(R126i.x)));
PV0i.z = R0i.z;
// export
passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w));
}

View File

@ -0,0 +1,142 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 1920.0; //overwidth value.0
const float overwriteHeight = 1080.0;
// shader b96e10151a15e243
uniform ivec4 uf_remappedPS[9];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
layout(location = 0) out vec4 passPixelColor0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
R1i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R1i.xy = floatBitsToInt(intBitsToFloat(R1i.xy) / scaleFactor);
backupReg0i = R1i.x;
backupReg1i = R1i.y;
R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R1i.x;
R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R1i.y;
R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.z = R2i.z;
R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV0i.w = R1i.w;
R1i.z = floatBitsToInt(1.0 / intBitsToFloat(R0i.z));
PS0i = R1i.z;
R1i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).x);
// 0
backupReg0i = R0i.x;
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x), 1.0));
R123i.y = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PV0i.y = R123i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R1i.z));
PV0i.z = R127i.z;
PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y), 1.0));
R127i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R1i.z));
PS0i = R127i.w;
// 1
R123i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[2].x) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[2].w) + intBitsToFloat(R2i.z)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[2].z) + intBitsToFloat(R1i.w)));
PV1i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[2].y) + intBitsToFloat(PV0i.w)));
PV1i.w = R123i.w;
// 2
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[3].x) + intBitsToFloat(PV1i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(PV1i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(PV1i.z)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[3].y) + intBitsToFloat(PV1i.w)));
PV0i.w = R123i.w;
// 3
backupReg0i = R127i.w;
R127i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(PV0i.x)));
PV1i.x = R127i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV0i.y)));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV0i.z)));
PV1i.z = R127i.z;
R127i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedPS[4].y) + intBitsToFloat(PV0i.w)));
PV1i.w = R127i.w;
// 4
R126i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(uf_remappedPS[6].y));
PV0i.y = R126i.y;
R126i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[5].x)) + intBitsToFloat(uf_remappedPS[6].x));
PV0i.z = R126i.z;
PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y));
// 5
backupReg0i = R127i.x;
R127i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(uf_remappedPS[6].z));
PV1i.x = R127i.x;
R127i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i));
PV1i.y = R127i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS0i));
PV1i.z = R127i.z;
PV1i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i));
// 6
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedPS[7].x)));
R125i.y = floatBitsToInt(-(intBitsToFloat(R0i.w)) + -(intBitsToFloat(PV1i.y)));
PV0i.y = R125i.y;
// 7
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[7].y) + intBitsToFloat(PV0i.x)));
PV1i.w = R123i.w;
// 8
R123i.z = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedPS[7].z) + intBitsToFloat(PV1i.w)));
PV0i.z = R123i.z;
// 9
PV1i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[7].w)) + intBitsToFloat(PV0i.z));
// 10
PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[6].w)));
PV0i.w = clampFI32(PV0i.w);
// 11
R0i.x = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(PV0i.w) + intBitsToFloat(uf_remappedPS[5].x)));
PV1i.x = R0i.x;
R0i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(PV0i.w) + intBitsToFloat(uf_remappedPS[5].y)));
PV1i.y = R0i.y;
R0i.z = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(PV0i.w) + intBitsToFloat(uf_remappedPS[5].z)));
PV1i.z = R0i.z;
// 12
R0i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(uf_remappedPS[8].w)));
R0i.w = clampFI32(R0i.w);
PV0i.w = R0i.w;
// export
passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w));
}

View File

@ -0,0 +1,105 @@
#version 400 // water tropical freeze
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 1920.0; //overwidth value.0
const float overwriteHeight = 1080.0;
// shader b978b87d9600dc63
uniform ivec4 uf_remappedPS[6];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
layout(location = 0) out vec4 passPixelColor0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
R1i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R1i.xy = floatBitsToInt(intBitsToFloat(R1i.xy) / scaleFactor);
backupReg0i = R1i.x;
backupReg1i = R1i.y;
R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R1i.x;
R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R1i.y;
R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV0i.z = R2i.z;
R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.w = R1i.w;
R1i.z = floatBitsToInt(1.0 / intBitsToFloat(R0i.z));
PS0i = R1i.z;
R1i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).x);
// 0
R3i.x = uf_remappedPS[2].x;
PV0i.x = R3i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PV0i.y = R123i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R1i.z));
PV0i.z = R127i.z;
R127i.w = floatBitsToInt(intBitsToFloat(R0i.x) * intBitsToFloat(R1i.z));
PV0i.w = R127i.w;
R3i.y = uf_remappedPS[2].y;
PS0i = R3i.y;
// 1
R123i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(R1i.w)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(R2i.z)));
PV1i.z = R123i.z;
R3i.z = uf_remappedPS[2].z;
PS1i = R3i.z;
// 2
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV1i.z)));
PV0i.x = R123i.x;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV1i.y)));
PV0i.w = R123i.w;
// 3
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(PV0i.w)));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[5].z) + intBitsToFloat(PV0i.x)));
PV1i.z = R127i.z;
// 4
PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y));
// 5
PV1i.w = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i));
// 6
PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.w)) + -(intBitsToFloat(PV1i.w)));
// 7
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(PV0i.z)));
PV1i.x = clampFI32(PV1i.x);
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[2].w)));
PV1i.y = clampFI32(PV1i.y);
// 8
R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x)));
PV0i.w = R3i.w;
// export
passPixelColor0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w));
}

View File

@ -0,0 +1,105 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 1920.0; //overwidth value.0
const float overwriteHeight = 1080.0;
// shader d878b867ab805ffa
uniform ivec4 uf_remappedPS[6];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
layout(location = 0) out vec4 passPixelColor0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
R1i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R1i.xy = floatBitsToInt(intBitsToFloat(R1i.xy) / scaleFactor);
backupReg0i = R1i.x;
backupReg1i = R1i.y;
R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R1i.x;
R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R1i.y;
R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV0i.z = R2i.z;
R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.w = R1i.w;
R1i.z = floatBitsToInt(1.0 / intBitsToFloat(R0i.z));
PS0i = R1i.z;
R1i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).x);
// 0
R3i.x = uf_remappedPS[2].x;
PV0i.x = R3i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PV0i.y = R123i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R1i.z));
PV0i.z = R127i.z;
R127i.w = floatBitsToInt(intBitsToFloat(R0i.x) * intBitsToFloat(R1i.z));
PV0i.w = R127i.w;
R3i.y = uf_remappedPS[2].y;
PS0i = R3i.y;
// 1
R123i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(R1i.w)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(R2i.z)));
PV1i.z = R123i.z;
R3i.z = uf_remappedPS[2].z;
PS1i = R3i.z;
// 2
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV1i.z)));
PV0i.x = R123i.x;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV1i.y)));
PV0i.w = R123i.w;
// 3
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(PV0i.w)));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[5].z) + intBitsToFloat(PV0i.x)));
PV1i.z = R127i.z;
// 4
PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y));
// 5
PV1i.w = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i));
// 6
PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.w)) + -(intBitsToFloat(PV1i.w)));
// 7
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(PV0i.z)));
PV1i.x = clampFI32(PV1i.x);
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[2].w)));
PV1i.y = clampFI32(PV1i.y);
// 8
R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x)));
PV0i.w = R3i.w;
// export
passPixelColor0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w));
}

View File

@ -0,0 +1,505 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 2560.0; //overwidth value.0
const float overwriteHeight = 1440.0;
// shader 1bfa8cd906df24d9
uniform ivec4 uf_remappedPS[14];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
uniform sampler2D textureUnitPS1;// Tex1 addr 0x34958000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS2;// Tex2 addr 0x35828000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS3;// Tex3 addr 0x19ba0000 res 256x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 0 border: 0
uniform samplerCubeArray textureUnitPS4;// Tex4 addr 0x34328000 res 128x128x1 dim 3 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x6) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
uniform sampler2D textureUnitPS5;// Tex5 addr 0xf4708800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
in vec4 passParameter2;
in vec4 passParameter3;
in vec4 passParameter4;
in vec4 passParameter5;
in vec4 passParameter6;
layout(location = 0) out vec4 passPixelColor0;
void redcCUBE(vec4 src0, vec4 src1, inout vec3 stm, inout int faceId)
{
// stm -> x .. s, y .. t, z .. MajorAxis*2.0
vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x));
float rx = inputCoord.x;
float ry = inputCoord.y;
float rz = inputCoord.z;
if( abs(rx) > abs(ry) && abs(rx) > abs(rz) )
{
stm.z = rx*2.0;
stm.xy = vec2(ry,rz);
if( rx >= 0.0 )
{
faceId = 0;
}
else
{
faceId = 1;
}
}
else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) )
{
stm.z = ry*2.0;
stm.xy = vec2(rx,rz);
if( ry >= 0.0 )
{
faceId = 2;
}
else
{
faceId = 3;
}
}
else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) )
{
stm.z = rz*2.0;
stm.xy = vec2(rx,ry);
if( rz >= 0.0 )
{
faceId = 4;
}
else
{
faceId = 5;
}
}
}
vec3 redcCUBEReverse(vec2 st, int faceId)
{
st.yx = st.xy;
vec3 v;
float majorAxis = 1.0;
if( faceId == 0 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = 1.0;
}
else if( faceId == 1 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = -1.0;
}
else if( faceId == 2 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = 1.0;
}
else if( faceId == 3 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = -1.0;
}
else if( faceId == 4 )
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = 1.0;
}
else
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = -1.0;
}
return v;
}
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R4i = ivec4(0);
ivec4 R5i = ivec4(0);
ivec4 R6i = ivec4(0);
ivec4 R7i = ivec4(0);
ivec4 R8i = ivec4(0);
ivec4 R9i = ivec4(0);
ivec4 R122i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R124i = ivec4(0);
ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
float cubeMapArrayIndex4 = 0.0;
R6i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
R1i = floatBitsToInt(passParameter2);
R2i = floatBitsToInt(passParameter3);
R3i = floatBitsToInt(passParameter4);
R4i = floatBitsToInt(passParameter5);
R5i = floatBitsToInt(passParameter6);
R7i.xy = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xy);
R4i.xy = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.zw)).xy);
R8i.xyz = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R5i.xy)).xyz);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
// //R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS1, intBitsToFloat(R0i.xy)).wzxy);
//vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(textureGather(textureUnitPS5.x), textureGather(textureUnitPS5.y));
R6i.xy = floatBitsToInt(intBitsToFloat(R6i.xy) / scaleFactor);
R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R9i.x;
R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R9i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R4i.x) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV0i.w = R123i.w;
R127i.w = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3fff0000) + -(1.0)));
PS0i = R127i.w;
// 1
R6i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w));
PV1i.x = R6i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R4i.y) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV1i.y = R123i.y;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w)));
R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R1i.z));
PS1i = R126i.w;
// 2
R4i.x = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.y));
PV0i.x = R4i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.z)));
R123i.y = clampFI32(R123i.y);
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.w)));
R123i.z = clampFI32(R123i.z);
PV0i.z = R123i.z;
R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.w = R4i.w;
R5i.z = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(PS1i));
PS0i = R5i.z;
// 3
R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0);
PV1i.x = R127i.x;
R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV1i.y = R7i.y;
R6i.z = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R126i.w));
PV1i.z = R6i.z;
PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0);
R127i.y = floatBitsToInt(max(intBitsToFloat(R9i.x), -(intBitsToFloat(R9i.x))));
R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) / 2.0);
PS1i = R127i.y;
// 4
backupReg0i = R0i.y;
backupReg0i = R0i.y;
backupReg1i = R0i.z;
backupReg1i = R0i.z;
R126i.x = floatBitsToInt(intBitsToFloat(R0i.x) * intBitsToFloat(R0i.x) + intBitsToFloat(backupReg0i) * intBitsToFloat(backupReg0i) + intBitsToFloat(backupReg1i) * intBitsToFloat(backupReg1i) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = R126i.x;
PV0i.y = R126i.x;
PV0i.z = R126i.x;
PV0i.w = R126i.x;
R127i.z = floatBitsToInt(sqrt(intBitsToFloat(PV1i.w)));
PS0i = R127i.z;
// 5
tempi.x = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(R2i.x) + intBitsToFloat(R2i.y) * intBitsToFloat(R2i.y) + intBitsToFloat(R2i.z) * intBitsToFloat(R2i.z) + intBitsToFloat(0x80000000) * 0.0);
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R4i.y = tempi.x;
PS1i = floatBitsToInt(sqrt(intBitsToFloat(R127i.x)));
// 6
R5i.x = floatBitsToInt(max(intBitsToFloat(R9i.y), -(intBitsToFloat(R9i.y))));
R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) / 2.0);
PV0i.x = R5i.x;
R5i.y = floatBitsToInt(intBitsToFloat(R127i.y) + -(intBitsToFloat(0x3ee66666)));
PV0i.y = R5i.y;
R4i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PS1i));
PV0i.z = R4i.z;
R0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + 0.0);
PV0i.w = R0i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.x));
R6i.y = floatBitsToInt(tempResultf);
PS0i = R6i.y;
R7i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R9i.xy)).x);
// 0
tempi.x = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(R6i.x) + intBitsToFloat(R4i.x) * intBitsToFloat(R4i.x) + intBitsToFloat(R4i.z) * intBitsToFloat(R4i.z) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
tempResultf = 1.0 / sqrt(intBitsToFloat(R4i.y));
R126i.w = floatBitsToInt(tempResultf);
PS0i = R126i.w;
// 1
backupReg0i = R0i.x;
R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R6i.y)));
PV1i.x = R0i.x;
R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PS0i)));
PV1i.y = R125i.y;
R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R6i.y)));
PV1i.z = R125i.z;
R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R6i.y)));
PV1i.w = R125i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x));
R127i.z = floatBitsToInt(tempResultf);
PS1i = R127i.z;
// 2
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R126i.w)));
PV0i.x = R126i.x;
R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PS1i)));
PV0i.y = R127i.y;
R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R126i.w)));
PV0i.z = R126i.z;
PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.y)));
R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PS1i)));
PS0i = R127i.w;
// 3
backupReg0i = R0i.x;
backupReg0i = R0i.x;
backupReg1i = R127i.z;
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV0i.y)));
R123i.y = floatBitsToInt((-(intBitsToFloat(PV0i.x)) * intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.w)));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.z)));
PV1i.z = R127i.z;
R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV0i.x)));
PV1i.w = R126i.w;
R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(backupReg1i)));
PS1i = R127i.x;
// 4
tempi.x = floatBitsToInt(intBitsToFloat(R3i.x) * intBitsToFloat(R3i.x) + intBitsToFloat(R3i.y) * intBitsToFloat(R3i.y) + intBitsToFloat(R3i.z) * intBitsToFloat(R3i.z) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R126i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.x)));
PS0i = R126i.y;
// 5
backupReg0i = R0i.x;
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R127i.y)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R127i.y)));
R123i.z = floatBitsToInt((-(intBitsToFloat(R126i.z)) * intBitsToFloat(R125i.z) + intBitsToFloat(R126i.w)));
PV1i.z = R123i.z;
R123i.w = floatBitsToInt((-(intBitsToFloat(R125i.y)) * intBitsToFloat(R125i.w) + intBitsToFloat(R127i.z)));
PV1i.w = R123i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x));
R126i.w = floatBitsToInt(tempResultf);
PS1i = R126i.w;
// 6
R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PS1i)));
PV0i.x = R124i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.x)));
PV0i.z = R123i.z;
R127i.w = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(R126i.z) + intBitsToFloat(R126i.y)));
PV0i.w = R127i.w;
R125i.x = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PS0i = R125i.x;
// 7
backupReg0i = R127i.x;
backupReg0i = R127i.x;
backupReg1i = R125i.y;
R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R126i.w)));
PV1i.x = R127i.x;
R125i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.z)));
PV1i.y = R125i.y;
R126i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(backupReg1i) + intBitsToFloat(PV0i.y)));
PV1i.z = R126i.z;
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.x)));
R122i.x = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedPS[2].w) + intBitsToFloat(R4i.w)));
PS1i = R122i.x;
// 8
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R126i.w)));
PV0i.x = R126i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R125i.x) * intBitsToFloat(uf_remappedPS[2].z) + intBitsToFloat(R7i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(PS1i)));
PV0i.w = R123i.w;
PS0i = floatBitsToInt(intBitsToFloat(R5i.x) + -(intBitsToFloat(0x3ee66666)));
// 9
R123i.x = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV0i.w)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z))*2.0);
PV1i.y = R123i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(0x41a00000));
R127i.z = clampFI32(R127i.z);
PV1i.z = R127i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(PV0i.y)));
PV1i.w = R123i.w;
R125i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x41a00000));
R125i.x = clampFI32(R125i.x);
PS1i = R125i.x;
// 10
backupReg0i = R126i.z;
R123i.x = floatBitsToInt((-(intBitsToFloat(R127i.w)) * intBitsToFloat(PV1i.y) + intBitsToFloat(R124i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV1i.w)));
PV0i.y = R123i.y;
R126i.z = floatBitsToInt((-(intBitsToFloat(backupReg0i)) * intBitsToFloat(PV1i.y) + intBitsToFloat(R126i.x)));
PV0i.z = R126i.z;
R126i.w = floatBitsToInt((-(intBitsToFloat(R125i.y)) * intBitsToFloat(PV1i.y) + intBitsToFloat(R127i.x)));
PV0i.w = R126i.w;
PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x));
// 11
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].z)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].x)));
R6i.z = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(PS0i));
PV1i.z = R6i.z;
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].y)));
R124i.z = floatBitsToInt(-(intBitsToFloat(R127i.z)) + 1.0);
PS1i = R124i.z;
// 12
R123i.x = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedPS[6].x) + intBitsToFloat(PV1i.y)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedPS[6].z) + intBitsToFloat(PV1i.x)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedPS[6].y) + intBitsToFloat(PV1i.w)));
PV0i.z = R123i.z;
R126i.w = floatBitsToInt(-(intBitsToFloat(R125i.x)) + 1.0);
PV0i.w = R126i.w;
R127i.z = floatBitsToInt(1.0 / -(intBitsToFloat(PV1i.z)));
PS0i = R127i.z;
// 13
backupReg0i = R125i.w;
R123i.x = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedPS[7].x) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedPS[7].y) + intBitsToFloat(PV0i.z)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedPS[7].z) + intBitsToFloat(PV0i.y)));
PV1i.z = R123i.z;
R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R124i.x)));
PV1i.w = R125i.w;
R126i.y = floatBitsToInt(intBitsToFloat(R8i.y) + 0.0);
PS1i = R126i.y;
// 14
redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId);
R5i.x = floatBitsToInt(cubeMapSTM.x);
R5i.y = floatBitsToInt(cubeMapSTM.y);
R5i.z = floatBitsToInt(cubeMapSTM.z);
R5i.w = cubeMapFaceId;
PV0i.x = R5i.x;
PV0i.y = R5i.y;
PV0i.z = R5i.z;
PV0i.w = R5i.w;
PS0i = floatBitsToInt(intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(R127i.z));
// 15
backupReg0i = R127i.x;
backupReg1i = R125i.y;
R127i.x = floatBitsToInt((intBitsToFloat(R125i.z) * intBitsToFloat(backupReg0i) + intBitsToFloat(R125i.w)));
PV1i.x = R127i.x;
R125i.y = floatBitsToInt(intBitsToFloat(R8i.z) + 0.0);
PV1i.y = R125i.y;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS0i)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS0i)));
R127i.w = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z)));
PS1i = R127i.w;
// 16
backupReg0i = R9i.x;
backupReg1i = R9i.y;
backupReg2i = R0i.w;
backupReg3i = R5i.x;
R9i.x = floatBitsToInt((intBitsToFloat(R124i.z) * intBitsToFloat(PV1i.z) + intBitsToFloat(backupReg0i)));
PV0i.x = R9i.x;
R9i.y = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(PV1i.w) + intBitsToFloat(backupReg1i)));
PV0i.y = R9i.y;
R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].y), intBitsToFloat(R126i.y)));
PV0i.z = R8i.z;
R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].x), intBitsToFloat(backupReg2i)));
PV0i.w = R0i.w;
R5i.x = floatBitsToInt((intBitsToFloat(backupReg3i) * intBitsToFloat(PS1i) + intBitsToFloat(0x3fc00000)));
PS0i = R5i.x;
// 17
backupReg0i = R5i.y;
backupReg1i = R1i.w;
R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].z), intBitsToFloat(R125i.y)));
PV1i.x = R1i.x;
R5i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R127i.w) + intBitsToFloat(0x3fc00000)));
PV1i.y = R5i.y;
R1i.z = floatBitsToInt((intBitsToFloat(R1i.w) * intBitsToFloat(uf_remappedPS[9].x) + intBitsToFloat(uf_remappedPS[9].y)));
R1i.z = clampFI32(R1i.z);
PV1i.z = R1i.z;
R1i.w = floatBitsToInt((intBitsToFloat(R0i.x) * intBitsToFloat(R126i.x) + intBitsToFloat(R127i.x)));
PV1i.w = R1i.w;
R0i.x = floatBitsToInt(-(intBitsToFloat(backupReg1i)) + -(intBitsToFloat(R6i.z)));
PS1i = R0i.x;
R9i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R9i.xy)).xyz);
R5i.xyzw = floatBitsToInt(texture(textureUnitPS4, vec4(redcCUBEReverse(intBitsToFloat(R5i.yx),R5i.w),cubeMapArrayIndex4)).xyzw);
// 0
R127i.x = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(uf_remappedPS[10].x) + -(intBitsToFloat(R9i.x))));
PV0i.x = R127i.x;
R125i.y = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(uf_remappedPS[10].z) + -(intBitsToFloat(R9i.z))));
PV0i.y = R125i.y;
PV0i.z = floatBitsToInt(max(intBitsToFloat(R1i.w), -(intBitsToFloat(R1i.w))));
PV0i.z = clampFI32(PV0i.z);
R127i.w = floatBitsToInt((intBitsToFloat(R5i.y) * intBitsToFloat(uf_remappedPS[10].y) + -(intBitsToFloat(R9i.y))));
PV0i.w = R127i.w;
// 1
PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0);
R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(R0i.x)));
R6i.w = clampFI32(R6i.w);
PV1i.w = R6i.w;
// 2
tempResultf = log2(intBitsToFloat(PV1i.y));
if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F;
PS0i = floatBitsToInt(tempResultf);
// 3
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[11].y), intBitsToFloat(PS0i)));
// 4
PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.w)));
// 5
PV1i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[11].x) + intBitsToFloat(PS0i));
PV1i.y = clampFI32(PV1i.y);
// 6
R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(PV1i.y) + intBitsToFloat(R9i.y)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(PV1i.y) + intBitsToFloat(R9i.x)));
PV0i.y = R123i.y;
R123i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(PV1i.y) + intBitsToFloat(R9i.z)));
PV0i.w = R123i.w;
// 7
R123i.x = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(PV0i.w) + 0.0));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R8i.z) * intBitsToFloat(PV0i.x) + 0.0));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R0i.w) * intBitsToFloat(PV0i.y) + 0.0));
PV1i.z = R123i.z;
// 8
R125i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[12].z) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.x)));
PV0i.y = R125i.y;
R124i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[12].y) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.y)));
PV0i.z = R124i.z;
R127i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[12].x) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.z)));
PV0i.w = R127i.w;
// 9
PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(uf_remappedPS[13].z));
PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(uf_remappedPS[13].y));
PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(uf_remappedPS[13].x));
// 10
R6i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R1i.z) + intBitsToFloat(R127i.w)));
PV0i.x = R6i.x;
R6i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(R1i.z) + intBitsToFloat(R124i.z)));
PV0i.y = R6i.y;
R6i.z = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R1i.z) + intBitsToFloat(R125i.y)));
PV0i.z = R6i.z;
// export
passPixelColor0 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w));
}

View File

@ -0,0 +1,122 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 2560.0; //overwidth value.0
const float overwriteHeight = 1440.0;
// shader 76e37ae2a66fcff2
uniform ivec4 uf_remappedPS[2];
uniform sampler2D textureUnitPS0;// Tex0 addr 0x19fc6000 res 128x128x1 dim 1 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4708800 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: 0
uniform sampler2D textureUnitPS2;// Tex2 addr 0x19fc2000 res 64x64x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0
in Vertex2
{
vec4 passG2PParameter0;
vec4 passG2PParameter1;
vec4 passG2PParameter2;
vec4 passG2PParameter3;
} g2p;
layout(location = 0) out vec4 passPixelColor0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R4i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
R4i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(g2p.passG2PParameter0);
R1i = floatBitsToInt(g2p.passG2PParameter1);
R2i = floatBitsToInt(g2p.passG2PParameter2);
R3i = floatBitsToInt(g2p.passG2PParameter3);
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R4i.xy = floatBitsToInt(intBitsToFloat(R4i.xy) / scaleFactor);
R2i.xy = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R2i.xy)).xy);
R1i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).xyzw);
// 0
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(0x437f0000)));
PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(0x437f0000)));
PV0i.z = R3i.x;
PV0i.z = clampFI32(PV0i.z);
PV0i.w = R3i.y;
PV0i.w = clampFI32(PV0i.w);
R127i.x = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[0].x));
PS0i = R127i.x;
// 1
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[0].z)));
PV1i.x = R126i.x;
R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[0].z)));
PV1i.y = R127i.y;
PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3b800000));
PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0);
PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3b800000));
PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0);
PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[0].y));
// 2
backupReg0i = R0i.x;
PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0));
PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + -(1.0));
R127i.z = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(PS1i));
PV0i.z = R127i.z;
R127i.w = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(R127i.x));
PV0i.w = R127i.w;
R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[1].x)));
PS0i = R2i.w;
// 3
backupReg0i = R0i.w;
R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(uf_remappedPS[1].x)));
PV1i.x = R4i.x;
R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(uf_remappedPS[1].x)));
PV1i.y = R4i.y;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R127i.y)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.x)));
R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R1i.w)));
PS1i = R3i.w;
// 4
R0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R127i.w));
PV0i.x = R0i.x;
PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)));
// 5
R0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R127i.z));
PV1i.y = R0i.y;
R0i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R0i.xy)).xyz);
// 0
backupReg0i = R0i.y;
backupReg1i = R0i.x;
PV0i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(R0i.z));
PV0i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(backupReg0i));
PV0i.z = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(backupReg1i));
// 1
R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(PV0i.z)));
PV1i.x = R3i.x;
R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV0i.y)));
PV1i.y = R3i.y;
R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PV0i.x)));
PV1i.z = R3i.z;
// export
passPixelColor0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w));
}

View File

@ -0,0 +1,510 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 2560.0; //overwidth value.0
const float overwriteHeight = 1440.0;
// shader 940e6df8edff7c01
uniform ivec4 uf_remappedPS[15];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
uniform sampler2D textureUnitPS1;// Tex1 addr 0x2d3b2000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS2;// Tex2 addr 0x2df00000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS3;// Tex3 addr 0x21cc5000 res 512x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 0 border: 0
uniform samplerCubeArray textureUnitPS4;// Tex4 addr 0x2fd50000 res 128x128x1 dim 3 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x6) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
uniform sampler2D textureUnitPS5;// Tex5 addr 0xf4708800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
in vec4 passParameter2;
in vec4 passParameter3;
in vec4 passParameter4;
in vec4 passParameter5;
in vec4 passParameter6;
layout(location = 0) out vec4 passPixelColor0;
void redcCUBE(vec4 src0, vec4 src1, inout vec3 stm, inout int faceId)
{
// stm -> x .. s, y .. t, z .. MajorAxis*2.0
vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x));
float rx = inputCoord.x;
float ry = inputCoord.y;
float rz = inputCoord.z;
if( abs(rx) > abs(ry) && abs(rx) > abs(rz) )
{
stm.z = rx*2.0;
stm.xy = vec2(ry,rz);
if( rx >= 0.0 )
{
faceId = 0;
}
else
{
faceId = 1;
}
}
else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) )
{
stm.z = ry*2.0;
stm.xy = vec2(rx,rz);
if( ry >= 0.0 )
{
faceId = 2;
}
else
{
faceId = 3;
}
}
else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) )
{
stm.z = rz*2.0;
stm.xy = vec2(rx,ry);
if( rz >= 0.0 )
{
faceId = 4;
}
else
{
faceId = 5;
}
}
}
vec3 redcCUBEReverse(vec2 st, int faceId)
{
st.yx = st.xy;
vec3 v;
float majorAxis = 1.0;
if( faceId == 0 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = 1.0;
}
else if( faceId == 1 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = -1.0;
}
else if( faceId == 2 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = 1.0;
}
else if( faceId == 3 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = -1.0;
}
else if( faceId == 4 )
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = 1.0;
}
else
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = -1.0;
}
return v;
}
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R4i = ivec4(0);
ivec4 R5i = ivec4(0);
ivec4 R6i = ivec4(0);
ivec4 R7i = ivec4(0);
ivec4 R8i = ivec4(0);
ivec4 R9i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R124i = ivec4(0);
ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
float cubeMapArrayIndex4 = 0.0;
R6i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
R1i = floatBitsToInt(passParameter2);
R2i = floatBitsToInt(passParameter3);
R3i = floatBitsToInt(passParameter4);
R4i = floatBitsToInt(passParameter5);
R5i = floatBitsToInt(passParameter6);
R7i.xy = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xy);
R4i.xy = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.zw)).xy);
R9i.xyz = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R5i.xy)).xyz);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R6i.xy = floatBitsToInt(intBitsToFloat(R6i.xy) / scaleFactor);
R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R8i.x;
R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R8i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R4i.x) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV0i.w = R123i.w;
R127i.z = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3fff0000) + -(1.0)));
PS0i = R127i.z;
// 1
R4i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z));
PV1i.x = R4i.x;
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w)));
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z)));
R123i.w = floatBitsToInt((intBitsToFloat(R4i.y) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV1i.w = R123i.w;
R127i.w = floatBitsToInt(1.0 / intBitsToFloat(R1i.z));
PS1i = R127i.w;
// 2
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)));
R123i.x = clampFI32(R123i.x);
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)));
R123i.y = clampFI32(R123i.y);
PV0i.y = R123i.y;
R5i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w));
PV0i.z = R5i.z;
R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.w = R2i.w;
R7i.z = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(PS1i));
PS0i = R7i.z;
// 3
R5i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R127i.w));
PV1i.x = R5i.x;
R127i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0);
PV1i.y = R127i.y;
R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV1i.z = R6i.z;
PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0);
R127i.x = floatBitsToInt(max(intBitsToFloat(R8i.x), -(intBitsToFloat(R8i.x))));
R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) / 2.0);
PS1i = R127i.x;
// 4
backupReg0i = R0i.x;
backupReg0i = R0i.x;
backupReg1i = R0i.z;
backupReg1i = R0i.z;
tempi.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(backupReg0i) + intBitsToFloat(R0i.y) * intBitsToFloat(R0i.y) + intBitsToFloat(backupReg1i) * intBitsToFloat(backupReg1i) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R126i.y = tempi.x;
R127i.z = floatBitsToInt(sqrt(intBitsToFloat(PV1i.w)));
PS0i = R127i.z;
// 5
tempi.x = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(R2i.x) + intBitsToFloat(R2i.y) * intBitsToFloat(R2i.y) + intBitsToFloat(R2i.z) * intBitsToFloat(R2i.z) + intBitsToFloat(0x80000000) * 0.0);
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R4i.w = tempi.x;
PS1i = floatBitsToInt(sqrt(intBitsToFloat(R127i.y)));
// 6
R7i.x = floatBitsToInt(max(intBitsToFloat(R8i.y), -(intBitsToFloat(R8i.y))));
R7i.x = floatBitsToInt(intBitsToFloat(R7i.x) / 2.0);
PV0i.x = R7i.x;
R4i.y = floatBitsToInt(intBitsToFloat(R9i.x) + 0.0);
PV0i.y = R4i.y;
R4i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PS1i));
PV0i.z = R4i.z;
R3i.w = floatBitsToInt(intBitsToFloat(R127i.x) + -(intBitsToFloat(0x3ee66666)));
PV0i.w = R3i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y));
R0i.w = floatBitsToInt(tempResultf);
PS0i = R0i.w;
R6i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R8i.xy)).x);
// 0
tempi.x = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(R4i.x) + intBitsToFloat(R5i.z) * intBitsToFloat(R5i.z) + intBitsToFloat(R4i.z) * intBitsToFloat(R4i.z) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
tempResultf = 1.0 / sqrt(intBitsToFloat(R4i.w));
R127i.z = floatBitsToInt(tempResultf);
PS0i = R127i.z;
// 1
R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R0i.w)));
PV1i.x = R125i.x;
R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)));
PV1i.y = R124i.y;
R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R0i.w)));
PV1i.z = R125i.z;
R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PS0i)));
PV1i.w = R125i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x));
R127i.x = floatBitsToInt(tempResultf);
PS1i = R127i.x;
// 2
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R127i.z)));
PV0i.x = R126i.x;
R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R127i.z)));
PV0i.y = R127i.y;
PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w)));
R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PS1i)));
PV0i.w = R127i.w;
R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i)));
PS0i = R126i.y;
// 3
backupReg0i = R127i.x;
R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PV0i.x)));
PV1i.x = R127i.x;
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PV0i.w)));
R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PV0i.y)));
PV1i.z = R127i.z;
R123i.w = floatBitsToInt((-(intBitsToFloat(PV0i.y)) * intBitsToFloat(R124i.y) + intBitsToFloat(PV0i.z)));
PV1i.w = R123i.w;
R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(backupReg0i)));
PS1i = R126i.w;
// 4
tempi.x = floatBitsToInt(intBitsToFloat(R3i.x) * intBitsToFloat(R3i.x) + intBitsToFloat(R3i.y) * intBitsToFloat(R3i.y) + intBitsToFloat(R3i.z) * intBitsToFloat(R3i.z) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R126i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.y)));
PS0i = R126i.z;
// 5
R123i.x = floatBitsToInt((-(intBitsToFloat(R126i.x)) * intBitsToFloat(R125i.x) + intBitsToFloat(R127i.z)));
PV1i.x = R123i.x;
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R127i.w)));
R123i.z = floatBitsToInt((-(intBitsToFloat(R125i.w)) * intBitsToFloat(R125i.z) + intBitsToFloat(R127i.x)));
PV1i.z = R123i.z;
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(R127i.w)));
tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x));
R127i.z = floatBitsToInt(tempResultf);
PS1i = R127i.z;
// 6
R123i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.w)));
PV0i.x = R123i.x;
R125i.y = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(R126i.x) + intBitsToFloat(R126i.z)));
PV0i.y = R125i.y;
R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PS1i)));
PV0i.z = R126i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.y)));
PV0i.w = R123i.w;
R127i.w = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PS0i = R127i.w;
// 7
backupReg0i = R125i.w;
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R127i.z)));
PV1i.x = R126i.x;
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.z)));
R124i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(R127i.y) + intBitsToFloat(PV0i.x)));
PV1i.z = R124i.z;
R125i.w = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.w)));
PV1i.w = R125i.w;
R126i.w = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedPS[2].w) + intBitsToFloat(R2i.w)));
PS1i = R126i.w;
// 8
R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[2].z) + intBitsToFloat(R6i.z)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.y)));
PV0i.y = R123i.y;
PV0i.z = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(0x3ee66666)));
R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R127i.z)));
PV0i.w = R127i.w;
PS0i = floatBitsToInt(intBitsToFloat(R3i.w) * intBitsToFloat(0x41a00000));
PS0i = clampFI32(PS0i);
// 9
R123i.x = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.y))*2.0);
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(R126i.w)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(PV0i.x)));
PV1i.z = R123i.z;
R126i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x41a00000));
R126i.w = clampFI32(R126i.w);
PV1i.w = R126i.w;
R124i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0);
PS1i = R124i.w;
// 10
R123i.x = floatBitsToInt((-(intBitsToFloat(R125i.y)) * intBitsToFloat(PV1i.x) + intBitsToFloat(R126i.z)));
PV0i.x = R123i.x;
R127i.y = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV1i.z)));
PV0i.y = R127i.y;
R127i.z = floatBitsToInt((-(intBitsToFloat(R124i.z)) * intBitsToFloat(PV1i.x) + intBitsToFloat(R126i.x)));
PV0i.z = R127i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV1i.y)));
PV0i.w = R123i.w;
R126i.y = floatBitsToInt((-(intBitsToFloat(R125i.w)) * intBitsToFloat(PV1i.x) + intBitsToFloat(R127i.w)));
PS0i = R126i.y;
// 11
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].x)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].z)));
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].y)));
R125i.w = floatBitsToInt(-(intBitsToFloat(R126i.w)) + 1.0);
PV1i.w = R125i.w;
PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w));
// 12
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[6].x) + intBitsToFloat(PV1i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[6].y) + intBitsToFloat(PV1i.z)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[6].z) + intBitsToFloat(PV1i.y)));
PV0i.z = R123i.z;
R3i.w = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS1i));
PV0i.w = R3i.w;
PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R126i.z)));
// 13
R123i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedPS[7].x) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedPS[7].y) + intBitsToFloat(PV0i.y)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedPS[7].z) + intBitsToFloat(PV0i.z)));
PV1i.z = R123i.z;
R126i.w = floatBitsToInt((intBitsToFloat(R125i.x) * intBitsToFloat(R126i.x) + intBitsToFloat(PS0i)));
PV1i.w = R126i.w;
PS1i = floatBitsToInt(1.0 / -(intBitsToFloat(PV0i.w)));
// 14
redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId);
R5i.x = floatBitsToInt(cubeMapSTM.x);
R5i.y = floatBitsToInt(cubeMapSTM.y);
R5i.z = floatBitsToInt(cubeMapSTM.z);
R5i.w = cubeMapFaceId;
PV0i.x = R5i.x;
PV0i.y = R5i.y;
PV0i.z = R5i.z;
PV0i.w = R5i.w;
PS0i = floatBitsToInt(intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(PS1i));
// 15
backupReg0i = R125i.y;
R123i.x = floatBitsToInt((intBitsToFloat(R124i.y) * intBitsToFloat(R127i.w) + intBitsToFloat(R126i.w)));
PV1i.x = R123i.x;
R125i.y = floatBitsToInt(intBitsToFloat(R9i.y) + 0.0);
PV1i.y = R125i.y;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS0i)));
R124i.z = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z)));
PS1i = R124i.z;
// 16
backupReg0i = R8i.x;
backupReg1i = R8i.y;
backupReg2i = R5i.x;
R8i.x = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(PV1i.z) + intBitsToFloat(backupReg0i)));
PV0i.x = R8i.x;
R8i.y = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(PV1i.w) + intBitsToFloat(backupReg1i)));
PV0i.y = R8i.y;
PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x))));
PV0i.z = clampFI32(PV0i.z);
R2i.w = floatBitsToInt(intBitsToFloat(R9i.z) + 0.0);
PV0i.w = R2i.w;
R5i.x = floatBitsToInt((intBitsToFloat(backupReg2i) * intBitsToFloat(PS1i) + intBitsToFloat(0x3fc00000)));
PS0i = R5i.x;
// 17
backupReg0i = R5i.y;
R9i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0);
PV1i.x = R9i.x;
R5i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R124i.z) + intBitsToFloat(0x3fc00000)));
PV1i.y = R5i.y;
R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(uf_remappedPS[8].x)));
PV1i.z = R9i.z;
R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].x), intBitsToFloat(R4i.y)));
PV1i.w = R0i.w;
R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].y), intBitsToFloat(R125i.y)));
PS1i = R4i.y;
R5i.xyzw = floatBitsToInt(texture(textureUnitPS4, vec4(redcCUBEReverse(intBitsToFloat(R5i.yx),R5i.w),cubeMapArrayIndex4)).xyzw);
R8i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R8i.xy)).xyz);
// 0
R125i.x = floatBitsToInt(-(intBitsToFloat(R1i.w)) + -(intBitsToFloat(R3i.w)));
PV0i.x = R125i.x;
R125i.y = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(uf_remappedPS[10].z) + -(intBitsToFloat(R8i.z))));
PV0i.y = R125i.y;
R124i.z = floatBitsToInt((intBitsToFloat(R5i.y) * intBitsToFloat(uf_remappedPS[10].y) + -(intBitsToFloat(R8i.y))));
PV0i.z = R124i.z;
R125i.w = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(uf_remappedPS[10].x) + -(intBitsToFloat(R8i.x))));
PV0i.w = R125i.w;
tempResultf = log2(intBitsToFloat(R9i.x));
if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F;
PS0i = floatBitsToInt(tempResultf);
// 1
R123i.x = floatBitsToInt((intBitsToFloat(R3i.y) * intBitsToFloat(uf_remappedPS[8].y) + intBitsToFloat(R9i.z)));
PV1i.x = R123i.x;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[11].y), intBitsToFloat(PS0i)));
// 2
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].z), intBitsToFloat(R2i.w)));
PV0i.x = R126i.x;
R123i.w = floatBitsToInt((intBitsToFloat(R3i.z) * intBitsToFloat(uf_remappedPS[8].z) + intBitsToFloat(PV1i.x)));
PV0i.w = R123i.w;
PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z)));
// 3
PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[11].x) + intBitsToFloat(PS0i));
PV1i.x = clampFI32(PV1i.x);
PV1i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[8].w)) + intBitsToFloat(PV0i.w));
// 4
backupReg0i = R125i.y;
R123i.x = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(PV1i.x) + intBitsToFloat(R8i.x)));
PV0i.x = R123i.x;
R125i.y = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(uf_remappedPS[12].w) + intBitsToFloat(uf_remappedPS[9].w)));
R125i.y = clampFI32(R125i.y);
PV0i.y = R125i.y;
R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(PV1i.x) + intBitsToFloat(R8i.z)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R124i.z) * intBitsToFloat(PV1i.x) + intBitsToFloat(R8i.y)));
PV0i.w = R123i.w;
// 5
R123i.x = floatBitsToInt((intBitsToFloat(R4i.y) * intBitsToFloat(PV0i.w) + 0.0));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R0i.w) * intBitsToFloat(PV0i.x) + 0.0));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[13].w)) + 0.0);
R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0);
R127i.z = clampFI32(R127i.z);
PV1i.z = R127i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(PV0i.z) + 0.0));
PV1i.w = R123i.w;
R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(R125i.x)));
R0i.w = clampFI32(R0i.w);
PS1i = R0i.w;
// 6
R126i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].z) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.w)));
PV0i.x = R126i.x;
R124i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].y) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.x)));
PV0i.y = R124i.y;
R124i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].x) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.y)));
PV0i.z = R124i.z;
// 7
PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(uf_remappedPS[12].x));
PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(uf_remappedPS[12].z));
PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(uf_remappedPS[12].y));
// 8
R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(R125i.y) + intBitsToFloat(R124i.y)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R125i.y) + intBitsToFloat(R124i.z)));
PV0i.y = R123i.y;
R123i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R125i.y) + intBitsToFloat(R126i.x)));
PV0i.w = R123i.w;
// 9
PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.w));
PV1i.y = floatBitsToInt(-(intBitsToFloat(R124i.y)) + intBitsToFloat(PV0i.x));
PV1i.z = floatBitsToInt(-(intBitsToFloat(R124i.z)) + intBitsToFloat(PV0i.y));
// 10
R0i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R127i.z) + intBitsToFloat(R124i.z)));
PV0i.x = R0i.x;
R0i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(R127i.z) + intBitsToFloat(R124i.y)));
PV0i.y = R0i.y;
R0i.z = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R127i.z) + intBitsToFloat(R126i.x)));
PV0i.z = R0i.z;
// export
passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w));
}

View File

@ -0,0 +1,142 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 2560.0; //overwidth value.0
const float overwriteHeight = 1440.0;
// shader b96e10151a15e243
uniform ivec4 uf_remappedPS[9];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
layout(location = 0) out vec4 passPixelColor0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
R1i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R1i.xy = floatBitsToInt(intBitsToFloat(R1i.xy) / scaleFactor);
backupReg0i = R1i.x;
backupReg1i = R1i.y;
R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R1i.x;
R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R1i.y;
R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.z = R2i.z;
R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV0i.w = R1i.w;
R1i.z = floatBitsToInt(1.0 / intBitsToFloat(R0i.z));
PS0i = R1i.z;
R1i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).x);
// 0
backupReg0i = R0i.x;
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x), 1.0));
R123i.y = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PV0i.y = R123i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R1i.z));
PV0i.z = R127i.z;
PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y), 1.0));
R127i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R1i.z));
PS0i = R127i.w;
// 1
R123i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[2].x) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[2].w) + intBitsToFloat(R2i.z)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[2].z) + intBitsToFloat(R1i.w)));
PV1i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[2].y) + intBitsToFloat(PV0i.w)));
PV1i.w = R123i.w;
// 2
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[3].x) + intBitsToFloat(PV1i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(PV1i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(PV1i.z)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[3].y) + intBitsToFloat(PV1i.w)));
PV0i.w = R123i.w;
// 3
backupReg0i = R127i.w;
R127i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(PV0i.x)));
PV1i.x = R127i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV0i.y)));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV0i.z)));
PV1i.z = R127i.z;
R127i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedPS[4].y) + intBitsToFloat(PV0i.w)));
PV1i.w = R127i.w;
// 4
R126i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(uf_remappedPS[6].y));
PV0i.y = R126i.y;
R126i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[5].x)) + intBitsToFloat(uf_remappedPS[6].x));
PV0i.z = R126i.z;
PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y));
// 5
backupReg0i = R127i.x;
R127i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(uf_remappedPS[6].z));
PV1i.x = R127i.x;
R127i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i));
PV1i.y = R127i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS0i));
PV1i.z = R127i.z;
PV1i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i));
// 6
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedPS[7].x)));
R125i.y = floatBitsToInt(-(intBitsToFloat(R0i.w)) + -(intBitsToFloat(PV1i.y)));
PV0i.y = R125i.y;
// 7
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[7].y) + intBitsToFloat(PV0i.x)));
PV1i.w = R123i.w;
// 8
R123i.z = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedPS[7].z) + intBitsToFloat(PV1i.w)));
PV0i.z = R123i.z;
// 9
PV1i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[7].w)) + intBitsToFloat(PV0i.z));
// 10
PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[6].w)));
PV0i.w = clampFI32(PV0i.w);
// 11
R0i.x = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(PV0i.w) + intBitsToFloat(uf_remappedPS[5].x)));
PV1i.x = R0i.x;
R0i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(PV0i.w) + intBitsToFloat(uf_remappedPS[5].y)));
PV1i.y = R0i.y;
R0i.z = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(PV0i.w) + intBitsToFloat(uf_remappedPS[5].z)));
PV1i.z = R0i.z;
// 12
R0i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(uf_remappedPS[8].w)));
R0i.w = clampFI32(R0i.w);
PV0i.w = R0i.w;
// export
passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w));
}

View File

@ -0,0 +1,105 @@
#version 400 // water tropical freeze
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 2560.0; //overwidth value.0
const float overwriteHeight = 1440.0;
// shader b978b87d9600dc63
uniform ivec4 uf_remappedPS[6];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
layout(location = 0) out vec4 passPixelColor0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
R1i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R1i.xy = floatBitsToInt(intBitsToFloat(R1i.xy) / scaleFactor);
backupReg0i = R1i.x;
backupReg1i = R1i.y;
R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R1i.x;
R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R1i.y;
R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV0i.z = R2i.z;
R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.w = R1i.w;
R1i.z = floatBitsToInt(1.0 / intBitsToFloat(R0i.z));
PS0i = R1i.z;
R1i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).x);
// 0
R3i.x = uf_remappedPS[2].x;
PV0i.x = R3i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PV0i.y = R123i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R1i.z));
PV0i.z = R127i.z;
R127i.w = floatBitsToInt(intBitsToFloat(R0i.x) * intBitsToFloat(R1i.z));
PV0i.w = R127i.w;
R3i.y = uf_remappedPS[2].y;
PS0i = R3i.y;
// 1
R123i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(R1i.w)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(R2i.z)));
PV1i.z = R123i.z;
R3i.z = uf_remappedPS[2].z;
PS1i = R3i.z;
// 2
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV1i.z)));
PV0i.x = R123i.x;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV1i.y)));
PV0i.w = R123i.w;
// 3
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(PV0i.w)));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[5].z) + intBitsToFloat(PV0i.x)));
PV1i.z = R127i.z;
// 4
PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y));
// 5
PV1i.w = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i));
// 6
PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.w)) + -(intBitsToFloat(PV1i.w)));
// 7
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(PV0i.z)));
PV1i.x = clampFI32(PV1i.x);
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[2].w)));
PV1i.y = clampFI32(PV1i.y);
// 8
R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x)));
PV0i.w = R3i.w;
// export
passPixelColor0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w));
}

View File

@ -0,0 +1,105 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 2560.0; //overwidth value.0
const float overwriteHeight = 1440.0;
// shader d878b867ab805ffa
uniform ivec4 uf_remappedPS[6];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
layout(location = 0) out vec4 passPixelColor0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
R1i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R1i.xy = floatBitsToInt(intBitsToFloat(R1i.xy) / scaleFactor);
backupReg0i = R1i.x;
backupReg1i = R1i.y;
R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R1i.x;
R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R1i.y;
R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV0i.z = R2i.z;
R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.w = R1i.w;
R1i.z = floatBitsToInt(1.0 / intBitsToFloat(R0i.z));
PS0i = R1i.z;
R1i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).x);
// 0
R3i.x = uf_remappedPS[2].x;
PV0i.x = R3i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PV0i.y = R123i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R1i.z));
PV0i.z = R127i.z;
R127i.w = floatBitsToInt(intBitsToFloat(R0i.x) * intBitsToFloat(R1i.z));
PV0i.w = R127i.w;
R3i.y = uf_remappedPS[2].y;
PS0i = R3i.y;
// 1
R123i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(R1i.w)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(R2i.z)));
PV1i.z = R123i.z;
R3i.z = uf_remappedPS[2].z;
PS1i = R3i.z;
// 2
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV1i.z)));
PV0i.x = R123i.x;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV1i.y)));
PV0i.w = R123i.w;
// 3
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(PV0i.w)));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[5].z) + intBitsToFloat(PV0i.x)));
PV1i.z = R127i.z;
// 4
PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y));
// 5
PV1i.w = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i));
// 6
PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.w)) + -(intBitsToFloat(PV1i.w)));
// 7
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(PV0i.z)));
PV1i.x = clampFI32(PV1i.x);
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[2].w)));
PV1i.y = clampFI32(PV1i.y);
// 8
R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x)));
PV0i.w = R3i.w;
// export
passPixelColor0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w));
}

View File

@ -0,0 +1,505 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 3840.0; //overwidth value.0
const float overwriteHeight = 2160.0;
// shader 1bfa8cd906df24d9
uniform ivec4 uf_remappedPS[14];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
uniform sampler2D textureUnitPS1;// Tex1 addr 0x34958000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS2;// Tex2 addr 0x35828000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS3;// Tex3 addr 0x19ba0000 res 256x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 0 border: 0
uniform samplerCubeArray textureUnitPS4;// Tex4 addr 0x34328000 res 128x128x1 dim 3 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x6) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
uniform sampler2D textureUnitPS5;// Tex5 addr 0xf4708800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
in vec4 passParameter2;
in vec4 passParameter3;
in vec4 passParameter4;
in vec4 passParameter5;
in vec4 passParameter6;
layout(location = 0) out vec4 passPixelColor0;
void redcCUBE(vec4 src0, vec4 src1, inout vec3 stm, inout int faceId)
{
// stm -> x .. s, y .. t, z .. MajorAxis*2.0
vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x));
float rx = inputCoord.x;
float ry = inputCoord.y;
float rz = inputCoord.z;
if( abs(rx) > abs(ry) && abs(rx) > abs(rz) )
{
stm.z = rx*2.0;
stm.xy = vec2(ry,rz);
if( rx >= 0.0 )
{
faceId = 0;
}
else
{
faceId = 1;
}
}
else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) )
{
stm.z = ry*2.0;
stm.xy = vec2(rx,rz);
if( ry >= 0.0 )
{
faceId = 2;
}
else
{
faceId = 3;
}
}
else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) )
{
stm.z = rz*2.0;
stm.xy = vec2(rx,ry);
if( rz >= 0.0 )
{
faceId = 4;
}
else
{
faceId = 5;
}
}
}
vec3 redcCUBEReverse(vec2 st, int faceId)
{
st.yx = st.xy;
vec3 v;
float majorAxis = 1.0;
if( faceId == 0 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = 1.0;
}
else if( faceId == 1 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = -1.0;
}
else if( faceId == 2 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = 1.0;
}
else if( faceId == 3 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = -1.0;
}
else if( faceId == 4 )
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = 1.0;
}
else
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = -1.0;
}
return v;
}
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R4i = ivec4(0);
ivec4 R5i = ivec4(0);
ivec4 R6i = ivec4(0);
ivec4 R7i = ivec4(0);
ivec4 R8i = ivec4(0);
ivec4 R9i = ivec4(0);
ivec4 R122i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R124i = ivec4(0);
ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
float cubeMapArrayIndex4 = 0.0;
R6i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
R1i = floatBitsToInt(passParameter2);
R2i = floatBitsToInt(passParameter3);
R3i = floatBitsToInt(passParameter4);
R4i = floatBitsToInt(passParameter5);
R5i = floatBitsToInt(passParameter6);
R7i.xy = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xy);
R4i.xy = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.zw)).xy);
R8i.xyz = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R5i.xy)).xyz);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
// //R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS1, intBitsToFloat(R0i.xy)).wzxy);
//vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(textureGather(textureUnitPS5.x), textureGather(textureUnitPS5.y));
R6i.xy = floatBitsToInt(intBitsToFloat(R6i.xy) / scaleFactor);
R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R9i.x;
R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R9i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R4i.x) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV0i.w = R123i.w;
R127i.w = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3fff0000) + -(1.0)));
PS0i = R127i.w;
// 1
R6i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w));
PV1i.x = R6i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R4i.y) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV1i.y = R123i.y;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w)));
R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R1i.z));
PS1i = R126i.w;
// 2
R4i.x = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.y));
PV0i.x = R4i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.z)));
R123i.y = clampFI32(R123i.y);
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.w)));
R123i.z = clampFI32(R123i.z);
PV0i.z = R123i.z;
R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.w = R4i.w;
R5i.z = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(PS1i));
PS0i = R5i.z;
// 3
R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0);
PV1i.x = R127i.x;
R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV1i.y = R7i.y;
R6i.z = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R126i.w));
PV1i.z = R6i.z;
PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0);
R127i.y = floatBitsToInt(max(intBitsToFloat(R9i.x), -(intBitsToFloat(R9i.x))));
R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) / 2.0);
PS1i = R127i.y;
// 4
backupReg0i = R0i.y;
backupReg0i = R0i.y;
backupReg1i = R0i.z;
backupReg1i = R0i.z;
R126i.x = floatBitsToInt(intBitsToFloat(R0i.x) * intBitsToFloat(R0i.x) + intBitsToFloat(backupReg0i) * intBitsToFloat(backupReg0i) + intBitsToFloat(backupReg1i) * intBitsToFloat(backupReg1i) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = R126i.x;
PV0i.y = R126i.x;
PV0i.z = R126i.x;
PV0i.w = R126i.x;
R127i.z = floatBitsToInt(sqrt(intBitsToFloat(PV1i.w)));
PS0i = R127i.z;
// 5
tempi.x = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(R2i.x) + intBitsToFloat(R2i.y) * intBitsToFloat(R2i.y) + intBitsToFloat(R2i.z) * intBitsToFloat(R2i.z) + intBitsToFloat(0x80000000) * 0.0);
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R4i.y = tempi.x;
PS1i = floatBitsToInt(sqrt(intBitsToFloat(R127i.x)));
// 6
R5i.x = floatBitsToInt(max(intBitsToFloat(R9i.y), -(intBitsToFloat(R9i.y))));
R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) / 2.0);
PV0i.x = R5i.x;
R5i.y = floatBitsToInt(intBitsToFloat(R127i.y) + -(intBitsToFloat(0x3ee66666)));
PV0i.y = R5i.y;
R4i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PS1i));
PV0i.z = R4i.z;
R0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + 0.0);
PV0i.w = R0i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.x));
R6i.y = floatBitsToInt(tempResultf);
PS0i = R6i.y;
R7i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R9i.xy)).x);
// 0
tempi.x = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(R6i.x) + intBitsToFloat(R4i.x) * intBitsToFloat(R4i.x) + intBitsToFloat(R4i.z) * intBitsToFloat(R4i.z) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
tempResultf = 1.0 / sqrt(intBitsToFloat(R4i.y));
R126i.w = floatBitsToInt(tempResultf);
PS0i = R126i.w;
// 1
backupReg0i = R0i.x;
R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R6i.y)));
PV1i.x = R0i.x;
R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PS0i)));
PV1i.y = R125i.y;
R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R6i.y)));
PV1i.z = R125i.z;
R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R6i.y)));
PV1i.w = R125i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x));
R127i.z = floatBitsToInt(tempResultf);
PS1i = R127i.z;
// 2
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R126i.w)));
PV0i.x = R126i.x;
R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PS1i)));
PV0i.y = R127i.y;
R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R126i.w)));
PV0i.z = R126i.z;
PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.y)));
R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PS1i)));
PS0i = R127i.w;
// 3
backupReg0i = R0i.x;
backupReg0i = R0i.x;
backupReg1i = R127i.z;
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV0i.y)));
R123i.y = floatBitsToInt((-(intBitsToFloat(PV0i.x)) * intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.w)));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.z)));
PV1i.z = R127i.z;
R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV0i.x)));
PV1i.w = R126i.w;
R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(backupReg1i)));
PS1i = R127i.x;
// 4
tempi.x = floatBitsToInt(intBitsToFloat(R3i.x) * intBitsToFloat(R3i.x) + intBitsToFloat(R3i.y) * intBitsToFloat(R3i.y) + intBitsToFloat(R3i.z) * intBitsToFloat(R3i.z) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R126i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.x)));
PS0i = R126i.y;
// 5
backupReg0i = R0i.x;
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R127i.y)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R127i.y)));
R123i.z = floatBitsToInt((-(intBitsToFloat(R126i.z)) * intBitsToFloat(R125i.z) + intBitsToFloat(R126i.w)));
PV1i.z = R123i.z;
R123i.w = floatBitsToInt((-(intBitsToFloat(R125i.y)) * intBitsToFloat(R125i.w) + intBitsToFloat(R127i.z)));
PV1i.w = R123i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x));
R126i.w = floatBitsToInt(tempResultf);
PS1i = R126i.w;
// 6
R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PS1i)));
PV0i.x = R124i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.x)));
PV0i.z = R123i.z;
R127i.w = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(R126i.z) + intBitsToFloat(R126i.y)));
PV0i.w = R127i.w;
R125i.x = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PS0i = R125i.x;
// 7
backupReg0i = R127i.x;
backupReg0i = R127i.x;
backupReg1i = R125i.y;
R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R126i.w)));
PV1i.x = R127i.x;
R125i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.z)));
PV1i.y = R125i.y;
R126i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(backupReg1i) + intBitsToFloat(PV0i.y)));
PV1i.z = R126i.z;
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.x)));
R122i.x = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedPS[2].w) + intBitsToFloat(R4i.w)));
PS1i = R122i.x;
// 8
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R126i.w)));
PV0i.x = R126i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R125i.x) * intBitsToFloat(uf_remappedPS[2].z) + intBitsToFloat(R7i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(PS1i)));
PV0i.w = R123i.w;
PS0i = floatBitsToInt(intBitsToFloat(R5i.x) + -(intBitsToFloat(0x3ee66666)));
// 9
R123i.x = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV0i.w)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z))*2.0);
PV1i.y = R123i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(0x41a00000));
R127i.z = clampFI32(R127i.z);
PV1i.z = R127i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(PV0i.y)));
PV1i.w = R123i.w;
R125i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x41a00000));
R125i.x = clampFI32(R125i.x);
PS1i = R125i.x;
// 10
backupReg0i = R126i.z;
R123i.x = floatBitsToInt((-(intBitsToFloat(R127i.w)) * intBitsToFloat(PV1i.y) + intBitsToFloat(R124i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV1i.w)));
PV0i.y = R123i.y;
R126i.z = floatBitsToInt((-(intBitsToFloat(backupReg0i)) * intBitsToFloat(PV1i.y) + intBitsToFloat(R126i.x)));
PV0i.z = R126i.z;
R126i.w = floatBitsToInt((-(intBitsToFloat(R125i.y)) * intBitsToFloat(PV1i.y) + intBitsToFloat(R127i.x)));
PV0i.w = R126i.w;
PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x));
// 11
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].z)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].x)));
R6i.z = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(PS0i));
PV1i.z = R6i.z;
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].y)));
R124i.z = floatBitsToInt(-(intBitsToFloat(R127i.z)) + 1.0);
PS1i = R124i.z;
// 12
R123i.x = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedPS[6].x) + intBitsToFloat(PV1i.y)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedPS[6].z) + intBitsToFloat(PV1i.x)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedPS[6].y) + intBitsToFloat(PV1i.w)));
PV0i.z = R123i.z;
R126i.w = floatBitsToInt(-(intBitsToFloat(R125i.x)) + 1.0);
PV0i.w = R126i.w;
R127i.z = floatBitsToInt(1.0 / -(intBitsToFloat(PV1i.z)));
PS0i = R127i.z;
// 13
backupReg0i = R125i.w;
R123i.x = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedPS[7].x) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedPS[7].y) + intBitsToFloat(PV0i.z)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedPS[7].z) + intBitsToFloat(PV0i.y)));
PV1i.z = R123i.z;
R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R124i.x)));
PV1i.w = R125i.w;
R126i.y = floatBitsToInt(intBitsToFloat(R8i.y) + 0.0);
PS1i = R126i.y;
// 14
redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId);
R5i.x = floatBitsToInt(cubeMapSTM.x);
R5i.y = floatBitsToInt(cubeMapSTM.y);
R5i.z = floatBitsToInt(cubeMapSTM.z);
R5i.w = cubeMapFaceId;
PV0i.x = R5i.x;
PV0i.y = R5i.y;
PV0i.z = R5i.z;
PV0i.w = R5i.w;
PS0i = floatBitsToInt(intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(R127i.z));
// 15
backupReg0i = R127i.x;
backupReg1i = R125i.y;
R127i.x = floatBitsToInt((intBitsToFloat(R125i.z) * intBitsToFloat(backupReg0i) + intBitsToFloat(R125i.w)));
PV1i.x = R127i.x;
R125i.y = floatBitsToInt(intBitsToFloat(R8i.z) + 0.0);
PV1i.y = R125i.y;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS0i)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS0i)));
R127i.w = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z)));
PS1i = R127i.w;
// 16
backupReg0i = R9i.x;
backupReg1i = R9i.y;
backupReg2i = R0i.w;
backupReg3i = R5i.x;
R9i.x = floatBitsToInt((intBitsToFloat(R124i.z) * intBitsToFloat(PV1i.z) + intBitsToFloat(backupReg0i)));
PV0i.x = R9i.x;
R9i.y = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(PV1i.w) + intBitsToFloat(backupReg1i)));
PV0i.y = R9i.y;
R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].y), intBitsToFloat(R126i.y)));
PV0i.z = R8i.z;
R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].x), intBitsToFloat(backupReg2i)));
PV0i.w = R0i.w;
R5i.x = floatBitsToInt((intBitsToFloat(backupReg3i) * intBitsToFloat(PS1i) + intBitsToFloat(0x3fc00000)));
PS0i = R5i.x;
// 17
backupReg0i = R5i.y;
backupReg1i = R1i.w;
R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].z), intBitsToFloat(R125i.y)));
PV1i.x = R1i.x;
R5i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R127i.w) + intBitsToFloat(0x3fc00000)));
PV1i.y = R5i.y;
R1i.z = floatBitsToInt((intBitsToFloat(R1i.w) * intBitsToFloat(uf_remappedPS[9].x) + intBitsToFloat(uf_remappedPS[9].y)));
R1i.z = clampFI32(R1i.z);
PV1i.z = R1i.z;
R1i.w = floatBitsToInt((intBitsToFloat(R0i.x) * intBitsToFloat(R126i.x) + intBitsToFloat(R127i.x)));
PV1i.w = R1i.w;
R0i.x = floatBitsToInt(-(intBitsToFloat(backupReg1i)) + -(intBitsToFloat(R6i.z)));
PS1i = R0i.x;
R9i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R9i.xy)).xyz);
R5i.xyzw = floatBitsToInt(texture(textureUnitPS4, vec4(redcCUBEReverse(intBitsToFloat(R5i.yx),R5i.w),cubeMapArrayIndex4)).xyzw);
// 0
R127i.x = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(uf_remappedPS[10].x) + -(intBitsToFloat(R9i.x))));
PV0i.x = R127i.x;
R125i.y = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(uf_remappedPS[10].z) + -(intBitsToFloat(R9i.z))));
PV0i.y = R125i.y;
PV0i.z = floatBitsToInt(max(intBitsToFloat(R1i.w), -(intBitsToFloat(R1i.w))));
PV0i.z = clampFI32(PV0i.z);
R127i.w = floatBitsToInt((intBitsToFloat(R5i.y) * intBitsToFloat(uf_remappedPS[10].y) + -(intBitsToFloat(R9i.y))));
PV0i.w = R127i.w;
// 1
PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0);
R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(R0i.x)));
R6i.w = clampFI32(R6i.w);
PV1i.w = R6i.w;
// 2
tempResultf = log2(intBitsToFloat(PV1i.y));
if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F;
PS0i = floatBitsToInt(tempResultf);
// 3
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[11].y), intBitsToFloat(PS0i)));
// 4
PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.w)));
// 5
PV1i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[11].x) + intBitsToFloat(PS0i));
PV1i.y = clampFI32(PV1i.y);
// 6
R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(PV1i.y) + intBitsToFloat(R9i.y)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(PV1i.y) + intBitsToFloat(R9i.x)));
PV0i.y = R123i.y;
R123i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(PV1i.y) + intBitsToFloat(R9i.z)));
PV0i.w = R123i.w;
// 7
R123i.x = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(PV0i.w) + 0.0));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R8i.z) * intBitsToFloat(PV0i.x) + 0.0));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R0i.w) * intBitsToFloat(PV0i.y) + 0.0));
PV1i.z = R123i.z;
// 8
R125i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[12].z) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.x)));
PV0i.y = R125i.y;
R124i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[12].y) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.y)));
PV0i.z = R124i.z;
R127i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[12].x) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.z)));
PV0i.w = R127i.w;
// 9
PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(uf_remappedPS[13].z));
PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(uf_remappedPS[13].y));
PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(uf_remappedPS[13].x));
// 10
R6i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R1i.z) + intBitsToFloat(R127i.w)));
PV0i.x = R6i.x;
R6i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(R1i.z) + intBitsToFloat(R124i.z)));
PV0i.y = R6i.y;
R6i.z = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R1i.z) + intBitsToFloat(R125i.y)));
PV0i.z = R6i.z;
// export
passPixelColor0 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w));
}

View File

@ -0,0 +1,122 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 3840.0; //overwidth value.0
const float overwriteHeight = 2160.0;
// shader 76e37ae2a66fcff2
uniform ivec4 uf_remappedPS[2];
uniform sampler2D textureUnitPS0;// Tex0 addr 0x19fc6000 res 128x128x1 dim 1 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4708800 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: 0
uniform sampler2D textureUnitPS2;// Tex2 addr 0x19fc2000 res 64x64x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0
in Vertex2
{
vec4 passG2PParameter0;
vec4 passG2PParameter1;
vec4 passG2PParameter2;
vec4 passG2PParameter3;
} g2p;
layout(location = 0) out vec4 passPixelColor0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R4i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
R4i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(g2p.passG2PParameter0);
R1i = floatBitsToInt(g2p.passG2PParameter1);
R2i = floatBitsToInt(g2p.passG2PParameter2);
R3i = floatBitsToInt(g2p.passG2PParameter3);
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R4i.xy = floatBitsToInt(intBitsToFloat(R4i.xy) / scaleFactor);
R2i.xy = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R2i.xy)).xy);
R1i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).xyzw);
// 0
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(0x437f0000)));
PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(0x437f0000)));
PV0i.z = R3i.x;
PV0i.z = clampFI32(PV0i.z);
PV0i.w = R3i.y;
PV0i.w = clampFI32(PV0i.w);
R127i.x = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[0].x));
PS0i = R127i.x;
// 1
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[0].z)));
PV1i.x = R126i.x;
R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[0].z)));
PV1i.y = R127i.y;
PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3b800000));
PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0);
PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3b800000));
PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0);
PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[0].y));
// 2
backupReg0i = R0i.x;
PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0));
PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + -(1.0));
R127i.z = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(PS1i));
PV0i.z = R127i.z;
R127i.w = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(R127i.x));
PV0i.w = R127i.w;
R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[1].x)));
PS0i = R2i.w;
// 3
backupReg0i = R0i.w;
R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(uf_remappedPS[1].x)));
PV1i.x = R4i.x;
R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(uf_remappedPS[1].x)));
PV1i.y = R4i.y;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R127i.y)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.x)));
R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R1i.w)));
PS1i = R3i.w;
// 4
R0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R127i.w));
PV0i.x = R0i.x;
PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)));
// 5
R0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R127i.z));
PV1i.y = R0i.y;
R0i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R0i.xy)).xyz);
// 0
backupReg0i = R0i.y;
backupReg1i = R0i.x;
PV0i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(R0i.z));
PV0i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(backupReg0i));
PV0i.z = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(backupReg1i));
// 1
R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(PV0i.z)));
PV1i.x = R3i.x;
R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV0i.y)));
PV1i.y = R3i.y;
R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PV0i.x)));
PV1i.z = R3i.z;
// export
passPixelColor0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w));
}

View File

@ -0,0 +1,510 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 3840.0; //overwidth value.0
const float overwriteHeight = 2160.0;
// shader 940e6df8edff7c01
uniform ivec4 uf_remappedPS[15];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
uniform sampler2D textureUnitPS1;// Tex1 addr 0x2d3b2000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS2;// Tex2 addr 0x2df00000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0
uniform sampler2D textureUnitPS3;// Tex3 addr 0x21cc5000 res 512x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 0 border: 0
uniform samplerCubeArray textureUnitPS4;// Tex4 addr 0x2fd50000 res 128x128x1 dim 3 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x6) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
uniform sampler2D textureUnitPS5;// Tex5 addr 0xf4708800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
in vec4 passParameter2;
in vec4 passParameter3;
in vec4 passParameter4;
in vec4 passParameter5;
in vec4 passParameter6;
layout(location = 0) out vec4 passPixelColor0;
void redcCUBE(vec4 src0, vec4 src1, inout vec3 stm, inout int faceId)
{
// stm -> x .. s, y .. t, z .. MajorAxis*2.0
vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x));
float rx = inputCoord.x;
float ry = inputCoord.y;
float rz = inputCoord.z;
if( abs(rx) > abs(ry) && abs(rx) > abs(rz) )
{
stm.z = rx*2.0;
stm.xy = vec2(ry,rz);
if( rx >= 0.0 )
{
faceId = 0;
}
else
{
faceId = 1;
}
}
else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) )
{
stm.z = ry*2.0;
stm.xy = vec2(rx,rz);
if( ry >= 0.0 )
{
faceId = 2;
}
else
{
faceId = 3;
}
}
else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) )
{
stm.z = rz*2.0;
stm.xy = vec2(rx,ry);
if( rz >= 0.0 )
{
faceId = 4;
}
else
{
faceId = 5;
}
}
}
vec3 redcCUBEReverse(vec2 st, int faceId)
{
st.yx = st.xy;
vec3 v;
float majorAxis = 1.0;
if( faceId == 0 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = 1.0;
}
else if( faceId == 1 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = -1.0;
}
else if( faceId == 2 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = 1.0;
}
else if( faceId == 3 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = -1.0;
}
else if( faceId == 4 )
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = 1.0;
}
else
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = -1.0;
}
return v;
}
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R4i = ivec4(0);
ivec4 R5i = ivec4(0);
ivec4 R6i = ivec4(0);
ivec4 R7i = ivec4(0);
ivec4 R8i = ivec4(0);
ivec4 R9i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R124i = ivec4(0);
ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
float cubeMapArrayIndex4 = 0.0;
R6i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
R1i = floatBitsToInt(passParameter2);
R2i = floatBitsToInt(passParameter3);
R3i = floatBitsToInt(passParameter4);
R4i = floatBitsToInt(passParameter5);
R5i = floatBitsToInt(passParameter6);
R7i.xy = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xy);
R4i.xy = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.zw)).xy);
R9i.xyz = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R5i.xy)).xyz);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R6i.xy = floatBitsToInt(intBitsToFloat(R6i.xy) / scaleFactor);
R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R8i.x;
R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R8i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R4i.x) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV0i.w = R123i.w;
R127i.z = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3fff0000) + -(1.0)));
PS0i = R127i.z;
// 1
R4i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z));
PV1i.x = R4i.x;
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w)));
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z)));
R123i.w = floatBitsToInt((intBitsToFloat(R4i.y) * intBitsToFloat(0x3fff0000) + -(1.0)));
PV1i.w = R123i.w;
R127i.w = floatBitsToInt(1.0 / intBitsToFloat(R1i.z));
PS1i = R127i.w;
// 2
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)));
R123i.x = clampFI32(R123i.x);
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)));
R123i.y = clampFI32(R123i.y);
PV0i.y = R123i.y;
R5i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w));
PV0i.z = R5i.z;
R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.w = R2i.w;
R7i.z = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(PS1i));
PS0i = R7i.z;
// 3
R5i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R127i.w));
PV1i.x = R5i.x;
R127i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0);
PV1i.y = R127i.y;
R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV1i.z = R6i.z;
PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0);
R127i.x = floatBitsToInt(max(intBitsToFloat(R8i.x), -(intBitsToFloat(R8i.x))));
R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) / 2.0);
PS1i = R127i.x;
// 4
backupReg0i = R0i.x;
backupReg0i = R0i.x;
backupReg1i = R0i.z;
backupReg1i = R0i.z;
tempi.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(backupReg0i) + intBitsToFloat(R0i.y) * intBitsToFloat(R0i.y) + intBitsToFloat(backupReg1i) * intBitsToFloat(backupReg1i) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R126i.y = tempi.x;
R127i.z = floatBitsToInt(sqrt(intBitsToFloat(PV1i.w)));
PS0i = R127i.z;
// 5
tempi.x = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(R2i.x) + intBitsToFloat(R2i.y) * intBitsToFloat(R2i.y) + intBitsToFloat(R2i.z) * intBitsToFloat(R2i.z) + intBitsToFloat(0x80000000) * 0.0);
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R4i.w = tempi.x;
PS1i = floatBitsToInt(sqrt(intBitsToFloat(R127i.y)));
// 6
R7i.x = floatBitsToInt(max(intBitsToFloat(R8i.y), -(intBitsToFloat(R8i.y))));
R7i.x = floatBitsToInt(intBitsToFloat(R7i.x) / 2.0);
PV0i.x = R7i.x;
R4i.y = floatBitsToInt(intBitsToFloat(R9i.x) + 0.0);
PV0i.y = R4i.y;
R4i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PS1i));
PV0i.z = R4i.z;
R3i.w = floatBitsToInt(intBitsToFloat(R127i.x) + -(intBitsToFloat(0x3ee66666)));
PV0i.w = R3i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y));
R0i.w = floatBitsToInt(tempResultf);
PS0i = R0i.w;
R6i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R8i.xy)).x);
// 0
tempi.x = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(R4i.x) + intBitsToFloat(R5i.z) * intBitsToFloat(R5i.z) + intBitsToFloat(R4i.z) * intBitsToFloat(R4i.z) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
tempResultf = 1.0 / sqrt(intBitsToFloat(R4i.w));
R127i.z = floatBitsToInt(tempResultf);
PS0i = R127i.z;
// 1
R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R0i.w)));
PV1i.x = R125i.x;
R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)));
PV1i.y = R124i.y;
R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R0i.w)));
PV1i.z = R125i.z;
R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PS0i)));
PV1i.w = R125i.w;
tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x));
R127i.x = floatBitsToInt(tempResultf);
PS1i = R127i.x;
// 2
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R127i.z)));
PV0i.x = R126i.x;
R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R127i.z)));
PV0i.y = R127i.y;
PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w)));
R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PS1i)));
PV0i.w = R127i.w;
R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i)));
PS0i = R126i.y;
// 3
backupReg0i = R127i.x;
R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PV0i.x)));
PV1i.x = R127i.x;
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PV0i.w)));
R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PV0i.y)));
PV1i.z = R127i.z;
R123i.w = floatBitsToInt((-(intBitsToFloat(PV0i.y)) * intBitsToFloat(R124i.y) + intBitsToFloat(PV0i.z)));
PV1i.w = R123i.w;
R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(backupReg0i)));
PS1i = R126i.w;
// 4
tempi.x = floatBitsToInt(intBitsToFloat(R3i.x) * intBitsToFloat(R3i.x) + intBitsToFloat(R3i.y) * intBitsToFloat(R3i.y) + intBitsToFloat(R3i.z) * intBitsToFloat(R3i.z) + intBitsToFloat(0x80000000) * 0.0);
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R126i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.y)));
PS0i = R126i.z;
// 5
R123i.x = floatBitsToInt((-(intBitsToFloat(R126i.x)) * intBitsToFloat(R125i.x) + intBitsToFloat(R127i.z)));
PV1i.x = R123i.x;
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R127i.w)));
R123i.z = floatBitsToInt((-(intBitsToFloat(R125i.w)) * intBitsToFloat(R125i.z) + intBitsToFloat(R127i.x)));
PV1i.z = R123i.z;
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(R127i.w)));
tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x));
R127i.z = floatBitsToInt(tempResultf);
PS1i = R127i.z;
// 6
R123i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.w)));
PV0i.x = R123i.x;
R125i.y = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(R126i.x) + intBitsToFloat(R126i.z)));
PV0i.y = R125i.y;
R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PS1i)));
PV0i.z = R126i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.y)));
PV0i.w = R123i.w;
R127i.w = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PS0i = R127i.w;
// 7
backupReg0i = R125i.w;
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R127i.z)));
PV1i.x = R126i.x;
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.z)));
R124i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(R127i.y) + intBitsToFloat(PV0i.x)));
PV1i.z = R124i.z;
R125i.w = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.w)));
PV1i.w = R125i.w;
R126i.w = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedPS[2].w) + intBitsToFloat(R2i.w)));
PS1i = R126i.w;
// 8
R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[2].z) + intBitsToFloat(R6i.z)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.y)));
PV0i.y = R123i.y;
PV0i.z = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(0x3ee66666)));
R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R127i.z)));
PV0i.w = R127i.w;
PS0i = floatBitsToInt(intBitsToFloat(R3i.w) * intBitsToFloat(0x41a00000));
PS0i = clampFI32(PS0i);
// 9
R123i.x = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.y))*2.0);
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(R126i.w)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(PV0i.x)));
PV1i.z = R123i.z;
R126i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x41a00000));
R126i.w = clampFI32(R126i.w);
PV1i.w = R126i.w;
R124i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0);
PS1i = R124i.w;
// 10
R123i.x = floatBitsToInt((-(intBitsToFloat(R125i.y)) * intBitsToFloat(PV1i.x) + intBitsToFloat(R126i.z)));
PV0i.x = R123i.x;
R127i.y = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV1i.z)));
PV0i.y = R127i.y;
R127i.z = floatBitsToInt((-(intBitsToFloat(R124i.z)) * intBitsToFloat(PV1i.x) + intBitsToFloat(R126i.x)));
PV0i.z = R127i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV1i.y)));
PV0i.w = R123i.w;
R126i.y = floatBitsToInt((-(intBitsToFloat(R125i.w)) * intBitsToFloat(PV1i.x) + intBitsToFloat(R127i.w)));
PS0i = R126i.y;
// 11
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].x)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].z)));
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[5].y)));
R125i.w = floatBitsToInt(-(intBitsToFloat(R126i.w)) + 1.0);
PV1i.w = R125i.w;
PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w));
// 12
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[6].x) + intBitsToFloat(PV1i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[6].y) + intBitsToFloat(PV1i.z)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[6].z) + intBitsToFloat(PV1i.y)));
PV0i.z = R123i.z;
R3i.w = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS1i));
PV0i.w = R3i.w;
PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R126i.z)));
// 13
R123i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedPS[7].x) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedPS[7].y) + intBitsToFloat(PV0i.y)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedPS[7].z) + intBitsToFloat(PV0i.z)));
PV1i.z = R123i.z;
R126i.w = floatBitsToInt((intBitsToFloat(R125i.x) * intBitsToFloat(R126i.x) + intBitsToFloat(PS0i)));
PV1i.w = R126i.w;
PS1i = floatBitsToInt(1.0 / -(intBitsToFloat(PV0i.w)));
// 14
redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId);
R5i.x = floatBitsToInt(cubeMapSTM.x);
R5i.y = floatBitsToInt(cubeMapSTM.y);
R5i.z = floatBitsToInt(cubeMapSTM.z);
R5i.w = cubeMapFaceId;
PV0i.x = R5i.x;
PV0i.y = R5i.y;
PV0i.z = R5i.z;
PV0i.w = R5i.w;
PS0i = floatBitsToInt(intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(PS1i));
// 15
backupReg0i = R125i.y;
R123i.x = floatBitsToInt((intBitsToFloat(R124i.y) * intBitsToFloat(R127i.w) + intBitsToFloat(R126i.w)));
PV1i.x = R123i.x;
R125i.y = floatBitsToInt(intBitsToFloat(R9i.y) + 0.0);
PV1i.y = R125i.y;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS0i)));
R124i.z = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z)));
PS1i = R124i.z;
// 16
backupReg0i = R8i.x;
backupReg1i = R8i.y;
backupReg2i = R5i.x;
R8i.x = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(PV1i.z) + intBitsToFloat(backupReg0i)));
PV0i.x = R8i.x;
R8i.y = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(PV1i.w) + intBitsToFloat(backupReg1i)));
PV0i.y = R8i.y;
PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x))));
PV0i.z = clampFI32(PV0i.z);
R2i.w = floatBitsToInt(intBitsToFloat(R9i.z) + 0.0);
PV0i.w = R2i.w;
R5i.x = floatBitsToInt((intBitsToFloat(backupReg2i) * intBitsToFloat(PS1i) + intBitsToFloat(0x3fc00000)));
PS0i = R5i.x;
// 17
backupReg0i = R5i.y;
R9i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0);
PV1i.x = R9i.x;
R5i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R124i.z) + intBitsToFloat(0x3fc00000)));
PV1i.y = R5i.y;
R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(uf_remappedPS[8].x)));
PV1i.z = R9i.z;
R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].x), intBitsToFloat(R4i.y)));
PV1i.w = R0i.w;
R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].y), intBitsToFloat(R125i.y)));
PS1i = R4i.y;
R5i.xyzw = floatBitsToInt(texture(textureUnitPS4, vec4(redcCUBEReverse(intBitsToFloat(R5i.yx),R5i.w),cubeMapArrayIndex4)).xyzw);
R8i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R8i.xy)).xyz);
// 0
R125i.x = floatBitsToInt(-(intBitsToFloat(R1i.w)) + -(intBitsToFloat(R3i.w)));
PV0i.x = R125i.x;
R125i.y = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(uf_remappedPS[10].z) + -(intBitsToFloat(R8i.z))));
PV0i.y = R125i.y;
R124i.z = floatBitsToInt((intBitsToFloat(R5i.y) * intBitsToFloat(uf_remappedPS[10].y) + -(intBitsToFloat(R8i.y))));
PV0i.z = R124i.z;
R125i.w = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(uf_remappedPS[10].x) + -(intBitsToFloat(R8i.x))));
PV0i.w = R125i.w;
tempResultf = log2(intBitsToFloat(R9i.x));
if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F;
PS0i = floatBitsToInt(tempResultf);
// 1
R123i.x = floatBitsToInt((intBitsToFloat(R3i.y) * intBitsToFloat(uf_remappedPS[8].y) + intBitsToFloat(R9i.z)));
PV1i.x = R123i.x;
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[11].y), intBitsToFloat(PS0i)));
// 2
R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].z), intBitsToFloat(R2i.w)));
PV0i.x = R126i.x;
R123i.w = floatBitsToInt((intBitsToFloat(R3i.z) * intBitsToFloat(uf_remappedPS[8].z) + intBitsToFloat(PV1i.x)));
PV0i.w = R123i.w;
PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z)));
// 3
PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[11].x) + intBitsToFloat(PS0i));
PV1i.x = clampFI32(PV1i.x);
PV1i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[8].w)) + intBitsToFloat(PV0i.w));
// 4
backupReg0i = R125i.y;
R123i.x = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(PV1i.x) + intBitsToFloat(R8i.x)));
PV0i.x = R123i.x;
R125i.y = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(uf_remappedPS[12].w) + intBitsToFloat(uf_remappedPS[9].w)));
R125i.y = clampFI32(R125i.y);
PV0i.y = R125i.y;
R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(PV1i.x) + intBitsToFloat(R8i.z)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R124i.z) * intBitsToFloat(PV1i.x) + intBitsToFloat(R8i.y)));
PV0i.w = R123i.w;
// 5
R123i.x = floatBitsToInt((intBitsToFloat(R4i.y) * intBitsToFloat(PV0i.w) + 0.0));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R0i.w) * intBitsToFloat(PV0i.x) + 0.0));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[13].w)) + 0.0);
R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0);
R127i.z = clampFI32(R127i.z);
PV1i.z = R127i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(PV0i.z) + 0.0));
PV1i.w = R123i.w;
R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(R125i.x)));
R0i.w = clampFI32(R0i.w);
PS1i = R0i.w;
// 6
R126i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].z) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.w)));
PV0i.x = R126i.x;
R124i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].y) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.x)));
PV0i.y = R124i.y;
R124i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].x) * intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.y)));
PV0i.z = R124i.z;
// 7
PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(uf_remappedPS[12].x));
PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(uf_remappedPS[12].z));
PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(uf_remappedPS[12].y));
// 8
R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(R125i.y) + intBitsToFloat(R124i.y)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R125i.y) + intBitsToFloat(R124i.z)));
PV0i.y = R123i.y;
R123i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R125i.y) + intBitsToFloat(R126i.x)));
PV0i.w = R123i.w;
// 9
PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.w));
PV1i.y = floatBitsToInt(-(intBitsToFloat(R124i.y)) + intBitsToFloat(PV0i.x));
PV1i.z = floatBitsToInt(-(intBitsToFloat(R124i.z)) + intBitsToFloat(PV0i.y));
// 10
R0i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R127i.z) + intBitsToFloat(R124i.z)));
PV0i.x = R0i.x;
R0i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(R127i.z) + intBitsToFloat(R124i.y)));
PV0i.y = R0i.y;
R0i.z = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R127i.z) + intBitsToFloat(R126i.x)));
PV0i.z = R0i.z;
// export
passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w));
}

View File

@ -0,0 +1,142 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 3840.0; //overwidth value.0
const float overwriteHeight = 2160.0;
// shader b96e10151a15e243
uniform ivec4 uf_remappedPS[9];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
layout(location = 0) out vec4 passPixelColor0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
R1i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R1i.xy = floatBitsToInt(intBitsToFloat(R1i.xy) / scaleFactor);
backupReg0i = R1i.x;
backupReg1i = R1i.y;
R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R1i.x;
R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R1i.y;
R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.z = R2i.z;
R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV0i.w = R1i.w;
R1i.z = floatBitsToInt(1.0 / intBitsToFloat(R0i.z));
PS0i = R1i.z;
R1i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).x);
// 0
backupReg0i = R0i.x;
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x), 1.0));
R123i.y = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PV0i.y = R123i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R1i.z));
PV0i.z = R127i.z;
PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y), 1.0));
R127i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R1i.z));
PS0i = R127i.w;
// 1
R123i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[2].x) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[2].w) + intBitsToFloat(R2i.z)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[2].z) + intBitsToFloat(R1i.w)));
PV1i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[2].y) + intBitsToFloat(PV0i.w)));
PV1i.w = R123i.w;
// 2
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[3].x) + intBitsToFloat(PV1i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(PV1i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(PV1i.z)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[3].y) + intBitsToFloat(PV1i.w)));
PV0i.w = R123i.w;
// 3
backupReg0i = R127i.w;
R127i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(PV0i.x)));
PV1i.x = R127i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV0i.y)));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV0i.z)));
PV1i.z = R127i.z;
R127i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedPS[4].y) + intBitsToFloat(PV0i.w)));
PV1i.w = R127i.w;
// 4
R126i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(uf_remappedPS[6].y));
PV0i.y = R126i.y;
R126i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[5].x)) + intBitsToFloat(uf_remappedPS[6].x));
PV0i.z = R126i.z;
PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y));
// 5
backupReg0i = R127i.x;
R127i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(uf_remappedPS[6].z));
PV1i.x = R127i.x;
R127i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i));
PV1i.y = R127i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS0i));
PV1i.z = R127i.z;
PV1i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i));
// 6
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedPS[7].x)));
R125i.y = floatBitsToInt(-(intBitsToFloat(R0i.w)) + -(intBitsToFloat(PV1i.y)));
PV0i.y = R125i.y;
// 7
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[7].y) + intBitsToFloat(PV0i.x)));
PV1i.w = R123i.w;
// 8
R123i.z = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedPS[7].z) + intBitsToFloat(PV1i.w)));
PV0i.z = R123i.z;
// 9
PV1i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[7].w)) + intBitsToFloat(PV0i.z));
// 10
PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[6].w)));
PV0i.w = clampFI32(PV0i.w);
// 11
R0i.x = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(PV0i.w) + intBitsToFloat(uf_remappedPS[5].x)));
PV1i.x = R0i.x;
R0i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(PV0i.w) + intBitsToFloat(uf_remappedPS[5].y)));
PV1i.y = R0i.y;
R0i.z = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(PV0i.w) + intBitsToFloat(uf_remappedPS[5].z)));
PV1i.z = R0i.z;
// 12
R0i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(uf_remappedPS[8].w)));
R0i.w = clampFI32(R0i.w);
PV0i.w = R0i.w;
// export
passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w));
}

View File

@ -0,0 +1,105 @@
#version 400 // water tropical freeze
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 3840.0; //overwidth value.0
const float overwriteHeight = 2160.0;
// shader b978b87d9600dc63
uniform ivec4 uf_remappedPS[6];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
layout(location = 0) out vec4 passPixelColor0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
R1i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R1i.xy = floatBitsToInt(intBitsToFloat(R1i.xy) / scaleFactor);
backupReg0i = R1i.x;
backupReg1i = R1i.y;
R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R1i.x;
R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R1i.y;
R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV0i.z = R2i.z;
R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.w = R1i.w;
R1i.z = floatBitsToInt(1.0 / intBitsToFloat(R0i.z));
PS0i = R1i.z;
R1i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).x);
// 0
R3i.x = uf_remappedPS[2].x;
PV0i.x = R3i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PV0i.y = R123i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R1i.z));
PV0i.z = R127i.z;
R127i.w = floatBitsToInt(intBitsToFloat(R0i.x) * intBitsToFloat(R1i.z));
PV0i.w = R127i.w;
R3i.y = uf_remappedPS[2].y;
PS0i = R3i.y;
// 1
R123i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(R1i.w)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(R2i.z)));
PV1i.z = R123i.z;
R3i.z = uf_remappedPS[2].z;
PS1i = R3i.z;
// 2
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV1i.z)));
PV0i.x = R123i.x;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV1i.y)));
PV0i.w = R123i.w;
// 3
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(PV0i.w)));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[5].z) + intBitsToFloat(PV0i.x)));
PV1i.z = R127i.z;
// 4
PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y));
// 5
PV1i.w = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i));
// 6
PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.w)) + -(intBitsToFloat(PV1i.w)));
// 7
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(PV0i.z)));
PV1i.x = clampFI32(PV1i.x);
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[2].w)));
PV1i.y = clampFI32(PV1i.y);
// 8
R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x)));
PV0i.w = R3i.w;
// export
passPixelColor0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w));
}

View File

@ -0,0 +1,105 @@
#version 400
#extension GL_ARB_texture_gather : enable
const float overwriteWidth = 3840.0; //overwidth value.0
const float overwriteHeight = 2160.0;
// shader d878b867ab805ffa
uniform ivec4 uf_remappedPS[6];
uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4a8c800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
in vec4 passParameter0;
in vec4 passParameter1;
layout(location = 0) out vec4 passPixelColor0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
R1i = floatBitsToInt(gl_FragCoord.xyzw);
R0i = floatBitsToInt(passParameter1);
// 0
vec2 scaleFactor = vec2(overwriteWidth,overwriteHeight)/vec2(1280.0,720.0); // factor = newResolution / expectedResolution
R1i.xy = floatBitsToInt(intBitsToFloat(R1i.xy) / scaleFactor);
backupReg0i = R1i.x;
backupReg1i = R1i.y;
R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R1i.x;
R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R1i.y;
R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), 1.0));
PV0i.z = R2i.z;
R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), 1.0));
PV0i.w = R1i.w;
R1i.z = floatBitsToInt(1.0 / intBitsToFloat(R0i.z));
PS0i = R1i.z;
R1i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).x);
// 0
R3i.x = uf_remappedPS[2].x;
PV0i.x = R3i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(0x40000000) + -(1.0)));
PV0i.y = R123i.y;
R127i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R1i.z));
PV0i.z = R127i.z;
R127i.w = floatBitsToInt(intBitsToFloat(R0i.x) * intBitsToFloat(R1i.z));
PV0i.w = R127i.w;
R3i.y = uf_remappedPS[2].y;
PS0i = R3i.y;
// 1
R123i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(R1i.w)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[3].z) + intBitsToFloat(R2i.z)));
PV1i.z = R123i.z;
R3i.z = uf_remappedPS[2].z;
PS1i = R3i.z;
// 2
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[4].z) + intBitsToFloat(PV1i.z)));
PV0i.x = R123i.x;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV1i.y)));
PV0i.w = R123i.w;
// 3
R123i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(PV0i.w)));
PV1i.y = R123i.y;
R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedPS[5].z) + intBitsToFloat(PV0i.x)));
PV1i.z = R127i.z;
// 4
PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y));
// 5
PV1i.w = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i));
// 6
PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.w)) + -(intBitsToFloat(PV1i.w)));
// 7
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(PV0i.z)));
PV1i.x = clampFI32(PV1i.x);
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[2].w)));
PV1i.y = clampFI32(PV1i.y);
// 8
R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x)));
PV0i.w = R3i.w;
// export
passPixelColor0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w));
}

View File

@ -1,6 +1,6 @@
[Definition] [Definition]
titleIds = 000500001019C800,000500001019E600,000500001019E500 titleIds = 000500001019C800,000500001019E600,000500001019E500
name ="Twilight Princess HD 1440p" name ="Twilight Princess HD - 1440p (2K)"
[TextureRedefine] # game rendering resolution. # [TextureRedefine] # game rendering resolution. #
width = 1920 width = 1920
@ -9,13 +9,6 @@ formatsExcluded = 0x41A # exclude the intro background texture
overwriteWidth = 2560 overwriteWidth = 2560
overwriteHeight = 1440 overwriteHeight = 1440
#[TextureRedefine] # gamepad view
#width = 854
#height = 480
#formatsExcluded =
#overwriteWidth = 1138
#overwriteHeight = 640
[TextureRedefine] # Blur, bloom [TextureRedefine] # Blur, bloom
width = 960 width = 960
height = 540 height = 540
@ -29,11 +22,3 @@ overwriteHeight = 720
#formats = 0x01a #formats = 0x01a
#overwriteWidth = 640 #overwriteWidth = 640
#overwriteHeight = 360 #overwriteHeight = 360
##Textures
[TextureRedefine] # Link shadow n light
width = 384
height = 384
formats = 0x01a
overwriteWidth = 1536
overwriteHeight = 1536

View File

@ -1,6 +1,6 @@
[Definition] [Definition]
titleIds = 000500001019C800,000500001019E600,000500001019E500 titleIds = 000500001019C800,000500001019E600,000500001019E500
name ="Twilight Princess HD 2160p" name ="Twilight Princess HD - 2160p (2K)"
[TextureRedefine] # [TextureRedefine] #
width = 1920 width = 1920
@ -9,13 +9,6 @@ formatsExcluded = 0x41A # exclude the intro background texture
overwriteWidth = 3840 overwriteWidth = 3840
overwriteHeight = 2160 overwriteHeight = 2160
#[TextureRedefine] # gamepad view
#width = 854
#height = 480
#formatsExcluded =
#overwriteWidth = 1707 #Nearest integer
#overwriteHeight = 960
[TextureRedefine] # Blur, bloom [TextureRedefine] # Blur, bloom
width = 960 width = 960
height = 540 height = 540
@ -29,11 +22,3 @@ overwriteHeight = 1080
#formats = 0x01a #formats = 0x01a
#overwriteWidth = 960 #Nearest integer #overwriteWidth = 960 #Nearest integer
#overwriteHeight = 540 #overwriteHeight = 540
##Textures
[TextureRedefine] # Link shadow n light
width = 384
height = 384
formats = 0x01a
overwriteWidth = 1536
overwriteHeight = 1536