From 2e540dd3024a77aae5e3c306cd17c89a24111c6e Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 2 Apr 2017 14:15:20 -0700 Subject: [PATCH] [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 --- Enthusiast/TheWindWaker_4320p/rules.txt | 21 +- Enthusiast/TwilightPrincess_4320p/rules.txt | 19 +- ...cd906df24d9_00000000003c9259_ps_source.txt | 505 +++++++++++++++++ ...ae2a66fcff2_0000000000001e49_ps_source.txt | 122 +++++ ...df8edff7c01_00000000003c9259_ps_source.txt | 510 ++++++++++++++++++ ...0151a15e243_0000000000000079_ps_source.txt | 142 +++++ ...87d9600dc63_0000000000000079_ps_source.txt | 105 ++++ ...867ab805ffa_0000000000000079_ps_source.txt | 105 ++++ ...cd906df24d9_00000000003c9259_ps_source.txt | 505 +++++++++++++++++ ...ae2a66fcff2_0000000000001e49_ps_source.txt | 122 +++++ ...df8edff7c01_00000000003c9259_ps_source.txt | 510 ++++++++++++++++++ ...0151a15e243_0000000000000079_ps_source.txt | 142 +++++ ...87d9600dc63_0000000000000079_ps_source.txt | 105 ++++ ...867ab805ffa_0000000000000079_ps_source.txt | 105 ++++ Quality/TheWindWaker_1440p/rules.txt | 19 +- Quality/TheWindWaker_2160p/rules.txt | 21 +- ...cd906df24d9_00000000003c9259_ps_source.txt | 505 +++++++++++++++++ ...ae2a66fcff2_0000000000001e49_ps_source.txt | 122 +++++ ...df8edff7c01_00000000003c9259_ps_source.txt | 510 ++++++++++++++++++ ...0151a15e243_0000000000000079_ps_source.txt | 142 +++++ ...87d9600dc63_0000000000000079_ps_source.txt | 105 ++++ ...867ab805ffa_0000000000000079_ps_source.txt | 105 ++++ ...cd906df24d9_00000000003c9259_ps_source.txt | 505 +++++++++++++++++ ...ae2a66fcff2_0000000000001e49_ps_source.txt | 122 +++++ ...df8edff7c01_00000000003c9259_ps_source.txt | 510 ++++++++++++++++++ ...0151a15e243_0000000000000079_ps_source.txt | 142 +++++ ...87d9600dc63_0000000000000079_ps_source.txt | 105 ++++ ...867ab805ffa_0000000000000079_ps_source.txt | 105 ++++ ...cd906df24d9_00000000003c9259_ps_source.txt | 505 +++++++++++++++++ ...ae2a66fcff2_0000000000001e49_ps_source.txt | 122 +++++ ...df8edff7c01_00000000003c9259_ps_source.txt | 510 ++++++++++++++++++ ...0151a15e243_0000000000000079_ps_source.txt | 142 +++++ ...87d9600dc63_0000000000000079_ps_source.txt | 105 ++++ ...867ab805ffa_0000000000000079_ps_source.txt | 105 ++++ Quality/TwilightPrincess_1440p/rules.txt | 19 +- Quality/TwilightPrincess_2160p/rules.txt | 19 +- 36 files changed, 7459 insertions(+), 104 deletions(-) create mode 100644 Performance/TropicalFreeze_360p/1bfa8cd906df24d9_00000000003c9259_ps_source.txt create mode 100644 Performance/TropicalFreeze_360p/76e37ae2a66fcff2_0000000000001e49_ps_source.txt create mode 100644 Performance/TropicalFreeze_360p/940e6df8edff7c01_00000000003c9259_ps_source.txt create mode 100644 Performance/TropicalFreeze_360p/b96e10151a15e243_0000000000000079_ps_source.txt create mode 100644 Performance/TropicalFreeze_360p/b978b87d9600dc63_0000000000000079_ps_source.txt create mode 100644 Performance/TropicalFreeze_360p/d878b867ab805ffa_0000000000000079_ps_source.txt create mode 100644 Performance/TropicalFreeze_540p/1bfa8cd906df24d9_00000000003c9259_ps_source.txt create mode 100644 Performance/TropicalFreeze_540p/76e37ae2a66fcff2_0000000000001e49_ps_source.txt create mode 100644 Performance/TropicalFreeze_540p/940e6df8edff7c01_00000000003c9259_ps_source.txt create mode 100644 Performance/TropicalFreeze_540p/b96e10151a15e243_0000000000000079_ps_source.txt create mode 100644 Performance/TropicalFreeze_540p/b978b87d9600dc63_0000000000000079_ps_source.txt create mode 100644 Performance/TropicalFreeze_540p/d878b867ab805ffa_0000000000000079_ps_source.txt create mode 100644 Quality/TropicalFreeze_1080p/1bfa8cd906df24d9_00000000003c9259_ps_source.txt create mode 100644 Quality/TropicalFreeze_1080p/76e37ae2a66fcff2_0000000000001e49_ps_source.txt create mode 100644 Quality/TropicalFreeze_1080p/940e6df8edff7c01_00000000003c9259_ps_source.txt create mode 100644 Quality/TropicalFreeze_1080p/b96e10151a15e243_0000000000000079_ps_source.txt create mode 100644 Quality/TropicalFreeze_1080p/b978b87d9600dc63_0000000000000079_ps_source.txt create mode 100644 Quality/TropicalFreeze_1080p/d878b867ab805ffa_0000000000000079_ps_source.txt create mode 100644 Quality/TropicalFreeze_1440p/1bfa8cd906df24d9_00000000003c9259_ps_source.txt create mode 100644 Quality/TropicalFreeze_1440p/76e37ae2a66fcff2_0000000000001e49_ps_source.txt create mode 100644 Quality/TropicalFreeze_1440p/940e6df8edff7c01_00000000003c9259_ps_source.txt create mode 100644 Quality/TropicalFreeze_1440p/b96e10151a15e243_0000000000000079_ps_source.txt create mode 100644 Quality/TropicalFreeze_1440p/b978b87d9600dc63_0000000000000079_ps_source.txt create mode 100644 Quality/TropicalFreeze_1440p/d878b867ab805ffa_0000000000000079_ps_source.txt create mode 100644 Quality/TropicalFreeze_2160p/1bfa8cd906df24d9_00000000003c9259_ps_source.txt create mode 100644 Quality/TropicalFreeze_2160p/76e37ae2a66fcff2_0000000000001e49_ps_source.txt create mode 100644 Quality/TropicalFreeze_2160p/940e6df8edff7c01_00000000003c9259_ps_source.txt create mode 100644 Quality/TropicalFreeze_2160p/b96e10151a15e243_0000000000000079_ps_source.txt create mode 100644 Quality/TropicalFreeze_2160p/b978b87d9600dc63_0000000000000079_ps_source.txt create mode 100644 Quality/TropicalFreeze_2160p/d878b867ab805ffa_0000000000000079_ps_source.txt diff --git a/Enthusiast/TheWindWaker_4320p/rules.txt b/Enthusiast/TheWindWaker_4320p/rules.txt index 63c9983e..07bfa770 100644 --- a/Enthusiast/TheWindWaker_4320p/rules.txt +++ b/Enthusiast/TheWindWaker_4320p/rules.txt @@ -1,6 +1,6 @@ [Definition]# EUR, USA, JPN titles titleIds = 0005000010143400,0005000010143600,0005000010143500 # -name ="The Wind Waker HD 4320p" +name ="The Wind Waker HD - 4320p (8K)" [TextureRedefine] # game rendering resolution. #Change this value width = 1920 @@ -9,13 +9,6 @@ formatsExcluded = 0x41A # exclude the intro background texture overwriteWidth = 7680 overwriteHeight = 4320 -#[TextureRedefine] # gamepad view -#width = 854 -#height = 480 -#formatsExcluded = -#overwriteWidth = 3413 -#overwriteHeight = 1920 - #[TextureRedefine] # Blur, bloom #width = 960 #height = 540 @@ -32,15 +25,7 @@ overwriteHeight = 4320 [TextureRedefine] # AO #width = 480 -height = 240 +#height = 240 #formatsExcluded = #overwriteWidth = 1920 -#overwriteHeight = 960 - -##Textures -[TextureRedefine] # 3 lod shadows -width = 1024 -height = 1024 -formats = 0x005 -overwriteWidth = 2048 -overwriteHeight = 2048 \ No newline at end of file +#overwriteHeight = 960 \ No newline at end of file diff --git a/Enthusiast/TwilightPrincess_4320p/rules.txt b/Enthusiast/TwilightPrincess_4320p/rules.txt index 5782ea7e..2933f30a 100644 --- a/Enthusiast/TwilightPrincess_4320p/rules.txt +++ b/Enthusiast/TwilightPrincess_4320p/rules.txt @@ -1,6 +1,6 @@ [Definition] titleIds = 000500001019C800,000500001019E600,000500001019E500 -name ="Twilight Princess HD 4320p" +name ="Twilight Princess HD - 4320p (8K)" [TextureRedefine] # width = 1920 @@ -9,13 +9,6 @@ formatsExcluded = 0x41A # exclude the intro background texture overwriteWidth = 7680 overwriteHeight = 4320 -#[TextureRedefine] # gamepad view -#width = 854 -#height = 480 -#formatsExcluded = -#overwriteWidth = 3413 -#overwriteHeight = 1920 - [TextureRedefine] # Blur, bloom width = 960 height = 540 @@ -28,12 +21,4 @@ overwriteHeight = 2160 #height = 270 #formats = 0x01a #overwriteWidth = 1920 -#overwriteHeight = 1080 - -##Textures -[TextureRedefine] # Link shadow n light -width = 384 -height = 384 -formats = 0x01a -overwriteWidth = 1536 -overwriteHeight = 1536 \ No newline at end of file +#overwriteHeight = 1080 \ No newline at end of file diff --git a/Performance/TropicalFreeze_360p/1bfa8cd906df24d9_00000000003c9259_ps_source.txt b/Performance/TropicalFreeze_360p/1bfa8cd906df24d9_00000000003c9259_ps_source.txt new file mode 100644 index 00000000..131997ad --- /dev/null +++ b/Performance/TropicalFreeze_360p/1bfa8cd906df24d9_00000000003c9259_ps_source.txt @@ -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)); +} diff --git a/Performance/TropicalFreeze_360p/76e37ae2a66fcff2_0000000000001e49_ps_source.txt b/Performance/TropicalFreeze_360p/76e37ae2a66fcff2_0000000000001e49_ps_source.txt new file mode 100644 index 00000000..9fe41484 --- /dev/null +++ b/Performance/TropicalFreeze_360p/76e37ae2a66fcff2_0000000000001e49_ps_source.txt @@ -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)); +} diff --git a/Performance/TropicalFreeze_360p/940e6df8edff7c01_00000000003c9259_ps_source.txt b/Performance/TropicalFreeze_360p/940e6df8edff7c01_00000000003c9259_ps_source.txt new file mode 100644 index 00000000..054d83bc --- /dev/null +++ b/Performance/TropicalFreeze_360p/940e6df8edff7c01_00000000003c9259_ps_source.txt @@ -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)); +} diff --git a/Performance/TropicalFreeze_360p/b96e10151a15e243_0000000000000079_ps_source.txt b/Performance/TropicalFreeze_360p/b96e10151a15e243_0000000000000079_ps_source.txt new file mode 100644 index 00000000..bc9d0772 --- /dev/null +++ b/Performance/TropicalFreeze_360p/b96e10151a15e243_0000000000000079_ps_source.txt @@ -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)); +} diff --git a/Performance/TropicalFreeze_360p/b978b87d9600dc63_0000000000000079_ps_source.txt b/Performance/TropicalFreeze_360p/b978b87d9600dc63_0000000000000079_ps_source.txt new file mode 100644 index 00000000..653e0ea9 --- /dev/null +++ b/Performance/TropicalFreeze_360p/b978b87d9600dc63_0000000000000079_ps_source.txt @@ -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)); +} diff --git a/Performance/TropicalFreeze_360p/d878b867ab805ffa_0000000000000079_ps_source.txt b/Performance/TropicalFreeze_360p/d878b867ab805ffa_0000000000000079_ps_source.txt new file mode 100644 index 00000000..ffa0e1bb --- /dev/null +++ b/Performance/TropicalFreeze_360p/d878b867ab805ffa_0000000000000079_ps_source.txt @@ -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)); +} diff --git a/Performance/TropicalFreeze_540p/1bfa8cd906df24d9_00000000003c9259_ps_source.txt b/Performance/TropicalFreeze_540p/1bfa8cd906df24d9_00000000003c9259_ps_source.txt new file mode 100644 index 00000000..3dc294c2 --- /dev/null +++ b/Performance/TropicalFreeze_540p/1bfa8cd906df24d9_00000000003c9259_ps_source.txt @@ -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)); +} diff --git a/Performance/TropicalFreeze_540p/76e37ae2a66fcff2_0000000000001e49_ps_source.txt b/Performance/TropicalFreeze_540p/76e37ae2a66fcff2_0000000000001e49_ps_source.txt new file mode 100644 index 00000000..7e5c5af1 --- /dev/null +++ b/Performance/TropicalFreeze_540p/76e37ae2a66fcff2_0000000000001e49_ps_source.txt @@ -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)); +} diff --git a/Performance/TropicalFreeze_540p/940e6df8edff7c01_00000000003c9259_ps_source.txt b/Performance/TropicalFreeze_540p/940e6df8edff7c01_00000000003c9259_ps_source.txt new file mode 100644 index 00000000..fa1a5a0d --- /dev/null +++ b/Performance/TropicalFreeze_540p/940e6df8edff7c01_00000000003c9259_ps_source.txt @@ -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)); +} diff --git a/Performance/TropicalFreeze_540p/b96e10151a15e243_0000000000000079_ps_source.txt b/Performance/TropicalFreeze_540p/b96e10151a15e243_0000000000000079_ps_source.txt new file mode 100644 index 00000000..39e4c81b --- /dev/null +++ b/Performance/TropicalFreeze_540p/b96e10151a15e243_0000000000000079_ps_source.txt @@ -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)); +} diff --git a/Performance/TropicalFreeze_540p/b978b87d9600dc63_0000000000000079_ps_source.txt b/Performance/TropicalFreeze_540p/b978b87d9600dc63_0000000000000079_ps_source.txt new file mode 100644 index 00000000..d3c60e8b --- /dev/null +++ b/Performance/TropicalFreeze_540p/b978b87d9600dc63_0000000000000079_ps_source.txt @@ -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)); +} diff --git a/Performance/TropicalFreeze_540p/d878b867ab805ffa_0000000000000079_ps_source.txt b/Performance/TropicalFreeze_540p/d878b867ab805ffa_0000000000000079_ps_source.txt new file mode 100644 index 00000000..9b4d6d66 --- /dev/null +++ b/Performance/TropicalFreeze_540p/d878b867ab805ffa_0000000000000079_ps_source.txt @@ -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)); +} diff --git a/Quality/TheWindWaker_1440p/rules.txt b/Quality/TheWindWaker_1440p/rules.txt index c679e243..f1ad534a 100644 --- a/Quality/TheWindWaker_1440p/rules.txt +++ b/Quality/TheWindWaker_1440p/rules.txt @@ -1,6 +1,6 @@ [Definition]# EUR, USA, JPN titles titleIds = 0005000010143400,0005000010143600,0005000010143500 # -name ="The Wind Waker HD 1440p" +name ="The Wind Waker HD - 1440p (2K)" [TextureRedefine] # TV width = 1920 @@ -9,13 +9,6 @@ formatsExcluded = 0x41A # exclude the intro background texture overwriteWidth = 2560 overwriteHeight = 1440 -#[TextureRedefine] # gamepad view -#width = 854 -#height = 480 -#formatsExcluded = -#overwriteWidth = 1138 -#overwriteHeight = 640 - #[TextureRedefine] # Blur, bloom #width = 960 #height = 540 @@ -35,12 +28,4 @@ overwriteHeight = 1440 #height = 240 #formatsExcluded = #overwriteWidth = 640 -#overwriteHeight = 320 - -##Textures -#[TextureRedefine] # 3 lod shadows -#width = 1024 -#height = 1024 -#formats = 0x005 -#overwriteWidth = 2048 -#overwriteHeight = 2048 \ No newline at end of file +#overwriteHeight = 320 \ No newline at end of file diff --git a/Quality/TheWindWaker_2160p/rules.txt b/Quality/TheWindWaker_2160p/rules.txt index 0e84beb7..e0f20f8d 100644 --- a/Quality/TheWindWaker_2160p/rules.txt +++ b/Quality/TheWindWaker_2160p/rules.txt @@ -1,6 +1,6 @@ [Definition]# EUR, USA, JPN titles titleIds = 0005000010143400,0005000010143600,0005000010143500 # -name ="The Wind Waker HD 2160p" +name ="The Wind Waker HD - 2160p (4K)" [TextureRedefine] # game rendering resolution. #Change this value width = 1920 @@ -9,16 +9,9 @@ formatsExcluded = 0x41A # exclude the intro background texture overwriteWidth = 3840 overwriteHeight = 2160 -#[TextureRedefine] # gamepad view -#width = 854 -#height = 480 -#formatsExcluded = -#overwriteWidth = 1707 -#overwriteHeight = 960 - #[TextureRedefine] # Blur, bloom #width = 960 -height = 540 +#height = 540 #formatsExcluded = #overwriteWidth = 1920 #overwriteHeight = 1080 @@ -35,12 +28,4 @@ height = 540 #height = 240 #formatsExcluded = #overwriteWidth = 960 -#overwriteHeight = 480 - -##Textures -#[TextureRedefine] # 3 lod shadows -#width = 1024 -#height = 1024 -#formats = 0x005 -#overwriteWidth = 2048 -#overwriteHeight = 2048 \ No newline at end of file +#overwriteHeight = 480 \ No newline at end of file diff --git a/Quality/TropicalFreeze_1080p/1bfa8cd906df24d9_00000000003c9259_ps_source.txt b/Quality/TropicalFreeze_1080p/1bfa8cd906df24d9_00000000003c9259_ps_source.txt new file mode 100644 index 00000000..ff490400 --- /dev/null +++ b/Quality/TropicalFreeze_1080p/1bfa8cd906df24d9_00000000003c9259_ps_source.txt @@ -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)); +} diff --git a/Quality/TropicalFreeze_1080p/76e37ae2a66fcff2_0000000000001e49_ps_source.txt b/Quality/TropicalFreeze_1080p/76e37ae2a66fcff2_0000000000001e49_ps_source.txt new file mode 100644 index 00000000..2b98f9a0 --- /dev/null +++ b/Quality/TropicalFreeze_1080p/76e37ae2a66fcff2_0000000000001e49_ps_source.txt @@ -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)); +} diff --git a/Quality/TropicalFreeze_1080p/940e6df8edff7c01_00000000003c9259_ps_source.txt b/Quality/TropicalFreeze_1080p/940e6df8edff7c01_00000000003c9259_ps_source.txt new file mode 100644 index 00000000..07b22370 --- /dev/null +++ b/Quality/TropicalFreeze_1080p/940e6df8edff7c01_00000000003c9259_ps_source.txt @@ -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)); +} diff --git a/Quality/TropicalFreeze_1080p/b96e10151a15e243_0000000000000079_ps_source.txt b/Quality/TropicalFreeze_1080p/b96e10151a15e243_0000000000000079_ps_source.txt new file mode 100644 index 00000000..7409f0a6 --- /dev/null +++ b/Quality/TropicalFreeze_1080p/b96e10151a15e243_0000000000000079_ps_source.txt @@ -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)); +} diff --git a/Quality/TropicalFreeze_1080p/b978b87d9600dc63_0000000000000079_ps_source.txt b/Quality/TropicalFreeze_1080p/b978b87d9600dc63_0000000000000079_ps_source.txt new file mode 100644 index 00000000..c03b4214 --- /dev/null +++ b/Quality/TropicalFreeze_1080p/b978b87d9600dc63_0000000000000079_ps_source.txt @@ -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)); +} diff --git a/Quality/TropicalFreeze_1080p/d878b867ab805ffa_0000000000000079_ps_source.txt b/Quality/TropicalFreeze_1080p/d878b867ab805ffa_0000000000000079_ps_source.txt new file mode 100644 index 00000000..b948d391 --- /dev/null +++ b/Quality/TropicalFreeze_1080p/d878b867ab805ffa_0000000000000079_ps_source.txt @@ -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)); +} diff --git a/Quality/TropicalFreeze_1440p/1bfa8cd906df24d9_00000000003c9259_ps_source.txt b/Quality/TropicalFreeze_1440p/1bfa8cd906df24d9_00000000003c9259_ps_source.txt new file mode 100644 index 00000000..edc27356 --- /dev/null +++ b/Quality/TropicalFreeze_1440p/1bfa8cd906df24d9_00000000003c9259_ps_source.txt @@ -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)); +} diff --git a/Quality/TropicalFreeze_1440p/76e37ae2a66fcff2_0000000000001e49_ps_source.txt b/Quality/TropicalFreeze_1440p/76e37ae2a66fcff2_0000000000001e49_ps_source.txt new file mode 100644 index 00000000..4ed2b53a --- /dev/null +++ b/Quality/TropicalFreeze_1440p/76e37ae2a66fcff2_0000000000001e49_ps_source.txt @@ -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)); +} diff --git a/Quality/TropicalFreeze_1440p/940e6df8edff7c01_00000000003c9259_ps_source.txt b/Quality/TropicalFreeze_1440p/940e6df8edff7c01_00000000003c9259_ps_source.txt new file mode 100644 index 00000000..7461686c --- /dev/null +++ b/Quality/TropicalFreeze_1440p/940e6df8edff7c01_00000000003c9259_ps_source.txt @@ -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)); +} diff --git a/Quality/TropicalFreeze_1440p/b96e10151a15e243_0000000000000079_ps_source.txt b/Quality/TropicalFreeze_1440p/b96e10151a15e243_0000000000000079_ps_source.txt new file mode 100644 index 00000000..30c459a9 --- /dev/null +++ b/Quality/TropicalFreeze_1440p/b96e10151a15e243_0000000000000079_ps_source.txt @@ -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)); +} diff --git a/Quality/TropicalFreeze_1440p/b978b87d9600dc63_0000000000000079_ps_source.txt b/Quality/TropicalFreeze_1440p/b978b87d9600dc63_0000000000000079_ps_source.txt new file mode 100644 index 00000000..c8480577 --- /dev/null +++ b/Quality/TropicalFreeze_1440p/b978b87d9600dc63_0000000000000079_ps_source.txt @@ -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)); +} diff --git a/Quality/TropicalFreeze_1440p/d878b867ab805ffa_0000000000000079_ps_source.txt b/Quality/TropicalFreeze_1440p/d878b867ab805ffa_0000000000000079_ps_source.txt new file mode 100644 index 00000000..3b4e3983 --- /dev/null +++ b/Quality/TropicalFreeze_1440p/d878b867ab805ffa_0000000000000079_ps_source.txt @@ -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)); +} diff --git a/Quality/TropicalFreeze_2160p/1bfa8cd906df24d9_00000000003c9259_ps_source.txt b/Quality/TropicalFreeze_2160p/1bfa8cd906df24d9_00000000003c9259_ps_source.txt new file mode 100644 index 00000000..9839982e --- /dev/null +++ b/Quality/TropicalFreeze_2160p/1bfa8cd906df24d9_00000000003c9259_ps_source.txt @@ -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)); +} diff --git a/Quality/TropicalFreeze_2160p/76e37ae2a66fcff2_0000000000001e49_ps_source.txt b/Quality/TropicalFreeze_2160p/76e37ae2a66fcff2_0000000000001e49_ps_source.txt new file mode 100644 index 00000000..5239a661 --- /dev/null +++ b/Quality/TropicalFreeze_2160p/76e37ae2a66fcff2_0000000000001e49_ps_source.txt @@ -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)); +} diff --git a/Quality/TropicalFreeze_2160p/940e6df8edff7c01_00000000003c9259_ps_source.txt b/Quality/TropicalFreeze_2160p/940e6df8edff7c01_00000000003c9259_ps_source.txt new file mode 100644 index 00000000..f94d8c51 --- /dev/null +++ b/Quality/TropicalFreeze_2160p/940e6df8edff7c01_00000000003c9259_ps_source.txt @@ -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)); +} diff --git a/Quality/TropicalFreeze_2160p/b96e10151a15e243_0000000000000079_ps_source.txt b/Quality/TropicalFreeze_2160p/b96e10151a15e243_0000000000000079_ps_source.txt new file mode 100644 index 00000000..5af2a1d0 --- /dev/null +++ b/Quality/TropicalFreeze_2160p/b96e10151a15e243_0000000000000079_ps_source.txt @@ -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)); +} diff --git a/Quality/TropicalFreeze_2160p/b978b87d9600dc63_0000000000000079_ps_source.txt b/Quality/TropicalFreeze_2160p/b978b87d9600dc63_0000000000000079_ps_source.txt new file mode 100644 index 00000000..4ca61b48 --- /dev/null +++ b/Quality/TropicalFreeze_2160p/b978b87d9600dc63_0000000000000079_ps_source.txt @@ -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)); +} diff --git a/Quality/TropicalFreeze_2160p/d878b867ab805ffa_0000000000000079_ps_source.txt b/Quality/TropicalFreeze_2160p/d878b867ab805ffa_0000000000000079_ps_source.txt new file mode 100644 index 00000000..bcdd0b77 --- /dev/null +++ b/Quality/TropicalFreeze_2160p/d878b867ab805ffa_0000000000000079_ps_source.txt @@ -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)); +} diff --git a/Quality/TwilightPrincess_1440p/rules.txt b/Quality/TwilightPrincess_1440p/rules.txt index 032aea29..59d221a6 100644 --- a/Quality/TwilightPrincess_1440p/rules.txt +++ b/Quality/TwilightPrincess_1440p/rules.txt @@ -1,6 +1,6 @@ [Definition] titleIds = 000500001019C800,000500001019E600,000500001019E500 -name ="Twilight Princess HD 1440p" +name ="Twilight Princess HD - 1440p (2K)" [TextureRedefine] # game rendering resolution. # width = 1920 @@ -9,13 +9,6 @@ formatsExcluded = 0x41A # exclude the intro background texture overwriteWidth = 2560 overwriteHeight = 1440 -#[TextureRedefine] # gamepad view -#width = 854 -#height = 480 -#formatsExcluded = -#overwriteWidth = 1138 -#overwriteHeight = 640 - [TextureRedefine] # Blur, bloom width = 960 height = 540 @@ -28,12 +21,4 @@ overwriteHeight = 720 #height = 270 #formats = 0x01a #overwriteWidth = 640 -#overwriteHeight = 360 - -##Textures -[TextureRedefine] # Link shadow n light -width = 384 -height = 384 -formats = 0x01a -overwriteWidth = 1536 -overwriteHeight = 1536 \ No newline at end of file +#overwriteHeight = 360 \ No newline at end of file diff --git a/Quality/TwilightPrincess_2160p/rules.txt b/Quality/TwilightPrincess_2160p/rules.txt index f068ea89..8ad8ad03 100644 --- a/Quality/TwilightPrincess_2160p/rules.txt +++ b/Quality/TwilightPrincess_2160p/rules.txt @@ -1,6 +1,6 @@ [Definition] titleIds = 000500001019C800,000500001019E600,000500001019E500 -name ="Twilight Princess HD 2160p" +name ="Twilight Princess HD - 2160p (2K)" [TextureRedefine] # width = 1920 @@ -9,13 +9,6 @@ formatsExcluded = 0x41A # exclude the intro background texture overwriteWidth = 3840 overwriteHeight = 2160 -#[TextureRedefine] # gamepad view -#width = 854 -#height = 480 -#formatsExcluded = -#overwriteWidth = 1707 #Nearest integer -#overwriteHeight = 960 - [TextureRedefine] # Blur, bloom width = 960 height = 540 @@ -28,12 +21,4 @@ overwriteHeight = 1080 #height = 270 #formats = 0x01a #overwriteWidth = 960 #Nearest integer -#overwriteHeight = 540 - -##Textures -[TextureRedefine] # Link shadow n light -width = 384 -height = 384 -formats = 0x01a -overwriteWidth = 1536 -overwriteHeight = 1536 \ No newline at end of file +#overwriteHeight = 540 \ No newline at end of file