[BotW] Group GPU workarounds to tidy stuff up

(Partially) solves https://github.com/slashiee/cemu_graphic_packs/issues/375 (tidying them makes a lot of sense). We can't change the order of the graphic packs (without a lot of work on our end), if you want to see this happen you should file a feature request on Cemu's bug tracker: http://bugs.cemu.info
This commit is contained in:
Crementif 2019-06-13 17:58:41 +02:00
parent 1078e5543a
commit 50a397c02f
8 changed files with 97 additions and 97 deletions

View File

@ -1,43 +1,43 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
// shader 1494f789ce9ac901
uniform ivec4 uf_remappedPS[1];
uniform vec2 uf_fragCoordScale;
layout(location = 0) in vec4 passParameterSem0;
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()
{
vec4 R0f = 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;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = passParameterSem0;
// 0
backupReg0f = R0f.x;
backupReg1f = R0f.y;
backupReg2f = R0f.z;
backupReg3f = R0f.w;
R0f.x = mul_nonIEEE(backupReg0f, intBitsToFloat(uf_remappedPS[0].x));
R0f.y = mul_nonIEEE(backupReg1f, intBitsToFloat(uf_remappedPS[0].y));
R0f.z = mul_nonIEEE(backupReg2f, intBitsToFloat(uf_remappedPS[0].z));
R0f.w = mul_nonIEEE(backupReg3f, intBitsToFloat(uf_remappedPS[0].w));
// export
passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w)*float(0);
}
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
// shader 1494f789ce9ac901
uniform ivec4 uf_remappedPS[1];
uniform vec2 uf_fragCoordScale;
layout(location = 0) in vec4 passParameterSem0;
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()
{
vec4 R0f = 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;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = passParameterSem0;
// 0
backupReg0f = R0f.x;
backupReg1f = R0f.y;
backupReg2f = R0f.z;
backupReg3f = R0f.w;
R0f.x = mul_nonIEEE(backupReg0f, intBitsToFloat(uf_remappedPS[0].x));
R0f.y = mul_nonIEEE(backupReg1f, intBitsToFloat(uf_remappedPS[0].y));
R0f.z = mul_nonIEEE(backupReg2f, intBitsToFloat(uf_remappedPS[0].z));
R0f.w = mul_nonIEEE(backupReg3f, intBitsToFloat(uf_remappedPS[0].w));
// export
passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w)*float(0);
}

View File

@ -1,6 +1,6 @@
[Definition]
titleIds = 50000101FEA00,50000101FE900,5000010199200,5000010199100,5000010199300,5000010199500,5000010199400,5000010199700,5000010199600,5000010199800,5000010199B00,5000010199A00,5000010199C00,50000101A0E00,50000101A0D00,50000101A1000,50000101A5900,50000101A5800,50000101A5B00,50000101A5A00,50000101AC400,50000101AC600,50000101AC500,50000101B4600,50000101B4500,50000101B4800,50000101B4700,50000101BAF00,50000101BAE00,50000101BB000,50000101BB200,50000101BB100,50000101C5D00,50000101C5C00,50000101C5E00,50000101DA800,50000101DA700,50000101DA900,50000101E6500,50000101E6400,50000101E6700,50000101E6600,50000101EBB00,50000101FE800,50000101FE700
name = Undarken
path = Virtual Console/N64/Enhancements/Undarken
description = Undarkens the emulator output.
version = 3
[Definition]
titleIds = 50000101FEA00,50000101FE900,5000010199200,5000010199100,5000010199300,5000010199500,5000010199400,5000010199700,5000010199600,5000010199800,5000010199B00,5000010199A00,5000010199C00,50000101A0E00,50000101A0D00,50000101A1000,50000101A5900,50000101A5800,50000101A5B00,50000101A5A00,50000101AC400,50000101AC600,50000101AC500,50000101B4600,50000101B4500,50000101B4800,50000101B4700,50000101BAF00,50000101BAE00,50000101BB000,50000101BB200,50000101BB100,50000101C5D00,50000101C5C00,50000101C5E00,50000101DA800,50000101DA700,50000101DA900,50000101E6500,50000101E6400,50000101E6700,50000101E6600,50000101EBB00,50000101FE800,50000101FE700
name = Undarken
path = Virtual Console/N64/Enhancements/Undarken
description = Undarkens the emulator output.
version = 3

View File

@ -1,35 +1,35 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
// shader d2a97b2fb99411a5
uniform vec2 uf_fragCoordScale;
layout(binding = 0) uniform sampler2D textureUnitPS0;
layout(location = 0) in vec4 passParameterSem0;
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()
{
vec4 R0f = 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;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = passParameterSem0;
R0f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw);
// export
passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w)*float(1.420118343195266);
}
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
// shader d2a97b2fb99411a5
uniform vec2 uf_fragCoordScale;
layout(binding = 0) uniform sampler2D textureUnitPS0;
layout(location = 0) in vec4 passParameterSem0;
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()
{
vec4 R0f = 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;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = passParameterSem0;
R0f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw);
// export
passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w)*float(1.420118343195266);
}

View File

@ -1,6 +1,6 @@
[Definition]
titleIds = 500001012A100,500001012DF00,500001012DE00,500001012E000,500001012E100,500001012E300,500001012E200,500001012E400,500001012E700,500001012E600,500001012E800,500001012F400,500001012F300,500001012F500,500001012F700,500001012F600,500001012F800,5000010106D00,5000010106C00,5000010106E00,5000010107000,5000010106F00,5000010107100,5000010107500,5000010107200,5000010107600,5000010107800,5000010107700,5000010107900,5000010107C00,5000010107B00,5000010107D00,5000010107F00,5000010107E00,5000010108000,5000010108200,5000010108100,5000010108300,5000010108500,5000010108400,5000010108600,5000010108800,5000010108700,5000010108900,5000010108B00,5000010108A00,5000010108C00,5000010113F00,5000010113E00,5000010114000,5000010114200,5000010114100,5000010114300,5000010114500,5000010114400,5000010114600,5000010114800,5000010114700,5000010114900,5000010114A00,5000010119200,5000010119100,5000010119300,500001011A900,5000010119400,500001011AA00,500001011AE00,5000010119500,5000010119700,5000010119800,500001011AC00,500001011AB00,500001011AD00,5000010129800,5000010129700,5000010129900,5000010129A00,5000010129C00,5000010129B00,5000010129D00,5000010129F00,5000010129E00,500001012A000
name = Undarken
path = Virtual Console/NES/Enhancements/Undarken
description = Undarkens the emulator output.
version = 3
[Definition]
titleIds = 500001012A100,500001012DF00,500001012DE00,500001012E000,500001012E100,500001012E300,500001012E200,500001012E400,500001012E700,500001012E600,500001012E800,500001012F400,500001012F300,500001012F500,500001012F700,500001012F600,500001012F800,5000010106D00,5000010106C00,5000010106E00,5000010107000,5000010106F00,5000010107100,5000010107500,5000010107200,5000010107600,5000010107800,5000010107700,5000010107900,5000010107C00,5000010107B00,5000010107D00,5000010107F00,5000010107E00,5000010108000,5000010108200,5000010108100,5000010108300,5000010108500,5000010108400,5000010108600,5000010108800,5000010108700,5000010108900,5000010108B00,5000010108A00,5000010108C00,5000010113F00,5000010113E00,5000010114000,5000010114200,5000010114100,5000010114300,5000010114500,5000010114400,5000010114600,5000010114800,5000010114700,5000010114900,5000010114A00,5000010119200,5000010119100,5000010119300,500001011A900,5000010119400,500001011AA00,500001011AE00,5000010119500,5000010119700,5000010119800,500001011AC00,500001011AB00,500001011AD00,5000010129800,5000010129700,5000010129900,5000010129A00,5000010129C00,5000010129B00,5000010129D00,5000010129F00,5000010129E00,500001012A000
name = Undarken
path = Virtual Console/NES/Enhancements/Undarken
description = Undarkens the emulator output.
version = 3

View File

@ -1,7 +1,7 @@
[Definition]
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
name = "AMD & Intel Shadows Workaround"
path = "The Legend of Zelda: Breath of the Wild/Workarounds/AMD & Intel Shadows"
name = "AMD and Intel Shadows Workaround"
path = "The Legend of Zelda: Breath of the Wild/Workarounds/GPU specific workarounds/AMD and Intel: Shadows"
description = Fixes shadows when using an AMD or Intel graphics card.
version = 3

View File

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

View File

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

View File

@ -1,7 +1,7 @@
[Definition]
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
name = "NVIDIA Explosion Smoke Workaround"
path = "The Legend of Zelda: Breath of the Wild/Workarounds/NVIDIA Explosion Smoke"
path = "The Legend of Zelda: Breath of the Wild/Workarounds/GPU specific workarounds/Nvidia: Explosion Smoke"
description = Partially fixes thin paper look explosion smoke on NVIDIA when using accurateShaderMul = true.
version = 3