diff --git a/Enhancement/ColorSplash_AARemoval/5d17c42e049ba5c9_0000000000000079_ps_source.txt b/Enhancement/ColorSplash_AARemoval/b4ad3f6c36f63964_0000000000000079_ps.txt similarity index 75% rename from Enhancement/ColorSplash_AARemoval/5d17c42e049ba5c9_0000000000000079_ps_source.txt rename to Enhancement/ColorSplash_AARemoval/b4ad3f6c36f63964_0000000000000079_ps.txt index 47a4579c..d34887a2 100644 --- a/Enhancement/ColorSplash_AARemoval/5d17c42e049ba5c9_0000000000000079_ps_source.txt +++ b/Enhancement/ColorSplash_AARemoval/b4ad3f6c36f63964_0000000000000079_ps.txt @@ -1,10 +1,11 @@ -#version 400 +#version 420 #extension GL_ARB_texture_gather : enable -// shader 5d17c42e049ba5c9 +// shader b4ad3f6c36f63964 uniform ivec4 uf_remappedPS[1]; -uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4000800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -in vec4 passParameter0; +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4000800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 +layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; +uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) @@ -28,7 +29,6 @@ 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); @@ -36,33 +36,32 @@ float tempResultf; int tempResulti; ivec4 ARi = ivec4(0); bool predResult = true; -int loopStuckCounter = 0; vec3 cubeMapSTM; int cubeMapFaceId; -R0i = floatBitsToInt(passParameter0); +R0i = floatBitsToInt(passParameterSem0); //R1i.xyz = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R0i.zw),0.0).xyz); //R2i.xyz = floatBitsToInt(textureLodOffset(textureUnitPS0, intBitsToFloat(R0i.zw),0.0,ivec2(1,0)).xyz); //R3i.xyz = floatBitsToInt(textureLodOffset(textureUnitPS0, intBitsToFloat(R0i.zw),0.0,ivec2(0,1)).xyz); //R4i.xyz = floatBitsToInt(textureLodOffset(textureUnitPS0, intBitsToFloat(R0i.zw),0.0,ivec2(1,1)).xyz); //R5i.xyz = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R0i.xy),0.0).xyz); // 0 -tempi.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(0x3e990afe) + intBitsToFloat(R1i.y) * intBitsToFloat(0x3f162c23) + intBitsToFloat(R1i.z) * intBitsToFloat(0x3dea7371) + intBitsToFloat(0x80000000) * 0.0); +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(0x3e990afe),intBitsToFloat(0x3f162c23),intBitsToFloat(0x3dea7371),0.0))); PV0i.x = tempi.x; PV0i.y = tempi.x; PV0i.z = tempi.x; PV0i.w = tempi.x; R127i.z = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(0x3dea7371))); +PS0i = floatBitsToInt(intBitsToFloat(R2i.z) * intBitsToFloat(0x3dea7371)); // 1 -tempi.x = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(0x3e990afe) + intBitsToFloat(R2i.y) * intBitsToFloat(0x3f162c23) + intBitsToFloat(PS0i) * 1.0 + intBitsToFloat(0x80000000) * 0.0); +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(0x3e990afe),intBitsToFloat(0x3f162c23),1.0,0.0))); PV1i.x = tempi.x; PV1i.y = tempi.x; PV1i.z = tempi.x; PV1i.w = tempi.x; R127i.y = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(0x3dea7371))); +PS1i = floatBitsToInt(intBitsToFloat(R3i.z) * intBitsToFloat(0x3dea7371)); // 2 -R125i.x = floatBitsToInt(intBitsToFloat(R3i.x) * intBitsToFloat(0x3e990afe) + intBitsToFloat(R3i.y) * intBitsToFloat(0x3f162c23) + intBitsToFloat(PS1i) * 1.0 + intBitsToFloat(0x80000000) * 0.0); +R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(0x3e990afe),intBitsToFloat(0x3f162c23),1.0,0.0))); PV0i.x = R125i.x; PV0i.y = R125i.x; PV0i.z = R125i.x; @@ -70,7 +69,7 @@ PV0i.w = R125i.x; R126i.x = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.x)); PS0i = R126i.x; // 3 -tempi.x = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(0x3e990afe) + intBitsToFloat(R4i.y) * intBitsToFloat(0x3f162c23) + intBitsToFloat(R4i.z) * intBitsToFloat(0x3dea7371) + intBitsToFloat(0x80000000) * 0.0); +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(0x3e990afe),intBitsToFloat(0x3f162c23),intBitsToFloat(0x3dea7371),0.0))); PV1i.x = tempi.x; PV1i.y = tempi.x; PV1i.z = tempi.x; @@ -83,7 +82,6 @@ PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.x)); PV0i.y = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(PV1i.x)); PV0i.z = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(R126i.x)); R126i.w = floatBitsToInt(min(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV0i.w = R126i.w; R124i.x = floatBitsToInt(min(intBitsToFloat(R125i.x), intBitsToFloat(PV1i.x))); PS0i = R124i.x; // 5 @@ -92,26 +90,23 @@ backupReg1i = R127i.w; PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.x)); PV1i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV0i.z)); R127i.z = floatBitsToInt(max(intBitsToFloat(backupReg0i), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; R127i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.x)); PV1i.w = R127i.w; R127i.x = floatBitsToInt(max(intBitsToFloat(R125i.x), intBitsToFloat(backupReg1i))); PS1i = R127i.x; // 6 backupReg0i = R126i.w; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(0x3d000000))); +PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3d000000)); PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.w), -(intBitsToFloat(PV1i.w)))); PV0i.z = floatBitsToInt(max(-(intBitsToFloat(PV1i.x)), intBitsToFloat(PV1i.x))); R126i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x))); -PV0i.w = R126i.w; R125i.w = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R124i.x))); PS0i = R125i.w; // 7 PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.y))); R127i.y = floatBitsToInt(max(intBitsToFloat(R127i.z), intBitsToFloat(R127i.x))); -PV1i.y = R127i.y; PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x3c000000))); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(0x3dea7371))); +PS1i = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(0x3dea7371)); // 8 R123i.x = floatBitsToInt((intBitsToFloat(R5i.y) * intBitsToFloat(0x3f162c23) + intBitsToFloat(PS1i))); PV0i.x = R123i.x; @@ -124,9 +119,7 @@ PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS1i))); PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PS1i))); R2i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(R125i.w))); -PV0i.z = R2i.z; R1i.w = floatBitsToInt(max(intBitsToFloat(PV1i.z), intBitsToFloat(R127i.y))); -PV0i.w = R1i.w; // 11 PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0xc1000000))); PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.y), intBitsToFloat(0xc1000000))); @@ -140,23 +133,16 @@ R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_r PV1i.w = R127i.w; // 14 R5i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e2a9930) + intBitsToFloat(R0i.x))); -PV0i.x = R5i.x; R5i.y = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e2a9930) + intBitsToFloat(R0i.y))); -PV0i.y = R5i.y; R5i.z = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0xbe2ab368) + intBitsToFloat(R0i.x))); -PV0i.z = R5i.z; R5i.w = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0xbe2ab368) + intBitsToFloat(R0i.y))); -PV0i.w = R5i.w; R4i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * 0.5 + intBitsToFloat(R0i.x))); PS0i = R4i.x; // 15 backupReg0i = R0i.x; R0i.x = floatBitsToInt((-(intBitsToFloat(R127i.z)) * 0.5 + intBitsToFloat(backupReg0i))); -PV1i.x = R0i.x; R4i.y = floatBitsToInt((intBitsToFloat(R127i.w) * 0.5 + intBitsToFloat(R0i.y))); -PV1i.y = R4i.y; R0i.z = floatBitsToInt((-(intBitsToFloat(R127i.w)) * 0.5 + intBitsToFloat(R0i.y))); -PV1i.z = R0i.z; R3i.xyz = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R5i.xy),0.0).xyz); R5i.xyz = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R5i.zw),0.0).xyz); R4i.xyz = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R4i.xy),0.0).xyz); @@ -164,7 +150,6 @@ R0i.xyz = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R0i.xz),0.0). // 0 R127i.x = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(R5i.z)); R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) / 2.0); -PV0i.x = R127i.x; R126i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R5i.y)); R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) / 2.0); PV0i.z = R126i.z; @@ -178,23 +163,20 @@ PV1i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(backupReg0i)); PV1i.y = PV0i.w; PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); R127i.z = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(R0i.z)); -PV1i.z = R127i.z; PV1i.w = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(backupReg1i)); PS1i = PV0i.z; PS1i = floatBitsToInt(intBitsToFloat(PS1i) / 2.0); // 2 -R124i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e800000) + intBitsToFloat(PV1i.y))); -PV0i.x = R124i.x; -R127i.y = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e800000) + intBitsToFloat(PS1i))); -PV0i.y = R127i.y; +R124i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * 0.25 + intBitsToFloat(PV1i.y))); +R127i.y = floatBitsToInt((intBitsToFloat(PV1i.w) * 0.25 + intBitsToFloat(PS1i))); PV0i.w = R127i.x; PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); // 3 backupReg0i = R127i.z; -R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x3e800000) + intBitsToFloat(PV0i.w))); +R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * 0.25 + intBitsToFloat(PV0i.w))); PV1i.z = R127i.z; // 4 -tempi.x = floatBitsToInt(intBitsToFloat(R124i.x) * intBitsToFloat(0x3e990afe) + intBitsToFloat(R127i.y) * intBitsToFloat(0x3f162c23) + intBitsToFloat(PV1i.z) * intBitsToFloat(0x3dea7371) + intBitsToFloat(0x80000000) * 0.0); +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e990afe),intBitsToFloat(0x3f162c23),intBitsToFloat(0x3dea7371),0.0))); PV0i.x = tempi.x; PV0i.y = tempi.x; PV0i.z = tempi.x; @@ -216,14 +198,10 @@ R123i.w = ((PV0i.w == 0)?(0):(R127i.x)); PV1i.w = R123i.w; // 8 R0i.x = ((PV1i.z == 0)?(R124i.x):(PV1i.y)); -PV0i.x = R0i.x; R0i.y = ((PV1i.z == 0)?(R127i.y):(PV1i.x)); -PV0i.y = R0i.y; R0i.z = ((PV1i.z == 0)?(R127i.z):(PV1i.w)); -PV0i.z = R0i.z; // 9 R0i.w = 0x3f800000; -PV1i.w = R0i.w; // export passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); } diff --git a/Enhancement/ColorSplash_AARemoval/rules.txt b/Enhancement/ColorSplash_AARemoval/rules.txt index 8015946d..948d47b3 100644 --- a/Enhancement/ColorSplash_AARemoval/rules.txt +++ b/Enhancement/ColorSplash_AARemoval/rules.txt @@ -1,3 +1,4 @@ [Definition] titleIds = 500001f600900,500001f600a00,500001f600b00 -name = "Paper Mario: Color Splash - No Anti-Aliasing" \ No newline at end of file +name = "Paper Mario: Color Splash - No Anti-Aliasing" +version = 2 \ No newline at end of file diff --git a/Enhancement/NSMBU_AARemoval/50e29e8929cea348_00000000000003c9_ps.txt b/Enhancement/NSMBU_AARemoval/50e29e8929cea348_00000000000003c9_ps.txt new file mode 100644 index 00000000..88c1a8c8 --- /dev/null +++ b/Enhancement/NSMBU_AARemoval/50e29e8929cea348_00000000000003c9_ps.txt @@ -0,0 +1,161 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +// shader 50e29e8929cea348 +uniform ivec4 uf_remappedPS[3]; +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4240800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c5000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 +layout(location = 0) in vec4 passParameterSem1; +layout(location = 0) out vec4 passPixelColor0; +uniform vec2 uf_fragCoordScale; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R123f = vec4(0.0); +vec4 R125f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +bool activeMaskStack[2]; +bool activeMaskStackC[3]; +activeMaskStack[0] = false; +activeMaskStackC[0] = false; +activeMaskStackC[1] = false; +activeMaskStack[0] = true; +activeMaskStackC[0] = true; +activeMaskStackC[1] = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = passParameterSem1; +if( activeMaskStackC[1] == true ) { +//R1f.xyzw = (textureGather(textureUnitPS1, R0f.xy).xyzw); +R2f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); +} +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +PV0f.x = R1f.z + R1f.w; +PV0f.y = R1f.y + -(R1f.w); +PV0f.z = R1f.x + -(R1f.z); +R127f.w = mul_nonIEEE(R2f.x, intBitsToFloat(uf_remappedPS[0].x)); +R126f.w = min(R1f.z, R1f.w); +PS0f = R126f.w; +// 1 +R126f.x = PV0f.z + PV0f.y; +PV1f.x = R126f.x; +PV1f.y = R1f.x + PV0f.x; +R127f.z = min(R1f.x, R1f.y); +R125f.w = PV0f.z + -(PV0f.y); +PV1f.w = R125f.w; +R127f.y = max(R1f.z, R1f.w); +PS1f = R127f.y; +// 2 +PV0f.x = R1f.y + PV1f.y; +PV0f.y = max(PV1f.w, -(PV1f.w)); +PV0f.z = max(PV1f.x, -(PV1f.x)); +PV0f.w = max(R1f.x, R1f.y); +R127f.x = (R2f.y * intBitsToFloat(uf_remappedPS[0].y) + R127f.w); +PS0f = R127f.x; +// 3 +PV1f.x = min(PV0f.z, PV0f.y); +PV1f.y = min(R126f.w, R127f.z); +PV1f.z = max(R127f.y, PV0f.w); +R123f.w = (PV0f.x * intBitsToFloat(0x3d000000) + intBitsToFloat(0x3b800000)); +PV1f.w = R123f.w; +// 4 +PV0f.x = min(R127f.x, PV1f.y); +PV0f.y = max(R127f.x, PV1f.z); +PV0f.w = max(PV1f.w, PV1f.x); +// 5 +R0f.z = -(PV0f.x) + PV0f.y; +PS1f = 1.0 / PV0f.w; +// 6 +PV0f.x = R125f.w * PS1f; +PV0f.y = R126f.x * PS1f; +// 7 +PV1f.z = max(PV0f.x, intBitsToFloat(0xc0400000)); +PV1f.w = max(PV0f.y, intBitsToFloat(0xc0400000)); +// 8 +R1f.x = min(PV1f.w, intBitsToFloat(0x40400000)); +R1f.y = min(PV1f.z, intBitsToFloat(0x40400000)); +// 9 +predResult = (R0f.z > intBitsToFloat(uf_remappedPS[1].y)); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +R3f.x = (R1f.x * -(intBitsToFloat(uf_remappedPS[2].z)) + R0f.x); +R3f.y = (R1f.y * -(intBitsToFloat(uf_remappedPS[2].w)) + R0f.y); +R0f.z = (R1f.x * intBitsToFloat(uf_remappedPS[2].x) + R0f.x); +R0f.w = (R1f.y * intBitsToFloat(uf_remappedPS[2].y) + R0f.y); +R3f.z = (R1f.x * intBitsToFloat(uf_remappedPS[2].z) + R0f.x); +PS0f = R3f.z; +// 1 +R4f.x = (R1f.x * -(intBitsToFloat(uf_remappedPS[2].x)) + R0f.x); +R4f.y = (R1f.y * -(intBitsToFloat(uf_remappedPS[2].y)) + R0f.y); +R3f.w = (R1f.y * intBitsToFloat(uf_remappedPS[2].w) + R0f.y); +} +if( activeMaskStackC[2] == true ) { +R1f.xyzw = (texture(textureUnitPS0, R0f.zw).xyzw); +R0f.xyzw = (texture(textureUnitPS0, R3f.zw).xyzw); +R3f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw); +R2f.xyzw = (texture(textureUnitPS0, R4f.xy).xyzw); +} +if( activeMaskStackC[2] == true ) { +// 0 +R127f.x = R0f.w + R1f.w; +R127f.x /= 2.0; +R127f.y = R0f.z + R1f.z; +R127f.y /= 2.0; +R127f.z = R0f.y + R1f.y; +R127f.z /= 2.0; +R127f.w = R0f.x + R1f.x; +R127f.w /= 2.0; +// 1 +PV1f.x = R2f.w + R3f.w; +PV1f.x /= 2.0; +PV1f.y = R2f.z + R3f.z; +PV1f.y /= 2.0; +PV1f.z = R2f.y + R3f.y; +PV1f.z /= 2.0; +PV1f.w = R2f.x + R3f.x; +PV1f.w /= 2.0; +// 2 +R2f.x = R127f.w + PV1f.w; +R2f.x /= 2.0; +R2f.y = R127f.z + PV1f.z; +R2f.y /= 2.0; +R2f.z = R127f.y + PV1f.y; +R2f.z /= 2.0; +R2f.w = R127f.x + PV1f.x; +R2f.w /= 2.0; +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +// export +passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); +} diff --git a/Enhancement/NSMBU_AARemoval/72807b87b23dbe4e_00000000000003c9_ps_source.txt b/Enhancement/NSMBU_AARemoval/72807b87b23dbe4e_00000000000003c9_ps_source.txt deleted file mode 100644 index bec389ab..00000000 --- a/Enhancement/NSMBU_AARemoval/72807b87b23dbe4e_00000000000003c9_ps_source.txt +++ /dev/null @@ -1,52 +0,0 @@ -#version 400 -#extension GL_ARB_texture_gather : enable -// shader 72807b87b23dbe4e //removes AA pass -uniform ivec4 uf_remappedPS[3]; -uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4240800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c5000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -in vec4 passParameter0; -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 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; - bool activeMaskStack[31]; - bool activeMaskStackC[32]; - int activeMaskIndex = 0; - activeMaskStack[0] = true; - activeMaskStackC[0] = true; - activeMaskStackC[1] = true; - int loopStuckCounter = 0; - vec3 cubeMapSTM; - int cubeMapFaceId; - R0i = floatBitsToInt(passParameter0); - //R1i.xyzw = floatBitsToInt(textureGather(textureUnitPS1, intBitsToFloat(R0i.xy)).xyzw); - R2i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R0i.xy)).xyzw); - - passPixelColor0 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -} diff --git a/Enhancement/NSMBU_AARemoval/rules.txt b/Enhancement/NSMBU_AARemoval/rules.txt index e79ddf73..06690109 100644 --- a/Enhancement/NSMBU_AARemoval/rules.txt +++ b/Enhancement/NSMBU_AARemoval/rules.txt @@ -1,3 +1,4 @@ [Definition] titleIds = 0005000010101D00,0005000010101E00,000500001014B700,000500001014B800,0005000010101C00,0005000010142300,0005000010142400,0005000010142200 -name = "New Super Mario Bros. U + New Super Luigi U - No Anti-Aliasing" \ No newline at end of file +name = "New Super Mario Bros. U + New Super Luigi U - No Anti-Aliasing" +version = 2 \ No newline at end of file