diff --git a/Enhancements/Bayonetta2_Contrasty/93bde02ae446a30f_000000000000001c_ps.txt b/Enhancements/Bayonetta2_Contrasty/93bde02ae446a30f_000000000000001c_ps.txt index 834ac3bf..9c308e28 100644 --- a/Enhancements/Bayonetta2_Contrasty/93bde02ae446a30f_000000000000001c_ps.txt +++ b/Enhancements/Bayonetta2_Contrasty/93bde02ae446a30f_000000000000001c_ps.txt @@ -1,16 +1,42 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 93bde02ae446a30f//lens dirt const float lensDirt = 1.0; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x37eec000 res 256x256x1 dim 1 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x37eec000 res 256x256x1 dim 1 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x9 layout(location = 0) in vec4 passParameterSem133; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/Bayonetta2_Contrasty/e39a2a718bc419fe_0000000000001e49_ps.txt b/Enhancements/Bayonetta2_Contrasty/e39a2a718bc419fe_0000000000001e49_ps.txt index 2c4e44fe..339ddc68 100644 --- a/Enhancements/Bayonetta2_Contrasty/e39a2a718bc419fe_0000000000001e49_ps.txt +++ b/Enhancements/Bayonetta2_Contrasty/e39a2a718bc419fe_0000000000001e49_ps.txt @@ -1,10 +1,36 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader e39a2a718bc419fe //ct +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +uniform ivec4 uf_remappedPS[5]; +}; +#else uniform vec2 uf_fragCoordScale; +uniform ivec4 uf_remappedPS[5]; +#endif const float hazeFactor = $hazeFactor; @@ -95,10 +121,9 @@ vec3 contrasty(vec3 colour){ -uniform ivec4 uf_remappedPS[5]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf451b000 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: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf532d000 res 320x176x1 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 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x4582a000 res 128x1x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 0 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf451b000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf532d000 res 320x176x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x4582a000 res 128x1x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem133; layout(location = 0) out vec4 passPixelColor0; //uniform vec2 uf_fragCoordScale; diff --git a/Enhancements/Bayonetta2_Contrasty/rules.txt b/Enhancements/Bayonetta2_Contrasty/rules.txt index 17f563c8..797af141 100644 --- a/Enhancements/Bayonetta2_Contrasty/rules.txt +++ b/Enhancements/Bayonetta2_Contrasty/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010172600,0005000010172700,000500001011B900 name = Contrasty path = "Bayonetta 2/Enhancements/Contrasty" description = This pack tweaks the colors and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs. -version = 3 +version = 4 [Preset] name = Default diff --git a/Enhancements/Bayonetta_Contrasty/21e6bc9b0cdbe8d7_00000000000003c9_ps.txt b/Enhancements/Bayonetta_Contrasty/21e6bc9b0cdbe8d7_00000000000003c9_ps.txt index 185e0551..6627c0e1 100644 --- a/Enhancements/Bayonetta_Contrasty/21e6bc9b0cdbe8d7_00000000000003c9_ps.txt +++ b/Enhancements/Bayonetta_Contrasty/21e6bc9b0cdbe8d7_00000000000003c9_ps.txt @@ -1,10 +1,36 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 21e6bc9b0cdbe8d7 +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +uniform ivec4 uf_remappedPS[3]; +}; +#else uniform vec2 uf_fragCoordScale; +uniform ivec4 uf_remappedPS[3]; +#endif const float hazeFactor = $hazeFactor; @@ -94,9 +120,8 @@ vec3 contrasty(vec3 colour){ } -uniform ivec4 uf_remappedPS[3]; -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf5195800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5d81800 res 256x1x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +TEXTURE_LAYOUT(3, 1, 0) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf5195800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5d81800 res 256x1x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem128; layout(location = 0) out vec4 passPixelColor0; //uniform vec2 uf_fragCoordScale; diff --git a/Enhancements/Bayonetta_Contrasty/rules.txt b/Enhancements/Bayonetta_Contrasty/rules.txt index a47369f0..54fd2d56 100644 --- a/Enhancements/Bayonetta_Contrasty/rules.txt +++ b/Enhancements/Bayonetta_Contrasty/rules.txt @@ -3,7 +3,7 @@ titleIds = 000500001014DB00,0005000010157E00,0005000010157F00 name = Contrasty path = "Bayonetta/Enhancements/Contrasty" description = This pack tweaks the colors and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs. -version = 3 +version = 4 [Preset] name = Default diff --git a/Enhancements/BreathOfTheWild_!NoAO/15afdae4307b9a3d_0000000000000000_vs.txt b/Enhancements/BreathOfTheWild_!NoAO/15afdae4307b9a3d_0000000000000000_vs.txt index be3cdf1a..033d0ed7 100644 --- a/Enhancements/BreathOfTheWild_!NoAO/15afdae4307b9a3d_0000000000000000_vs.txt +++ b/Enhancements/BreathOfTheWild_!NoAO/15afdae4307b9a3d_0000000000000000_vs.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 15afdae4307b9a3d // Used for: Vertical Ambient-Occlusion Blur const float resXScale = 0; const float resYScale = 0; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -70,7 +95,7 @@ R2f.w = R2f.y; R2f.y = backupReg0f + -(intBitsToFloat(uf_remappedVS[0].y))/resYScale; PS1f = R2f.y; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); // export diff --git a/Enhancements/BreathOfTheWild_!NoAO/e06e20b2efe87a84_0000000000000000_vs.txt b/Enhancements/BreathOfTheWild_!NoAO/e06e20b2efe87a84_0000000000000000_vs.txt index e6309414..0454b464 100644 --- a/Enhancements/BreathOfTheWild_!NoAO/e06e20b2efe87a84_0000000000000000_vs.txt +++ b/Enhancements/BreathOfTheWild_!NoAO/e06e20b2efe87a84_0000000000000000_vs.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader e06e20b2efe87a84 // Used for: Horizontal Ambient-Occlusion Blur const float resXScale = 0; const float resYScale = 0; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -73,7 +98,7 @@ R2f.w = backupReg0f; R2f.y = backupReg0f + -(intBitsToFloat(uf_remappedVS[0].x))/resXScale; PS1f = R2f.y; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); // export diff --git a/Enhancements/BreathOfTheWild_!NoAO/rules.txt b/Enhancements/BreathOfTheWild_!NoAO/rules.txt index 83d5a062..1d0109d9 100644 --- a/Enhancements/BreathOfTheWild_!NoAO/rules.txt +++ b/Enhancements/BreathOfTheWild_!NoAO/rules.txt @@ -3,4 +3,4 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = "No Ambient Occlusion" path = "The Legend of Zelda: Breath of the Wild/Enhancements/No Ambient Occlusion" description = Disables ambient occlusion. Useful for stuff like the ReShade RTGI shader. Known issues: Shadowed areas can sometimes look incorrect. -version = 3 +version = 4 diff --git a/Enhancements/BreathOfTheWild_!NoDoF/cb0e6e8cbec4502a_0000000000000079_ps.txt b/Enhancements/BreathOfTheWild_!NoDoF/cb0e6e8cbec4502a_0000000000000079_ps.txt index 868abd69..0ac918df 100644 --- a/Enhancements/BreathOfTheWild_!NoDoF/cb0e6e8cbec4502a_0000000000000079_ps.txt +++ b/Enhancements/BreathOfTheWild_!NoDoF/cb0e6e8cbec4502a_0000000000000079_ps.txt @@ -1,12 +1,36 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_arrays_of_arrays : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader cb0e6e8cbec4502a // DoF blur effect - Battle, Camera, Scope -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5c7b800 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: 1 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5c7b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem3; layout(location = 0) out vec4 passPixelColor0; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; +#endif const float resScale = 0; const int radius = int(2*resScale); diff --git a/Enhancements/BreathOfTheWild_!NoDoF/rules.txt b/Enhancements/BreathOfTheWild_!NoDoF/rules.txt index 4d7ebc88..3512800b 100644 --- a/Enhancements/BreathOfTheWild_!NoDoF/rules.txt +++ b/Enhancements/BreathOfTheWild_!NoDoF/rules.txt @@ -3,4 +3,4 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = "No Depth of Field" path = "The Legend of Zelda: Breath of the Wild/Enhancements/No Depth of Field" description = Disables depth of field. -version = 3 +version = 4 diff --git a/Enhancements/BreathOfTheWild_AntiAliasing/0f2b9ee517917425_00000000000003c9_ps.txt b/Enhancements/BreathOfTheWild_AntiAliasing/0f2b9ee517917425_00000000000003c9_ps.txt index 9ddb8c46..c16de5ba 100644 --- a/Enhancements/BreathOfTheWild_AntiAliasing/0f2b9ee517917425_00000000000003c9_ps.txt +++ b/Enhancements/BreathOfTheWild_AntiAliasing/0f2b9ee517917425_00000000000003c9_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 0f2b9ee517917425 - dumped 1.15 // Used for: Removing/Restoring the native BotW Anti-Aliasing implementation to link in inventory screen @@ -9,7 +26,7 @@ #define iBlurrier $inventoryBlurrier #if (preset == 0) // Native AA Disabled -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf49b1800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf49b1800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem2; layout(location = 0) out vec4 passPixelColor0; @@ -20,12 +37,22 @@ passPixelColor0 = texture(textureUnitPS0, passParameterSem2.xy); #endif #if (preset == 1) // Native AA Enabled +#ifdef VULKAN +layout(set = 1, binding = 5) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf49b1800 res 1280x720x1 dim 1 tm: 4 format 0019 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 0x37b40000 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 +uniform vec4 uf_fragCoordScale; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform vec2 uf_fragCoordScale; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 1) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf49b1800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 2) uniform sampler2D textureUnitPS1;// Tex1 addr 0x37b40000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem2; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; ivec2 resDim = textureSize(textureUnitPS0,0); // Retrieve texture dimensions vector holds data-type-float float iresX = ( (float(resDim.x)/float(1280)) + iSharper ) - iBlurrier; // 1st comes aaSharper needs to be added to the direct result of resolution ratio to make it more sharper @@ -683,11 +710,10 @@ passPixelColor0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFl //--------------------------------------------------------------------------// -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf49b1800 res 1280x720x1 dim 1 tm: 4 format 0019 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 0x37f40000 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 +TEXTURE_LAYOUT(0, 1, 3) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf49b1800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 4) uniform sampler2D textureUnitPS1;// Tex1 addr 0x37f40000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem2; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; #define FXAA_QUALITY_PS 12 #define FXAA_QUALITY_P0 1.0 diff --git a/Enhancements/BreathOfTheWild_AntiAliasing/f14bb57cd5c9cb77_00000000000003c9_ps.txt b/Enhancements/BreathOfTheWild_AntiAliasing/f14bb57cd5c9cb77_00000000000003c9_ps.txt index 2a1a533a..f83adbb0 100644 --- a/Enhancements/BreathOfTheWild_AntiAliasing/f14bb57cd5c9cb77_00000000000003c9_ps.txt +++ b/Enhancements/BreathOfTheWild_AntiAliasing/f14bb57cd5c9cb77_00000000000003c9_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader f14bb57cd5c9cb77 - dumped 1.15 // Used for: Removing/Restoring the native BotW World Anti-Aliasing Implementation @@ -9,7 +26,7 @@ #define wBlurrier $worldBlurrier #if (preset == 0) // Native AA Disabled -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf49b1800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf49b1800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem2; layout(location = 0) out vec4 passPixelColor0; void main() @@ -19,12 +36,22 @@ passPixelColor0 = texture(textureUnitPS0, passParameterSem2.xy); #endif #if (preset == 1) // Native AA Enabled +#ifdef VULKAN +layout(set = 1, binding = 5) uniform ufBlock +{ uniform ivec4 uf_remappedPS[4]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf462d000 res 1280x720x1 dim 1 tm: 4 format 0019 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 0x37f40000 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 +uniform vec4 uf_fragCoordScale; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[4]; +uniform vec2 uf_fragCoordScale; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 1) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf462d000 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 2) uniform sampler2D textureUnitPS1;// Tex1 addr 0x37f40000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem2; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; ivec2 resDim = textureSize(textureUnitPS0,0); // Retrieve texture dimensions vector holds data-type-float float wresX = ( (float(resDim.x)/float(1280)) + wSharper ) - wBlurrier; // 1st comes aaSharper needs to be added to the direct result of resolution ratio to make it more sharper @@ -1052,11 +1079,10 @@ FxaaFloat4 FxaaPixelShader( //---------------------------------------------------------------------------------- //#version 100 -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf49b1800 res 1280x720x1 dim 1 tm: 4 format 0019 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 0x37f40000 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 +TEXTURE_LAYOUT(0, 1, 3) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf49b1800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 4) uniform sampler2D textureUnitPS1;// Tex1 addr 0x37f40000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem2; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; ivec2 resolution = textureSize(textureUnitPS0,0); // Retrieve Texture Dimensions in float data type so we dont need to convert diff --git a/Enhancements/BreathOfTheWild_AntiAliasing/rules.txt b/Enhancements/BreathOfTheWild_AntiAliasing/rules.txt index f4f4bd71..6747a8d0 100644 --- a/Enhancements/BreathOfTheWild_AntiAliasing/rules.txt +++ b/Enhancements/BreathOfTheWild_AntiAliasing/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = Anti-Aliasing path = "The Legend of Zelda: Breath of the Wild/Graphics/Anti-Aliasing" description = Enables or Disables Native Botw Anti-Aliasing. Also includes an alternative FXAA implementation. Check the "Anti-Aliasing/rules.txt" file in your Botw AA graphicPack folder for info about the individual settings. -version = 3 +version = 4 [Preset] name = Alternative FXAA (Nvidia's implementation) diff --git a/Enhancements/BreathOfTheWild_ReflExtra/49ce4bf04a654e80_00000003c9249749_ps.txt b/Enhancements/BreathOfTheWild_ReflExtra/49ce4bf04a654e80_00000003c9249749_ps.txt index 5cf66d8e..6fd98e23 100644 --- a/Enhancements/BreathOfTheWild_ReflExtra/49ce4bf04a654e80_00000003c9249749_ps.txt +++ b/Enhancements/BreathOfTheWild_ReflExtra/49ce4bf04a654e80_00000003c9249749_ps.txt @@ -1,27 +1,52 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 49ce4bf04a654e80 // ReflExtra - Enhanced Reflections // Reflections can be seen at greater distances // shader dumped from BotW v1.3.1, using Cemu 1.9.1 +#ifdef VULKAN +layout(set = 1, binding = 10) uniform ufBlock +{ uniform ivec4 uf_remappedPS[10]; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf513a800 res 320x180x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0xf5846000 res 640x360x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x3db66800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2DArray textureUnitPS11;// Tex11 addr 0xf5593000 res 640x360x2 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x2) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0xf575f800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf5977800 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[10]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf513a800 res 320x180x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(5, 1, 3) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(7, 1, 4) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(8, 1, 5) uniform sampler2D textureUnitPS8;// Tex8 addr 0xf5846000 res 640x360x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(9, 1, 6) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x3db66800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4 +TEXTURE_LAYOUT(11, 1, 7) uniform sampler2DArray textureUnitPS11;// Tex11 addr 0xf5593000 res 640x360x2 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(12, 1, 8) uniform sampler2D textureUnitPS12;// Tex12 addr 0xf575f800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(14, 1, 9) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf5977800 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; layout(location = 3) in vec4 passParameterSem4; layout(location = 4) in vec4 passParameterSem6; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) { // stm -> x .. s, y .. t, z .. MajorAxis*2.0 diff --git a/Enhancements/BreathOfTheWild_ReflExtra/8ff2cf86e789335f_00000003c9249749_ps.txt b/Enhancements/BreathOfTheWild_ReflExtra/8ff2cf86e789335f_00000003c9249749_ps.txt index 70b7bdf8..7fb90001 100644 --- a/Enhancements/BreathOfTheWild_ReflExtra/8ff2cf86e789335f_00000003c9249749_ps.txt +++ b/Enhancements/BreathOfTheWild_ReflExtra/8ff2cf86e789335f_00000003c9249749_ps.txt @@ -1,27 +1,52 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 8ff2cf86e789335f // ReflExtra - Enhanced Reflections // Reflections can be seen at greater distances // shader dumped from BotW v1.4.0, using Cemu 1.11.1 +#ifdef VULKAN +layout(set = 1, binding = 10) uniform ufBlock +{ uniform ivec4 uf_remappedPS[10]; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf513a800 res 320x180x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0xf5846000 res 640x360x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x3da46800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2DArray textureUnitPS11;// Tex11 addr 0xf5593000 res 640x360x2 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x2) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0xf575f800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf5977800 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[10]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf513a800 res 320x180x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(5, 1, 3) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(7, 1, 4) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(8, 1, 5) uniform sampler2D textureUnitPS8;// Tex8 addr 0xf5846000 res 640x360x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(9, 1, 6) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x3da46800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4 +TEXTURE_LAYOUT(11, 1, 7) uniform sampler2DArray textureUnitPS11;// Tex11 addr 0xf5593000 res 640x360x2 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(12, 1, 8) uniform sampler2D textureUnitPS12;// Tex12 addr 0xf575f800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(14, 1, 9) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf5977800 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; layout(location = 3) in vec4 passParameterSem4; layout(location = 4) in vec4 passParameterSem6; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) { // stm -> x .. s, y .. t, z .. MajorAxis*2.0 diff --git a/Enhancements/BreathOfTheWild_ReflExtra/rules.txt b/Enhancements/BreathOfTheWild_ReflExtra/rules.txt index 0d9dce1c..0d0a078b 100644 --- a/Enhancements/BreathOfTheWild_ReflExtra/rules.txt +++ b/Enhancements/BreathOfTheWild_ReflExtra/rules.txt @@ -3,4 +3,4 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = "Enhanced Reflections" path = "The Legend of Zelda: Breath of the Wild/Enhancements/Enhanced Reflections" description = Extends the reflections in shrines and some other surfaces. -version = 3 +version = 4 diff --git a/Enhancements/BreathOfTheWild_Shadows/22c410044398c7af_0000000000000000_vs.txt b/Enhancements/BreathOfTheWild_Shadows/22c410044398c7af_0000000000000000_vs.txt index 7c009ba7..f79702a0 100644 --- a/Enhancements/BreathOfTheWild_Shadows/22c410044398c7af_0000000000000000_vs.txt +++ b/Enhancements/BreathOfTheWild_Shadows/22c410044398c7af_0000000000000000_vs.txt @@ -1,16 +1,41 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 22c410044398c7af // Fixed radius blur // shadow pass blur v const float resXScale = $shadowRes; const float resYScale = $shadowRes; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -71,7 +96,7 @@ R2f.w = R2f.y; R2f.y = backupReg0f + -(PS0f); PS1f = R2f.y; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); // export diff --git a/Enhancements/BreathOfTheWild_Shadows/2a2f55a2b2d64474_0000000000000000_vs.txt b/Enhancements/BreathOfTheWild_Shadows/2a2f55a2b2d64474_0000000000000000_vs.txt index 3a958e5d..214596dd 100644 --- a/Enhancements/BreathOfTheWild_Shadows/2a2f55a2b2d64474_0000000000000000_vs.txt +++ b/Enhancements/BreathOfTheWild_Shadows/2a2f55a2b2d64474_0000000000000000_vs.txt @@ -1,16 +1,41 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 2a2f55a2b2d64474 // Fixed radius blur // shadow pass blur h const float resXScale = $shadowRes; const float resYScale = $shadowRes; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -75,7 +100,7 @@ PS1f = R0f.x; // 2 R0f.y = R2f.x + -(R127f.x); // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Enhancements/BreathOfTheWild_Shadows/88133ee405eaae28_000003c000009269_ps.txt b/Enhancements/BreathOfTheWild_Shadows/88133ee405eaae28_000003c000009269_ps.txt index 0505a443..396da33a 100644 --- a/Enhancements/BreathOfTheWild_Shadows/88133ee405eaae28_000003c000009269_ps.txt +++ b/Enhancements/BreathOfTheWild_Shadows/88133ee405eaae28_000003c000009269_ps.txt @@ -1,37 +1,61 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 88133ee405eaae28 // Shadow 2x2 box blur fix // shader dumped from BotW v1.4.0, using Cemu 1.11.1 const float resXScale = $shadowRes; const float resYScale = $shadowRes; -layout(binding = 33, std140) uniform uniformBlockPS1 +UNIFORM_BUFFER_LAYOUT(33, 1, 7) uniform uniformBlockPS1 { vec4 uf_blockPS1[1024]; }; -layout(binding = 38, std140) uniform uniformBlockPS6 +UNIFORM_BUFFER_LAYOUT(38, 1, 8) uniform uniformBlockPS6 { vec4 uf_blockPS6[1024]; }; -layout(binding = 42, std140) uniform uniformBlockPS10 +UNIFORM_BUFFER_LAYOUT(42, 1, 9) uniform uniformBlockPS10 { vec4 uf_blockPS10[1024]; }; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x310be800 res 4x4x1 dim 1 tm: 2 format 0007 compSel: 0 0 0 1 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x310be800 res 32x32x1 dim 1 tm: 2 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x6) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 8) uniform sampler2DArrayShadow textureUnitPS8;// Tex8 addr 0xf557c800 res 720x720x3 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x3) Sampler8 ClampX/Y/Z: 6 6 2 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x310c0000 res 2000x1600x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 1 1 1 border: 1 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x310be800 res 4x4x1 dim 1 tm: 2 format 0007 compSel: 0 0 0 1 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x310be800 res 32x32x1 dim 1 tm: 2 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x6 +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(6, 1, 3) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(8, 1, 4) uniform sampler2DArrayShadow textureUnitPS8;// Tex8 addr 0xf557c800 res 720x720x3 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(15, 1, 5) uniform sampler2D textureUnitPS15;// Tex15 addr 0x310c0000 res 2000x1600x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x2 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem5; layout(location = 2) in vec4 passParameterSem6; layout(location = 5) out vec4 passPixelColor5; +#ifdef VULKAN +layout(set = 1, binding = 6) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; +#endif int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/BreathOfTheWild_Shadows/ffe0e8c84f6e8da9_000003c000009269_ps.txt b/Enhancements/BreathOfTheWild_Shadows/ffe0e8c84f6e8da9_000003c000009269_ps.txt index c3fba029..216ec456 100644 --- a/Enhancements/BreathOfTheWild_Shadows/ffe0e8c84f6e8da9_000003c000009269_ps.txt +++ b/Enhancements/BreathOfTheWild_Shadows/ffe0e8c84f6e8da9_000003c000009269_ps.txt @@ -1,37 +1,61 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader ffe0e8c84f6e8da9 // Shadow 2x2 box blur fix // shader dumped from BotW v1.3.1, using Cemu 1.10.0 const float resXScale = $shadowRes; const float resYScale = $shadowRes; -layout(binding = 33, std140) uniform uniformBlockPS1 +UNIFORM_BUFFER_LAYOUT(33, 1, 7) uniform uniformBlockPS1 { vec4 uf_blockPS1[1024]; }; -layout(binding = 38, std140) uniform uniformBlockPS6 +UNIFORM_BUFFER_LAYOUT(38, 1, 8) uniform uniformBlockPS6 { vec4 uf_blockPS6[1024]; }; -layout(binding = 42, std140) uniform uniformBlockPS10 +UNIFORM_BUFFER_LAYOUT(42, 1, 9) uniform uniformBlockPS10 { vec4 uf_blockPS10[1024]; }; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30fea800 res 4x4x1 dim 1 tm: 2 format 0007 compSel: 0 0 0 1 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x30fea800 res 32x32x1 dim 1 tm: 2 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x6) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 8) uniform sampler2DArrayShadow textureUnitPS8;// Tex8 addr 0xf557c800 res 720x720x3 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x3) Sampler8 ClampX/Y/Z: 6 6 2 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x30fec000 res 2000x1600x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 1 1 1 border: 1 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30fea800 res 4x4x1 dim 1 tm: 2 format 0007 compSel: 0 0 0 1 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x30fea800 res 32x32x1 dim 1 tm: 2 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x6 +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(6, 1, 3) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(8, 1, 4) uniform sampler2DArrayShadow textureUnitPS8;// Tex8 addr 0xf557c800 res 720x720x3 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(15, 1, 5) uniform sampler2D textureUnitPS15;// Tex15 addr 0x30fec000 res 2000x1600x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x2 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem5; layout(location = 2) in vec4 passParameterSem6; layout(location = 5) out vec4 passPixelColor5; +#ifdef VULKAN +layout(set = 1, binding = 6) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; +#endif int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/BreathOfTheWild_Shadows/rules.txt b/Enhancements/BreathOfTheWild_Shadows/rules.txt index d8f7d272..f1e6c1b2 100644 --- a/Enhancements/BreathOfTheWild_Shadows/rules.txt +++ b/Enhancements/BreathOfTheWild_Shadows/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = Shadow Resolution path = "The Legend of Zelda: Breath of the Wild/Graphics/Shadow Resolution" description = Note: Increasing shadow resolution is known to increase VRAM usage directly. Lowering this might give you a good boost in performance if you're limited on VRAM but makes shadows blockier. Medium is the original resolution. -version = 3 +version = 4 [Preset] name = Medium (1.00x, Default) diff --git a/Enhancements/DonkeyKongTropicalFreeze_!AARemoval/10ccf0cc1234d069_00000000000003c9_ps.txt b/Enhancements/DonkeyKongTropicalFreeze_!AARemoval/10ccf0cc1234d069_00000000000003c9_ps.txt index 8967d7da..c6e27a31 100644 --- a/Enhancements/DonkeyKongTropicalFreeze_!AARemoval/10ccf0cc1234d069_00000000000003c9_ps.txt +++ b/Enhancements/DonkeyKongTropicalFreeze_!AARemoval/10ccf0cc1234d069_00000000000003c9_ps.txt @@ -1,12 +1,37 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 10ccf0cc1234d069 // AA removal cemu 1.8 +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf55ae800 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 1) 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 vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf55ae800 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4708800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/DonkeyKongTropicalFreeze_!AARemoval/bafe6c9c37bfca4d_00000000000003c9_ps.txt b/Enhancements/DonkeyKongTropicalFreeze_!AARemoval/bafe6c9c37bfca4d_00000000000003c9_ps.txt index db896044..6d2c0ca7 100644 --- a/Enhancements/DonkeyKongTropicalFreeze_!AARemoval/bafe6c9c37bfca4d_00000000000003c9_ps.txt +++ b/Enhancements/DonkeyKongTropicalFreeze_!AARemoval/bafe6c9c37bfca4d_00000000000003c9_ps.txt @@ -1,12 +1,37 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader bafe6c9c37bfca4d // AA removal cemu 1.8 version +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf55ae800 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 1) 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 vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf55ae800 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4708800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/DonkeyKongTropicalFreeze_!AARemoval/rules.txt b/Enhancements/DonkeyKongTropicalFreeze_!AARemoval/rules.txt index e41e45d6..9ff815f2 100644 --- a/Enhancements/DonkeyKongTropicalFreeze_!AARemoval/rules.txt +++ b/Enhancements/DonkeyKongTropicalFreeze_!AARemoval/rules.txt @@ -3,4 +3,4 @@ titleIds = 0005000010137F00,0005000010138300,0005000010144800 name = AA Removal path = "Donkey Kong Country: Tropical Freeze/Enhancements/AA Removal" description = Removes AA, no performance gain. Used for clean look or injecting external AA. -version = 3 +version = 4 diff --git a/Enhancements/DrLuigi_!AntiAliasing/9e9abde99f9510dc_000000000000001c_ps.txt b/Enhancements/DrLuigi_!AntiAliasing/9e9abde99f9510dc_000000000000001c_ps.txt index b34acd7b..02c70d02 100644 --- a/Enhancements/DrLuigi_!AntiAliasing/9e9abde99f9510dc_000000000000001c_ps.txt +++ b/Enhancements/DrLuigi_!AntiAliasing/9e9abde99f9510dc_000000000000001c_ps.txt @@ -1,13 +1,38 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 9e9abde99f9510dc +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf489e000 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 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf489e000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem129; layout(location = 1) in vec4 passParameterSem128; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/DrLuigi_!AntiAliasing/rules.txt b/Enhancements/DrLuigi_!AntiAliasing/rules.txt index cd01c39d..260488a3 100644 --- a/Enhancements/DrLuigi_!AntiAliasing/rules.txt +++ b/Enhancements/DrLuigi_!AntiAliasing/rules.txt @@ -3,4 +3,4 @@ titleIds = 0005000010150300,0005000010152A00,0005000010152B00 name = Anti-Aliasing path = "Dr. Luigi/Graphics/Anti-Aliasing (WIP)" description = Re-enables the game's anti-aliasing and scales it up to the current resolution. -version = 3 +version = 4 diff --git a/Enhancements/HyruleWarriors_Contrasty/572a6cfa3943923d_0000000000001e49_ps.txt b/Enhancements/HyruleWarriors_Contrasty/572a6cfa3943923d_0000000000001e49_ps.txt index 026932e5..b84627f7 100644 --- a/Enhancements/HyruleWarriors_Contrasty/572a6cfa3943923d_0000000000001e49_ps.txt +++ b/Enhancements/HyruleWarriors_Contrasty/572a6cfa3943923d_0000000000001e49_ps.txt @@ -1,10 +1,36 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 572a6cfa3943923d //ingame contrasty +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +uniform ivec4 uf_remappedPS[5]; +}; +#else uniform vec2 uf_fragCoordScale; +uniform ivec4 uf_remappedPS[5]; +#endif const float hazeFactor = 0.1; @@ -94,10 +120,9 @@ vec3 contrasty(vec3 colour){ } -uniform ivec4 uf_remappedPS[5]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e13800 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(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x1abf4800 res 1x1x1 dim 1 tm: 2 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1abdd800 res 160x90x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 0 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e13800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x1abf4800 res 1x1x1 dim 1 tm: 2 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1abdd800 res 160x90x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem128; layout(location = 0) out vec4 passPixelColor0; //uniform vec2 uf_fragCoordScale; diff --git a/Enhancements/HyruleWarriors_Contrasty/6ea8b1aa69c0b6f7_0000000001e49249_ps.txt b/Enhancements/HyruleWarriors_Contrasty/6ea8b1aa69c0b6f7_0000000001e49249_ps.txt index b62d67e2..28602eb3 100644 --- a/Enhancements/HyruleWarriors_Contrasty/6ea8b1aa69c0b6f7_0000000001e49249_ps.txt +++ b/Enhancements/HyruleWarriors_Contrasty/6ea8b1aa69c0b6f7_0000000001e49249_ps.txt @@ -1,10 +1,36 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 6ea8b1aa69c0b6f7 //cutscene contrasty +#ifdef VULKAN +layout(set = 1, binding = 7) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +uniform ivec4 uf_remappedPS[5]; +}; +#else uniform vec2 uf_fragCoordScale; +uniform ivec4 uf_remappedPS[5]; +#endif const float hazeFactor = 0.1; @@ -94,14 +120,13 @@ vec3 contrasty(vec3 colour){ } -uniform ivec4 uf_remappedPS[5]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e13800 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(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1b163800 res 512x1x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x10ea5000 res 1280x720x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x1aff9000 res 320x180x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x1b072000 res 320x180x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0x1b17b000 res 1x1x1 dim 1 tm: 2 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0x1abdd800 res 160x90x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 0 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e13800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1b163800 res 512x1x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3;// Tex3 addr 0x10ea5000 res 1280x720x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4;// Tex4 addr 0x1aff9000 res 320x180x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(5, 1, 4) uniform sampler2D textureUnitPS5;// Tex5 addr 0x1b072000 res 320x180x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(6, 1, 5) uniform sampler2D textureUnitPS6;// Tex6 addr 0x1b17b000 res 1x1x1 dim 1 tm: 2 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(7, 1, 6) uniform sampler2D textureUnitPS7;// Tex7 addr 0x1abdd800 res 160x90x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem128; layout(location = 0) out vec4 passPixelColor0; //uniform vec2 uf_fragCoordScale; diff --git a/Enhancements/HyruleWarriors_Contrasty/rules.txt b/Enhancements/HyruleWarriors_Contrasty/rules.txt index c73c1fee..37f6c2ed 100644 --- a/Enhancements/HyruleWarriors_Contrasty/rules.txt +++ b/Enhancements/HyruleWarriors_Contrasty/rules.txt @@ -3,7 +3,7 @@ titleIds = 000500001017D800,000500001017D900,000500001017CD00 name = Contrasty path = "Hyrule Warriors/Enhancements/Contrasty" description = This pack tweaks the colors and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs. -version = 3 +version = 4 [Preset] name = Default diff --git a/Enhancements/M&SRio2016_NoHUD/0535e0f9e37cf612_0000000000000000_vs.txt b/Enhancements/M&SRio2016_NoHUD/0535e0f9e37cf612_0000000000000000_vs.txt index db01600d..2555e3e6 100644 --- a/Enhancements/M&SRio2016_NoHUD/0535e0f9e37cf612_0000000000000000_vs.txt +++ b/Enhancements/M&SRio2016_NoHUD/0535e0f9e37cf612_0000000000000000_vs.txt @@ -2,15 +2,40 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 0535e0f9e37cf612 #define enabled $enabled +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[8]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem3; -layout(location = 2) in uvec4 attrDataSem4; -layout(location = 3) in uvec4 attrDataSem8; -layout(location = 4) in uvec4 attrDataSem9; +}; +#else +uniform ivec4 uf_remappedVS[8]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem9; out gl_PerVertex { vec4 gl_Position; @@ -119,7 +144,7 @@ R3f.z = (mul_nonIEEE(R125f.y,intBitsToFloat(uf_remappedVS[7].z)) + PV1f.y); R3f.w = (mul_nonIEEE(R125f.y,intBitsToFloat(uf_remappedVS[7].w)) + PV1f.x); // export #if (enabled == 0) -gl_Position = vec4(R3f.x, R3f.y, R3f.z, R3f.w); +SET_POSITION(vec4(R3f.x, R3f.y, R3f.z, R3f.w)); #endif #if (enabled == 1) #endif diff --git a/Enhancements/M&SRio2016_NoHUD/c7a21597bd595a25_0000000000000000_vs.txt b/Enhancements/M&SRio2016_NoHUD/c7a21597bd595a25_0000000000000000_vs.txt index 1b634240..3ecfebd1 100644 --- a/Enhancements/M&SRio2016_NoHUD/c7a21597bd595a25_0000000000000000_vs.txt +++ b/Enhancements/M&SRio2016_NoHUD/c7a21597bd595a25_0000000000000000_vs.txt @@ -2,15 +2,40 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader c7a21597bd595a25 #define enabled $enabled +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[4]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem3; -layout(location = 2) in uvec4 attrDataSem4; -layout(location = 3) in uvec4 attrDataSem8; -layout(location = 4) in uvec4 attrDataSem9; +}; +#else +uniform ivec4 uf_remappedVS[4]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem9; out gl_PerVertex { vec4 gl_Position; @@ -97,7 +122,7 @@ R0f.y = (mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedVS[3].y)) + PV0f.y); R0f.w = (mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedVS[3].w)) + PV0f.x); // export #if (enabled == 0) -gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +SET_POSITION(vec4(R0f.x, R0f.y, R0f.z, R0f.w)); #endif #if (enabled == 1) #endif diff --git a/Enhancements/M&SRio2016_NoHUD/rules.txt b/Enhancements/M&SRio2016_NoHUD/rules.txt index bca70e05..7e0cd6fd 100644 --- a/Enhancements/M&SRio2016_NoHUD/rules.txt +++ b/Enhancements/M&SRio2016_NoHUD/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010190300,00050000101E5300,00050000101E5400 name = No HUD path = "Mario & Sonic at the Rio 2016 Olympic Games/Enhancements/No HUD" description = Removes the HUD of the game. -version = 3 +version = 4 [Preset] name = Disabled (Default) diff --git a/Enhancements/MarioKart8_Bloom/e90feef2bca6cb2e_00000000000003c9_ps.txt b/Enhancements/MarioKart8_Bloom/e90feef2bca6cb2e_00000000000003c9_ps.txt index d5b2c0c7..08dabb45 100644 --- a/Enhancements/MarioKart8_Bloom/e90feef2bca6cb2e_00000000000003c9_ps.txt +++ b/Enhancements/MarioKart8_Bloom/e90feef2bca6cb2e_00000000000003c9_ps.txt @@ -1,16 +1,41 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader e90feef2bca6cb2e const float bloomFactor = $bloom; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[4]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4240800 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: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf50cf800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[4]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4240800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf50cf800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem2; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/MarioKart8_Bloom/rules.txt b/Enhancements/MarioKart8_Bloom/rules.txt index e1d0e9a0..f1bdee44 100644 --- a/Enhancements/MarioKart8_Bloom/rules.txt +++ b/Enhancements/MarioKart8_Bloom/rules.txt @@ -3,7 +3,7 @@ titleIds = 000500001010ec00,000500001010ed00,000500001010eb00 name = Bloom Adjustment path = "Mario Kart 8/Enhancements/Bloom Adjustment" description = Allows you to adjust how strong the bloom is. Full amount is the default intensity of bloom. -version = 3 +version = 4 [Preset] name = Full Amount (Default) diff --git a/Enhancements/MarioKart8_Contrasty/998a9f67e353657b_0000000000001e51_ps.txt b/Enhancements/MarioKart8_Contrasty/998a9f67e353657b_0000000000001e51_ps.txt index 3956d266..486d4372 100644 --- a/Enhancements/MarioKart8_Contrasty/998a9f67e353657b_0000000000001e51_ps.txt +++ b/Enhancements/MarioKart8_Contrasty/998a9f67e353657b_0000000000001e51_ps.txt @@ -1,8 +1,34 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +uniform ivec4 uf_remappedPS[1]; +}; +#else uniform vec2 uf_fragCoordScale; +uniform ivec4 uf_remappedPS[1]; +#endif const float hazeFactor = 0.1; @@ -93,10 +119,9 @@ vec3 contrasty(vec3 colour){ // shader 998a9f67e353657b -uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf494a800 res 320x180x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler3D textureUnitPS1;// Tex1 addr 0x41a14000 res 8x8x8 dim 2 tm: 3 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x8) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf4240800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf494a800 res 320x180x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler3D textureUnitPS1;// Tex1 addr 0x41a14000 res 8x8x8 dim 2 tm: 3 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf4240800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 0) out vec4 passPixelColor0; diff --git a/Enhancements/MarioKart8_Contrasty/rules.txt b/Enhancements/MarioKart8_Contrasty/rules.txt index 7e20bf27..518d7625 100644 --- a/Enhancements/MarioKart8_Contrasty/rules.txt +++ b/Enhancements/MarioKart8_Contrasty/rules.txt @@ -3,7 +3,7 @@ titleIds = 000500001010ec00,000500001010ed00,000500001010eb00 name = Contrasty path = "Mario Kart 8/Enhancements/Contrasty" description = This pack tweaks the colors and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs. -version = 3 +version = 4 [Preset] name = Default diff --git a/Enhancements/NewSuperMarioBrosU_FancyFX/03285368cf940e37_0000000000000079_ps.txt b/Enhancements/NewSuperMarioBrosU_FancyFX/03285368cf940e37_0000000000000079_ps.txt index 2563240d..2586dfd9 100644 --- a/Enhancements/NewSuperMarioBrosU_FancyFX/03285368cf940e37_0000000000000079_ps.txt +++ b/Enhancements/NewSuperMarioBrosU_FancyFX/03285368cf940e37_0000000000000079_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 03285368cf940e37 //box bg //float dither = $dither ; @@ -10,10 +27,17 @@ const int sampleScale = 2; //float lightBloom = 0.95; -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 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4240800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem3; layout(location = 0) out vec4 passPixelColor0; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; +#endif // FabriceNeyret2 CC, single shader gaussian by intermediate MIPmap level. www.shadertoy.com/view/ltScRG const int samples = 8 * sampleScale, //8 or 4 balances xy position diff --git a/Enhancements/NewSuperMarioBrosU_FancyFX/rules.txt b/Enhancements/NewSuperMarioBrosU_FancyFX/rules.txt index 088a15bb..38917b46 100644 --- a/Enhancements/NewSuperMarioBrosU_FancyFX/rules.txt +++ b/Enhancements/NewSuperMarioBrosU_FancyFX/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010101D00,0005000010101E00,000500001014B700,000500001014B800,0 name = Resolution path = "New Super Mario Bros. U/Enhancements/Fancy FX" #and luigi description = Pretty blur, de-band sky, re-align cinematic etc, maintained on Nvidia. -version = 3 +version = 4 [Preset] diff --git a/Enhancements/NinjaGaiden3_Contrasty/a5e9d150276a805c_0000000000001e4a_ps.txt b/Enhancements/NinjaGaiden3_Contrasty/a5e9d150276a805c_0000000000001e4a_ps.txt index 5ca8921e..5d87cf07 100644 --- a/Enhancements/NinjaGaiden3_Contrasty/a5e9d150276a805c_0000000000001e4a_ps.txt +++ b/Enhancements/NinjaGaiden3_Contrasty/a5e9d150276a805c_0000000000001e4a_ps.txt @@ -1,10 +1,36 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader a5e9d150276a805c //light +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +uniform ivec4 uf_remappedPS[2]; +}; +#else uniform vec2 uf_fragCoordScale; +uniform ivec4 uf_remappedPS[2]; +#endif const float hazeFactor = 0.1; @@ -93,10 +119,9 @@ vec3 contrasty(vec3 colour){ return fColour; } -uniform ivec4 uf_remappedPS[2]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4c24000 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: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x3a86a000 res 160x90x1 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 -layout(binding = 2) uniform sampler3D textureUnitPS2;// Tex2 addr 0x3b2aa000 res 24x24x24 dim 2 tm: 1 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x18) Sampler2 ClampX/Y/Z: 2 2 2 border: 0 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4c24000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x3a86a000 res 160x90x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler3D textureUnitPS2;// Tex2 addr 0x3b2aa000 res 24x24x24 dim 2 tm: 1 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem128; layout(location = 0) out vec4 passPixelColor0; diff --git a/Enhancements/NinjaGaiden3_Contrasty/rules.txt b/Enhancements/NinjaGaiden3_Contrasty/rules.txt index 23ab30de..f93018e8 100644 --- a/Enhancements/NinjaGaiden3_Contrasty/rules.txt +++ b/Enhancements/NinjaGaiden3_Contrasty/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010110900,0005000010110A00,0005000010110B00 name = Contrasty path = "Ninja Gaiden 3: Razors Edge/Enhancements/Contrasty" description = This pack tweaks the colors and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs. -version = 3 +version = 4 [Preset] name = Default diff --git a/Enhancements/Splatoon_Bloom/34eaf9e211e76379_00000000000003c9_ps.txt b/Enhancements/Splatoon_Bloom/34eaf9e211e76379_00000000000003c9_ps.txt index c1399008..87f3dee4 100644 --- a/Enhancements/Splatoon_Bloom/34eaf9e211e76379_00000000000003c9_ps.txt +++ b/Enhancements/Splatoon_Bloom/34eaf9e211e76379_00000000000003c9_ps.txt @@ -1,16 +1,41 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 34eaf9e211e76379 const float bloomFactor = $bloom; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[4]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf45c6000 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: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x16466800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[4]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x16466800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem2; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/Splatoon_Bloom/rules.txt b/Enhancements/Splatoon_Bloom/rules.txt index c34c8114..4ae5740f 100644 --- a/Enhancements/Splatoon_Bloom/rules.txt +++ b/Enhancements/Splatoon_Bloom/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010176900,0005000010176A00,0005000010162B00 name = Bloom Adjustment path = "Splatoon/Enhancements/Bloom Adjustment" description = Allows you to adjust how strong the bloom is. Full amount is the default intensity of bloom. -version = 3 +version = 4 [Preset] name = Full Amount (Default) diff --git a/Enhancements/Splatoon_Shadows/b4196905d6fff2bb_0000000000001e69_ps.txt b/Enhancements/Splatoon_Shadows/b4196905d6fff2bb_0000000000001e69_ps.txt index 15b65649..bb5eb0b6 100644 --- a/Enhancements/Splatoon_Shadows/b4196905d6fff2bb_0000000000001e69_ps.txt +++ b/Enhancements/Splatoon_Shadows/b4196905d6fff2bb_0000000000001e69_ps.txt @@ -1,18 +1,43 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader b4196905d6fff2bb // Used for: Fixing high-res shadows on models at end-screen of campaign/matches const float resScale = $shadowRes; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[12]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4240800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2DArrayShadow textureUnitPS1;// Tex1 addr 0xf494a800 res 2048x2048x1 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x17f95000 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[12]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4240800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2DArrayShadow textureUnitPS1;// Tex1 addr 0xf494a800 res 2048x2048x1 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x17f95000 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) noperspective in vec4 passParameterSem0; layout(location = 1) noperspective in vec4 passParameterSem4; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/Splatoon_Shadows/rules.txt b/Enhancements/Splatoon_Shadows/rules.txt index cd5e81df..ae3e13ff 100644 --- a/Enhancements/Splatoon_Shadows/rules.txt +++ b/Enhancements/Splatoon_Shadows/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010176900,0005000010176A00,0005000010162B00 name = Shadow Resolution path = "Splatoon/Graphics/Shadow Resolution" description = Note: Increasing shadow resolution is known to increase VRAM usage directly. Lowering this might give you a good boost in performance if you're limited on VRAM but makes shadows blockier. Medium is the original resolution. -version = 3 +version = 4 [Preset] name = Medium (1.00x, Default) diff --git a/Enhancements/SuperMario3DWorld_Contrasty/be99d80628d31127_00000000000003c9_ps.txt b/Enhancements/SuperMario3DWorld_Contrasty/be99d80628d31127_00000000000003c9_ps.txt index 6c3c1a08..d66ae9da 100644 --- a/Enhancements/SuperMario3DWorld_Contrasty/be99d80628d31127_00000000000003c9_ps.txt +++ b/Enhancements/SuperMario3DWorld_Contrasty/be99d80628d31127_00000000000003c9_ps.txt @@ -1,10 +1,36 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader be99d80628d31127 //AA PS // Used for: Another vertical blur +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +uniform ivec4 uf_remappedPS[4]; +}; +#else uniform vec2 uf_fragCoordScale; +uniform ivec4 uf_remappedPS[4]; +#endif const float hazeFactor = 0.1; @@ -93,9 +119,8 @@ vec3 contrasty(vec3 colour){ return fColour; } -uniform ivec4 uf_remappedPS[4]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5800800 res 1280x720x1 dim 1 tm: 4 format 0019 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 0xf4341000 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 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5800800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4341000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem2; layout(location = 0) out vec4 passPixelColor0; //uniform vec2 uf_fragCoordScale; diff --git a/Enhancements/SuperMario3DWorld_Contrasty/rules.txt b/Enhancements/SuperMario3DWorld_Contrasty/rules.txt index 8c8c907f..6a511254 100644 --- a/Enhancements/SuperMario3DWorld_Contrasty/rules.txt +++ b/Enhancements/SuperMario3DWorld_Contrasty/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010145D00,0005000010145C00,0005000010106100 name = Contrasty path = "Super Mario 3D World/Enhancements/Contrasty" description = This pack tweaks the colors and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs. Doesn't work if you also upscale or downscale the resolution. -version = 3 +version = 4 [Preset] name = Default diff --git a/Enhancements/SuperSmashBros_Contrasty/9f6adb9a651f84b9_0000000000000079_ps.txt b/Enhancements/SuperSmashBros_Contrasty/9f6adb9a651f84b9_0000000000000079_ps.txt index 2c85be20..a09e3f1e 100644 --- a/Enhancements/SuperSmashBros_Contrasty/9f6adb9a651f84b9_0000000000000079_ps.txt +++ b/Enhancements/SuperSmashBros_Contrasty/9f6adb9a651f84b9_0000000000000079_ps.txt @@ -1,9 +1,35 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 9f6adb9a651f84b9 //cty +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +uniform ivec4 uf_remappedPS[3]; +}; +#else uniform vec2 uf_fragCoordScale; +uniform ivec4 uf_remappedPS[3]; +#endif const float hazeFactor = $hazeFactor; @@ -94,8 +120,7 @@ vec3 contrasty(vec3 colour){ -uniform ivec4 uf_remappedPS[3]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4ff4000 res 1920x1080x1 dim 1 tm: 4 format 0219 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4ff4000 res 1920x1080x1 dim 1 tm: 4 format 0219 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem130; layout(location = 0) out vec4 passPixelColor0; //uniform vec2 uf_fragCoordScale; diff --git a/Enhancements/SuperSmashBros_Contrasty/rules.txt b/Enhancements/SuperSmashBros_Contrasty/rules.txt index 96513ba4..f8a97a3d 100644 --- a/Enhancements/SuperSmashBros_Contrasty/rules.txt +++ b/Enhancements/SuperSmashBros_Contrasty/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010110E00,0005000010145000,0005000010144F00 name = Contrasty path = "Super Smash Bros. for Wii U/Enhancements/Contrasty" description = This pack tweaks the colors and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs. -version = 3 +version = 4 [Preset] name = Default diff --git a/Enhancements/SuperSmashBros_Shadows/7613a0515b67d8b4_0000000000000000_vs.txt b/Enhancements/SuperSmashBros_Shadows/7613a0515b67d8b4_0000000000000000_vs.txt index c27fa61b..65eaaea4 100644 --- a/Enhancements/SuperSmashBros_Shadows/7613a0515b67d8b4_0000000000000000_vs.txt +++ b/Enhancements/SuperSmashBros_Shadows/7613a0515b67d8b4_0000000000000000_vs.txt @@ -2,12 +2,37 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 7613a0515b67d8b4 const float shadowRes = $shadowRes; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem2; out gl_PerVertex { vec4 gl_Position; @@ -69,7 +94,7 @@ PS1f = R3f.y; // 2 R3f.z = R2f.x + R127f.w; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem130 = vec4(R0f.x, R0f.y, R0f.z, R0f.y); // export diff --git a/Enhancements/SuperSmashBros_Shadows/rules.txt b/Enhancements/SuperSmashBros_Shadows/rules.txt index a19ff6d0..c90c56f5 100644 --- a/Enhancements/SuperSmashBros_Shadows/rules.txt +++ b/Enhancements/SuperSmashBros_Shadows/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010110E00,0005000010145000,0005000010144F00 name = Shadow Resolution path = "Super Smash Bros. for Wii U/Graphics/Shadow Resolution" description = Note: Increasing shadow resolution is known to increase VRAM usage directly. Lowering this increases performance but makes shadows blockier. Medium is the original resolution. -version = 3 +version = 4 [Preset] name = Medium (1.00x, Default) diff --git a/Enhancements/TokyoMirage_!AARemoval/04d0827b9471eb22_0000000000000000_vs.txt b/Enhancements/TokyoMirage_!AARemoval/04d0827b9471eb22_0000000000000000_vs.txt index 9dc0ea58..638912c0 100644 --- a/Enhancements/TokyoMirage_!AARemoval/04d0827b9471eb22_0000000000000000_vs.txt +++ b/Enhancements/TokyoMirage_!AARemoval/04d0827b9471eb22_0000000000000000_vs.txt @@ -2,12 +2,37 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 04d0827b9471eb22 +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -69,7 +94,7 @@ R0f.y = R2f.y + -(R127f.z); R0f.z = PV0f.y; R0f.w = PV0f.x; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem137 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Enhancements/TokyoMirage_!AARemoval/rules.txt b/Enhancements/TokyoMirage_!AARemoval/rules.txt index 86d6b4bd..1a0013f4 100644 --- a/Enhancements/TokyoMirage_!AARemoval/rules.txt +++ b/Enhancements/TokyoMirage_!AARemoval/rules.txt @@ -3,4 +3,4 @@ titleIds = 00050000101ED700,00050000101ED800,0005000010131D00 name = AA Removal path = "Tokyo Mirage Sessions FE/Enhancements/AA Removal" description = Removes AA, no performance gain. Used for clean look or injecting external AA. -version = 3 +version = 4 diff --git a/Enhancements/TokyoMirage_!VideoPanNScan/dda6656146476243_0000000000000000_vs.txt b/Enhancements/TokyoMirage_!VideoPanNScan/dda6656146476243_0000000000000000_vs.txt index ef9919a4..2b46cdbe 100644 --- a/Enhancements/TokyoMirage_!VideoPanNScan/dda6656146476243_0000000000000000_vs.txt +++ b/Enhancements/TokyoMirage_!VideoPanNScan/dda6656146476243_0000000000000000_vs.txt @@ -1,13 +1,37 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader dda6656146476243 //Video aspect const float UI = $UIAspectX; const float UIY = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[5]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -86,7 +110,7 @@ R0f.w = tempf.x; R1f.xyz = vec3(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z)); R1f.w = intBitsToFloat(uf_remappedVS[4].w); // export -gl_Position = vec4(R0f.x*UI, R0f.y*UIY, R0f.z, R0f.w); +SET_POSITION(vec4(R0f.x*UI, R0f.y*UIY, R0f.z, R0f.w)); // export passParameterSem131 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); // export diff --git a/Enhancements/TokyoMirage_!VideoPanNScan/rules.txt b/Enhancements/TokyoMirage_!VideoPanNScan/rules.txt index 41a0a77a..3e5aa3d8 100644 --- a/Enhancements/TokyoMirage_!VideoPanNScan/rules.txt +++ b/Enhancements/TokyoMirage_!VideoPanNScan/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101ED700,00050000101ED800,0005000010131D00 name = Video pan n scan path = "Tokyo Mirage Sessions FE/Graphics/Video pan n scan" description = 21:9 Video, cuts of sides instead of pillarboxing -version = 3 +version = 4 [Preset] name = 21:9 Pan n scan (Cut top, bottom) diff --git a/Enhancements/TokyoMirage_AdjustBlur/4d96f8f88575bcab_00000000000003c9_ps.txt b/Enhancements/TokyoMirage_AdjustBlur/4d96f8f88575bcab_00000000000003c9_ps.txt index f520969e..7e3c61a8 100644 --- a/Enhancements/TokyoMirage_AdjustBlur/4d96f8f88575bcab_00000000000003c9_ps.txt +++ b/Enhancements/TokyoMirage_AdjustBlur/4d96f8f88575bcab_00000000000003c9_ps.txt @@ -1,16 +1,41 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 4d96f8f88575bcab -- Used to blur out the main frame in various cutscenes float blur = $Blur; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4fa8000 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf4c24000 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4fa8000 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf4c24000 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem136; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/TokyoMirage_AdjustBlur/rules.txt b/Enhancements/TokyoMirage_AdjustBlur/rules.txt index 89b3561d..c4c336e1 100644 --- a/Enhancements/TokyoMirage_AdjustBlur/rules.txt +++ b/Enhancements/TokyoMirage_AdjustBlur/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101ED700,00050000101ED800,0005000010131D00 name = Adjust CutScene Blur Pack path = "Tokyo Mirage Sessions FE/Graphics/Adjust Blur" description = Changes the in-game cut-scenes blur. -version = 3 +version = 4 [Preset] name = 100% Blur (Original) diff --git a/Enhancements/TokyoMirage_Contrasty/a7f4801a8d29e333_0000000000000079_ps.txt b/Enhancements/TokyoMirage_Contrasty/a7f4801a8d29e333_0000000000000079_ps.txt index b9536ef7..9905ecb9 100644 --- a/Enhancements/TokyoMirage_Contrasty/a7f4801a8d29e333_0000000000000079_ps.txt +++ b/Enhancements/TokyoMirage_Contrasty/a7f4801a8d29e333_0000000000000079_ps.txt @@ -1,9 +1,35 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader a7f4801a8d29e333 +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +uniform ivec4 uf_remappedPS[3]; +}; +#else uniform vec2 uf_fragCoordScale; +uniform ivec4 uf_remappedPS[3]; +#endif const float hazeFactor = 0.1; @@ -93,8 +119,7 @@ vec3 contrasty(vec3 colour){ } const float resScale = 3.0; //AA in PS -uniform ivec4 uf_remappedPS[3]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf470a000 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 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem136; layout(location = 1) in vec4 passParameterSem137; layout(location = 0) out vec4 passPixelColor0; diff --git a/Enhancements/TokyoMirage_Contrasty/rules.txt b/Enhancements/TokyoMirage_Contrasty/rules.txt index 2ffd739c..4d1ec184 100644 --- a/Enhancements/TokyoMirage_Contrasty/rules.txt +++ b/Enhancements/TokyoMirage_Contrasty/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101ED700,00050000101ED800,0005000010131D00 name = Contrasty path = "Tokyo Mirage Sessions FE/Enhancements/Contrasty" description = This pack tweaks the colors and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs. -version = 3 +version = 4 [Preset] name = Default diff --git a/Enhancements/TwilightPrincessHD_Bicubic/rules.txt b/Enhancements/TwilightPrincessHD_Bicubic/rules.txt index acceb40b..4ecf816d 100644 --- a/Enhancements/TwilightPrincessHD_Bicubic/rules.txt +++ b/Enhancements/TwilightPrincessHD_Bicubic/rules.txt @@ -3,7 +3,7 @@ name = Optimized Bicubic spline resampler titleIds = 000500001019C800,000500001019E600,000500001019E500 path = "The Legend of Zelda: Twilight Princess HD/Enhancements/Bicubic Sharpen Filters" description = The b and c can adjust the properties of the cubic; sometimes referred to as "blurring" and "ringing" respectively. -version = 3 +version = 4 [OutputShader] upscaleMagFilter = Linear diff --git a/Enhancements/TwilightPrincessHD_Contrasty/49865bd2e62efda1_0000000000000079_ps.txt b/Enhancements/TwilightPrincessHD_Contrasty/49865bd2e62efda1_0000000000000079_ps.txt index d5df980f..6920f6e2 100644 --- a/Enhancements/TwilightPrincessHD_Contrasty/49865bd2e62efda1_0000000000000079_ps.txt +++ b/Enhancements/TwilightPrincessHD_Contrasty/49865bd2e62efda1_0000000000000079_ps.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 49865bd2e62efda1 //dark world bloom const float bloom = $bloom; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf597f000 res 480x270x1 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: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf597f000 res 480x270x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/TwilightPrincessHD_Contrasty/5f422bf63e25be7f_0000000000000079_ps.txt b/Enhancements/TwilightPrincessHD_Contrasty/5f422bf63e25be7f_0000000000000079_ps.txt index b74b8be4..0eba5249 100644 --- a/Enhancements/TwilightPrincessHD_Contrasty/5f422bf63e25be7f_0000000000000079_ps.txt +++ b/Enhancements/TwilightPrincessHD_Contrasty/5f422bf63e25be7f_0000000000000079_ps.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 5f422bf63e25be7f // Bleach pass cutscene const float bleach = $bleach; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x24dfb000 res 960x540x1 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: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x24dfb000 res 960x540x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem1; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/TwilightPrincessHD_Contrasty/95a5a89d62998e0d_0000000000000079_ps.txt b/Enhancements/TwilightPrincessHD_Contrasty/95a5a89d62998e0d_0000000000000079_ps.txt index e6015873..aecd8b53 100644 --- a/Enhancements/TwilightPrincessHD_Contrasty/95a5a89d62998e0d_0000000000000079_ps.txt +++ b/Enhancements/TwilightPrincessHD_Contrasty/95a5a89d62998e0d_0000000000000079_ps.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 95a5a89d62998e0d // blur const float bloom = $bloom; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[3]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[3]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf59ff000 res 480x270x1 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: 0 -layout(location = 0) out vec4 passPixelColor0; uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf59ff000 res 480x270x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +layout(location = 0) out vec4 passPixelColor0; int clampFI32(int v) { if( v == 0x7FFFFFFF ) @@ -41,7 +66,7 @@ ivec4 ARi = ivec4(0); bool predResult = true; vec3 cubeMapSTM; int cubeMapFaceId; -R0f = vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw); +R0f = GET_FRAGCOORD(); scaler = uf_fragCoordScale.x; // 0 R7f.x = R0f.x * intBitsToFloat(0x3b088889); diff --git a/Enhancements/TwilightPrincessHD_Contrasty/c14019840473ff86_00000000000003c9_ps.txt b/Enhancements/TwilightPrincessHD_Contrasty/c14019840473ff86_00000000000003c9_ps.txt index 0161ff1d..d5a5737b 100644 --- a/Enhancements/TwilightPrincessHD_Contrasty/c14019840473ff86_00000000000003c9_ps.txt +++ b/Enhancements/TwilightPrincessHD_Contrasty/c14019840473ff86_00000000000003c9_ps.txt @@ -1,8 +1,32 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader c14019840473ff86 //aa +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; +#endif const float hazeFactor = 0.1; @@ -92,8 +116,8 @@ vec3 contrasty(vec3 colour){ } -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4001000 res 1920x1080x1 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: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf5187000 res 1920x1080x1 dim 1 tm: 4 format 0011 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4001000 res 1920x1080x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf5187000 res 1920x1080x1 dim 1 tm: 4 format 0011 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; diff --git a/Enhancements/TwilightPrincessHD_Contrasty/rules.txt b/Enhancements/TwilightPrincessHD_Contrasty/rules.txt index f5d56d68..4c211d87 100644 --- a/Enhancements/TwilightPrincessHD_Contrasty/rules.txt +++ b/Enhancements/TwilightPrincessHD_Contrasty/rules.txt @@ -3,7 +3,7 @@ titleIds = 000500001019C800,000500001019E600,000500001019E500 name = Contrasty path = "The Legend of Zelda: Twilight Princess HD/Enhancements/Contrasty" description = This pack tweaks the colors and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs. -version = 3 +version = 4 [Preset] name = default diff --git a/Enhancements/TwilightPrincessHD_FancyFX/e334517825fdd599_0000000000000079_ps.txt b/Enhancements/TwilightPrincessHD_FancyFX/e334517825fdd599_0000000000000079_ps.txt index f84430a7..55f06cd5 100644 --- a/Enhancements/TwilightPrincessHD_FancyFX/e334517825fdd599_0000000000000079_ps.txt +++ b/Enhancements/TwilightPrincessHD_FancyFX/e334517825fdd599_0000000000000079_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader e334517825fdd599 //basline dof blur.. @@ -9,10 +26,17 @@ const int sampleScaling = $presetPass; #define EnableBlur $enableBlur -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4001000 res 1920x1080x1 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: 0 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4001000 res 1920x1080x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; +#endif const int sampleScale = 2 + sampleScaling; diff --git a/Enhancements/TwilightPrincessHD_FancyFX/rules.txt b/Enhancements/TwilightPrincessHD_FancyFX/rules.txt index 9301da2a..16ea9961 100644 --- a/Enhancements/TwilightPrincessHD_FancyFX/rules.txt +++ b/Enhancements/TwilightPrincessHD_FancyFX/rules.txt @@ -3,7 +3,7 @@ titleIds = 000500001019C800,000500001019E600,000500001019E500 name = Resolution path = "The Legend of Zelda: Twilight Princess HD/Enhancements/Fancy FX" description = Pretty blur, shadow x2, de-band sky, maintained on Nvidia. -version = 3 +version = 4 [Preset] # Gaussian blur w correct scaling diff --git a/Enhancements/VCGBA_Undarken/79ba8affb269f61c_0000000000000079_ps.txt b/Enhancements/VCGBA_Undarken/79ba8affb269f61c_0000000000000079_ps.txt index 5dd8117a..3e47fe0d 100644 --- a/Enhancements/VCGBA_Undarken/79ba8affb269f61c_0000000000000079_ps.txt +++ b/Enhancements/VCGBA_Undarken/79ba8affb269f61c_0000000000000079_ps.txt @@ -1,11 +1,35 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 79ba8affb269f61c // Checked against output from mGBA (191/255 = Wii U is 74.90196078431373‬% darker) // verified on Fire Emblem and Minish Cap +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; -layout(binding = 0) uniform sampler2D textureUnitPS0; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; layout(location = 0) in vec4 passParameterSem128; layout(location = 1) in vec4 passParameterSem129; layout(location = 0) out vec4 passPixelColor0; diff --git a/Enhancements/VCGBA_Undarken/rules.txt b/Enhancements/VCGBA_Undarken/rules.txt index 131fb22b..0326767b 100644 --- a/Enhancements/VCGBA_Undarken/rules.txt +++ b/Enhancements/VCGBA_Undarken/rules.txt @@ -3,4 +3,4 @@ titleIds = 5000010173E00,5000010174000,5000010174100,5000010176100,5000010176000 name = Undarken path = Virtual Console/GBA/Enhancements/Undarken description = Undarkens the emulator output. -version = 3 +version = 4 diff --git a/Enhancements/VCN64_Undarken/1494f789ce9ac901_000000000000000f_ps.txt b/Enhancements/VCN64_Undarken/1494f789ce9ac901_000000000000000f_ps.txt index 3f0c2588..fc675bce 100644 --- a/Enhancements/VCN64_Undarken/1494f789ce9ac901_000000000000000f_ps.txt +++ b/Enhancements/VCN64_Undarken/1494f789ce9ac901_000000000000000f_ps.txt @@ -1,9 +1,34 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 1494f789ce9ac901 +#ifdef VULKAN +layout(set = 1, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[1]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[1]; uniform vec2 uf_fragCoordScale; +#endif layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; int clampFI32(int v) diff --git a/Enhancements/VCN64_Undarken/rules.txt b/Enhancements/VCN64_Undarken/rules.txt index b0dabb14..b98fd9e0 100644 --- a/Enhancements/VCN64_Undarken/rules.txt +++ b/Enhancements/VCN64_Undarken/rules.txt @@ -3,4 +3,4 @@ titleIds = 50000101FEA00,50000101FE900,5000010199200,5000010199100,5000010199300 name = Undarken path = Virtual Console/N64/Enhancements/Undarken description = Undarkens the emulator output. -version = 3 +version = 4 diff --git a/Enhancements/VCNES_Undarken/d2a97b2fb99411a5_0000000000000079_ps.txt b/Enhancements/VCNES_Undarken/d2a97b2fb99411a5_0000000000000079_ps.txt index 6cf63375..cc2e3fb1 100644 --- a/Enhancements/VCNES_Undarken/d2a97b2fb99411a5_0000000000000079_ps.txt +++ b/Enhancements/VCNES_Undarken/d2a97b2fb99411a5_0000000000000079_ps.txt @@ -1,9 +1,33 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader d2a97b2fb99411a5 +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; -layout(binding = 0) uniform sampler2D textureUnitPS0; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; int clampFI32(int v) diff --git a/Enhancements/VCNES_Undarken/rules.txt b/Enhancements/VCNES_Undarken/rules.txt index a72959ba..aa925134 100644 --- a/Enhancements/VCNES_Undarken/rules.txt +++ b/Enhancements/VCNES_Undarken/rules.txt @@ -3,4 +3,4 @@ titleIds = 500001012A100,500001012DF00,500001012DE00,500001012E000,500001012E100 name = Undarken path = Virtual Console/NES/Enhancements/Undarken description = Undarkens the emulator output. -version = 3 +version = 4 diff --git a/Enhancements/WindWakerHD_Contrasty/04dcbf2655f94e03_00000000000007f9_ps.txt b/Enhancements/WindWakerHD_Contrasty/04dcbf2655f94e03_00000000000007f9_ps.txt index 72629ef7..d1b98ed0 100644 --- a/Enhancements/WindWakerHD_Contrasty/04dcbf2655f94e03_00000000000007f9_ps.txt +++ b/Enhancements/WindWakerHD_Contrasty/04dcbf2655f94e03_00000000000007f9_ps.txt @@ -1,18 +1,43 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 04dcbf2655f94e03 //hoirzon cloud layer lighten up +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform vec2 uf_fragCoordScale; +#endif const float skyboxRed = float($skyboxRed); const float skyboxGreen = float($skyboxGreen); const float skyboxBlue = float($skyboxBlue); const float skyboxMix = float($skyboxMix); -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x2702c000 res 1024x256x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 2 0 border: 0 +TEXTURE_LAYOUT(3, 1, 0) uniform sampler2D textureUnitPS3;// Tex3 addr 0x2702c000 res 1024x256x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xb layout(location = 0) in vec4 passParameterSem6; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/WindWakerHD_Contrasty/53141a02b3f78921_00000000000000ff_ps.txt b/Enhancements/WindWakerHD_Contrasty/53141a02b3f78921_00000000000000ff_ps.txt index 3c545180..ae408733 100644 --- a/Enhancements/WindWakerHD_Contrasty/53141a02b3f78921_00000000000000ff_ps.txt +++ b/Enhancements/WindWakerHD_Contrasty/53141a02b3f78921_00000000000000ff_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 53141a02b3f78921 //make gradient more white blue const float skyboxRed = float($skyboxRed); @@ -7,11 +24,19 @@ const float skyboxGreen = float($skyboxGreen); const float skyboxBlue = float($skyboxBlue); const float skyboxMix = float($skyboxMix); +#ifdef VULKAN +layout(set = 1, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform vec2 uf_fragCoordScale; +#endif layout(location = 0) in vec4 passParameterSem1; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/WindWakerHD_Contrasty/8a763b05908ba4e8_00000000000000ff_ps.txt b/Enhancements/WindWakerHD_Contrasty/8a763b05908ba4e8_00000000000000ff_ps.txt index b5e25d95..b236c421 100644 --- a/Enhancements/WindWakerHD_Contrasty/8a763b05908ba4e8_00000000000000ff_ps.txt +++ b/Enhancements/WindWakerHD_Contrasty/8a763b05908ba4e8_00000000000000ff_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 8a763b05908ba4e8 //Third band horizon const float skyboxRed = float($skyboxRed); @@ -7,13 +24,21 @@ const float skyboxGreen = float($skyboxGreen); const float skyboxBlue = float($skyboxBlue); const float skyboxMix = float($skyboxMix); +#ifdef VULKAN +layout(set = 1, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +#endif layout(location = 0) in vec4 passParameterSem1; layout(location = 1) in vec4 passParameterSem2; layout(location = 2) in vec4 passParameterSem4; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/WindWakerHD_Contrasty/90ed656e9c17616b_00000000000000ff_ps.txt b/Enhancements/WindWakerHD_Contrasty/90ed656e9c17616b_00000000000000ff_ps.txt index 058840f8..dc66babd 100644 --- a/Enhancements/WindWakerHD_Contrasty/90ed656e9c17616b_00000000000000ff_ps.txt +++ b/Enhancements/WindWakerHD_Contrasty/90ed656e9c17616b_00000000000000ff_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 90ed656e9c17616b //make second gradient more white blue const float skyboxRed = float($skyboxRed); @@ -7,11 +24,19 @@ const float skyboxGreen = float($skyboxGreen); const float skyboxBlue = float($skyboxBlue); const float skyboxMix = float($skyboxMix); +#ifdef VULKAN +layout(set = 1, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +#endif layout(location = 0) in vec4 passParameterSem1; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/WindWakerHD_Contrasty/92d5cf316124c301_00000000007fd249_ps.txt b/Enhancements/WindWakerHD_Contrasty/92d5cf316124c301_00000000007fd249_ps.txt index c605ee9a..6a403503 100644 --- a/Enhancements/WindWakerHD_Contrasty/92d5cf316124c301_00000000007fd249_ps.txt +++ b/Enhancements/WindWakerHD_Contrasty/92d5cf316124c301_00000000007fd249_ps.txt @@ -1,14 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 92d5cf316124c301 //beach cooking +#ifdef VULKAN +layout(set = 1, binding = 5) uniform ufBlock +{ uniform ivec4 uf_remappedPS[7]; -layout(binding = 0) uniform sampler2DArray textureUnitPS0;// Tex0 addr 0x22754000 res 4x4x1 dim 5 tm: 2 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 0xf4200000 res 960x540x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x25304000 res 4096x4096x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xd) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf42ff800 res 960x540x1 dim 1 tm: 4 format 001a compSel: 1 2 3 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x26528000 res 512x2048x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xc) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[7]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2DArray textureUnitPS0;// Tex0 addr 0x22754000 res 4x4x1 dim 5 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4200000 res 960x540x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x25304000 res 4096x4096x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xd +TEXTURE_LAYOUT(3, 1, 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf42ff800 res 960x540x1 dim 1 tm: 4 format 001a compSel: 1 2 3 0 mipView: 0x0 (num 0x2 +TEXTURE_LAYOUT(4, 1, 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x26528000 res 512x2048x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xc layout(location = 0) in vec4 passParameterSem1; layout(location = 1) in vec4 passParameterSem2; layout(location = 2) in vec4 passParameterSem4; @@ -18,7 +44,6 @@ layout(location = 5) in vec4 passParameterSem7; layout(location = 6) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/WindWakerHD_Contrasty/960d3ef6662043c7_0000000000000079_ps.txt b/Enhancements/WindWakerHD_Contrasty/960d3ef6662043c7_0000000000000079_ps.txt index 5cdb4a14..b90a0379 100644 --- a/Enhancements/WindWakerHD_Contrasty/960d3ef6662043c7_0000000000000079_ps.txt +++ b/Enhancements/WindWakerHD_Contrasty/960d3ef6662043c7_0000000000000079_ps.txt @@ -1,15 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 960d3ef6662043c7//bloom blend const float skyboxRed = float($skyboxRed); const float skyboxGreen = float($skyboxGreen); const float skyboxBlue = float($skyboxBlue); const float skyboxMix = float($skyboxMix); -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4000800 res 480x270x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4000800 res 480x270x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4 layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; +#endif int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/WindWakerHD_Contrasty/b77c717f243c0b08_00000000007f9249_ps.txt b/Enhancements/WindWakerHD_Contrasty/b77c717f243c0b08_00000000007f9249_ps.txt index ae325cbc..b4712341 100644 --- a/Enhancements/WindWakerHD_Contrasty/b77c717f243c0b08_00000000007f9249_ps.txt +++ b/Enhancements/WindWakerHD_Contrasty/b77c717f243c0b08_00000000007f9249_ps.txt @@ -1,18 +1,44 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader b77c717f243c0b08 +#ifdef VULKAN +layout(set = 1, binding = 5) uniform ufBlock +{ uniform ivec4 uf_remappedPS[9]; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[9]; +uniform vec2 uf_fragCoordScale; +#endif const float skyboxRed = float($skyboxRed); const float skyboxGreen = float($skyboxGreen); const float skyboxBlue = float($skyboxBlue); const float skyboxMix = float($skyboxMix); -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x25672000 res 4096x4096x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xd) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf42ff800 res 960x540x1 dim 1 tm: 4 format 001a compSel: 1 2 3 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x2df1f000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x2dfcb000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 2 border: 1 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x2df1f000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 1 +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1;// Tex1 addr 0x25672000 res 4096x4096x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xd +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf42ff800 res 960x540x1 dim 1 tm: 4 format 001a compSel: 1 2 3 0 mipView: 0x0 (num 0x2 +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3;// Tex3 addr 0x2df1f000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0xb +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4;// Tex4 addr 0x2dfcb000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(5, 1, 4) uniform sampler2D textureUnitPS5;// Tex5 addr 0x2df1f000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0xb layout(location = 0) in vec4 passParameterSem2; layout(location = 1) in vec4 passParameterSem4; layout(location = 2) in vec4 passParameterSem5; @@ -22,7 +48,6 @@ layout(location = 5) in vec4 passParameterSem8; layout(location = 6) in vec4 passParameterSem9; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/WindWakerHD_Contrasty/c2cae30e906be2d5_0000000000001e49_ps.txt b/Enhancements/WindWakerHD_Contrasty/c2cae30e906be2d5_0000000000001e49_ps.txt index 4c76925e..d8cd7c4b 100644 --- a/Enhancements/WindWakerHD_Contrasty/c2cae30e906be2d5_0000000000001e49_ps.txt +++ b/Enhancements/WindWakerHD_Contrasty/c2cae30e906be2d5_0000000000001e49_ps.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader c2cae30e906be2d5 //Ao scale +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[8]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4200000 res 960x540x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4200000 res 960x540x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3b5d5800 res 4x4x1 dim 1 tm: 2 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[8]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4200000 res 960x540x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4200000 res 960x540x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x2 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3b5d5800 res 4x4x1 dim 1 tm: 2 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem1; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/WindWakerHD_Contrasty/e1ea1127489fd281_0000000000003fc9_ps.txt b/Enhancements/WindWakerHD_Contrasty/e1ea1127489fd281_0000000000003fc9_ps.txt index 4a19c65e..b085174e 100644 --- a/Enhancements/WindWakerHD_Contrasty/e1ea1127489fd281_0000000000003fc9_ps.txt +++ b/Enhancements/WindWakerHD_Contrasty/e1ea1127489fd281_0000000000003fc9_ps.txt @@ -1,21 +1,46 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader e1ea1127489fd281 // horizon +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[5]; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[5]; +uniform vec2 uf_fragCoordScale; +#endif const float skyboxRed = float($skyboxRed); const float skyboxGreen = float($skyboxGreen); const float skyboxBlue = float($skyboxBlue); const float skyboxMix = float($skyboxMix); -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x25672000 res 4096x4096x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xd) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf42ff800 res 960x540x1 dim 1 tm: 4 format 001a compSel: 1 2 3 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1;// Tex1 addr 0x25672000 res 4096x4096x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xd +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf42ff800 res 960x540x1 dim 1 tm: 4 format 001a compSel: 1 2 3 0 mipView: 0x0 (num 0x2 layout(location = 0) in vec4 passParameterSem2; layout(location = 1) in vec4 passParameterSem4; layout(location = 2) in vec4 passParameterSem5; layout(location = 3) in vec4 passParameterSem6; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/WindWakerHD_Contrasty/ef821134ed8dd294_0000000000003fc9_ps.txt b/Enhancements/WindWakerHD_Contrasty/ef821134ed8dd294_0000000000003fc9_ps.txt index 84f17136..47bc336d 100644 --- a/Enhancements/WindWakerHD_Contrasty/ef821134ed8dd294_0000000000003fc9_ps.txt +++ b/Enhancements/WindWakerHD_Contrasty/ef821134ed8dd294_0000000000003fc9_ps.txt @@ -1,22 +1,47 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader ef821134ed8dd294 // horizon 2 missing shader const float skyboxRed = float($skyboxRed); const float skyboxGreen = float($skyboxGreen); const float skyboxBlue = float($skyboxBlue); const float skyboxMix = float($skyboxMix); +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[5]; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x25304000 res 4096x4096x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xd) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf42ff800 res 960x540x1 dim 1 tm: 4 format 001a compSel: 1 2 3 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[5]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1;// Tex1 addr 0x25304000 res 4096x4096x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xd +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf42ff800 res 960x540x1 dim 1 tm: 4 format 001a compSel: 1 2 3 0 mipView: 0x0 (num 0x2 layout(location = 0) in vec4 passParameterSem2; layout(location = 1) in vec4 passParameterSem4; layout(location = 2) in vec4 passParameterSem5; layout(location = 3) in vec4 passParameterSem6; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/WindWakerHD_Contrasty/f1a49f43d95bec30_00000000000000ff_ps.txt b/Enhancements/WindWakerHD_Contrasty/f1a49f43d95bec30_00000000000000ff_ps.txt index 0e5c2aaa..a540f112 100644 --- a/Enhancements/WindWakerHD_Contrasty/f1a49f43d95bec30_00000000000000ff_ps.txt +++ b/Enhancements/WindWakerHD_Contrasty/f1a49f43d95bec30_00000000000000ff_ps.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader f1a49f43d95bec30 //skybox const float skyboxRed = float($skyboxRed); const float skyboxGreen = float($skyboxGreen); const float skyboxBlue = float($skyboxBlue); const float skyboxMix = float($skyboxMix); +#ifdef VULKAN +layout(set = 1, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform vec2 uf_fragCoordScale; +#endif layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/WindWakerHD_Contrasty/ff71dcd2ad4defdc_00000000000003c9_ps.txt b/Enhancements/WindWakerHD_Contrasty/ff71dcd2ad4defdc_00000000000003c9_ps.txt index 79d0a4cb..ee380987 100644 --- a/Enhancements/WindWakerHD_Contrasty/ff71dcd2ad4defdc_00000000000003c9_ps.txt +++ b/Enhancements/WindWakerHD_Contrasty/ff71dcd2ad4defdc_00000000000003c9_ps.txt @@ -1,9 +1,35 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader ff71dcd2ad4defdc //AA ps +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +uniform ivec4 uf_remappedPS[4]; +}; +#else uniform vec2 uf_fragCoordScale; +uniform ivec4 uf_remappedPS[4]; +#endif const float hazeFactor = 0.1; @@ -94,9 +120,8 @@ vec3 contrasty(vec3 colour){ const float resScale = 2.0; -uniform ivec4 uf_remappedPS[4]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5807800 res 1920x1080x1 dim 1 tm: 4 format 0019 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 0xf4000800 res 1920x1080x1 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 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5807800 res 1920x1080x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4000800 res 1920x1080x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem2; layout(location = 0) out vec4 passPixelColor0; //uniform vec2 uf_fragCoordScale; diff --git a/Enhancements/WindWakerHD_Contrasty/rules.txt b/Enhancements/WindWakerHD_Contrasty/rules.txt index 73695935..d7036f19 100644 --- a/Enhancements/WindWakerHD_Contrasty/rules.txt +++ b/Enhancements/WindWakerHD_Contrasty/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010143400,0005000010143600,0005000010143500 name = Contrasty path = "The Legend of Zelda: The Wind Waker HD/Enhancements/Contrasty v1.1" description = This pack tweaks the colors and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs. Enabling will ignore your other AA settings. -version = 3 +version = 4 [Preset] name = Default diff --git a/Enhancements/WindWakerHD_LODBias/rules.txt b/Enhancements/WindWakerHD_LODBias/rules.txt index 018d945a..8090bc98 100644 --- a/Enhancements/WindWakerHD_LODBias/rules.txt +++ b/Enhancements/WindWakerHD_LODBias/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010143400,0005000010143600,0005000010143500 name = Negative texture LOD bias path = "The Legend of Zelda: The Wind Waker HD/Enhancements/Negative Texture LOD" description = Texture LOD override, possible shimmer but sharper textures. -version = 3 +version = 4 [Preset] name = LOD Default diff --git a/Enhancements/WindWakerHD_NoSSAO/c2cae30e906be2d5_0000000000001e49_ps.txt b/Enhancements/WindWakerHD_NoSSAO/c2cae30e906be2d5_0000000000001e49_ps.txt index b644a8ee..2088a543 100644 --- a/Enhancements/WindWakerHD_NoSSAO/c2cae30e906be2d5_0000000000001e49_ps.txt +++ b/Enhancements/WindWakerHD_NoSSAO/c2cae30e906be2d5_0000000000001e49_ps.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader c2cae30e906be2d5 // Wind Waker - NoSSAO +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[8]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4200000 res 960x540x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4200000 res 960x540x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3b943800 res 4x4x1 dim 1 tm: 2 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[8]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4200000 res 960x540x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4200000 res 960x540x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x2 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3b943800 res 4x4x1 dim 1 tm: 2 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem1; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/WindWakerHD_NoSSAO/rules.txt b/Enhancements/WindWakerHD_NoSSAO/rules.txt index 8f9cd8ef..01acd313 100644 --- a/Enhancements/WindWakerHD_NoSSAO/rules.txt +++ b/Enhancements/WindWakerHD_NoSSAO/rules.txt @@ -3,4 +3,4 @@ titleIds = 0005000010143400,0005000010143600,0005000010143500 name = No SSAO path = "The Legend of Zelda: The Wind Waker HD/Enhancements/No SSAO" description = Removes the SSAO of the game, which are these little blurred shadows around Link when you're standing under a tree, for example. -version = 3 \ No newline at end of file +version = 4 \ No newline at end of file diff --git a/Enhancements/XenobladeX_Contrasty/59df1c7e1806366c_00000000000003c9_ps.txt b/Enhancements/XenobladeX_Contrasty/59df1c7e1806366c_00000000000003c9_ps.txt index 87d84953..1f4e3139 100644 --- a/Enhancements/XenobladeX_Contrasty/59df1c7e1806366c_00000000000003c9_ps.txt +++ b/Enhancements/XenobladeX_Contrasty/59df1c7e1806366c_00000000000003c9_ps.txt @@ -1,10 +1,36 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 59df1c7e1806366c //contrasty AA shader +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +uniform ivec4 uf_remappedPS[2]; +}; +#else uniform vec2 uf_fragCoordScale; +uniform ivec4 uf_remappedPS[2]; +#endif const float hazeFactor = 0.1; @@ -94,9 +120,8 @@ vec3 contrasty(vec3 colour){ } -uniform ivec4 uf_remappedPS[2]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e12000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e12000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 0) out vec4 passPixelColor0; diff --git a/Enhancements/XenobladeX_Contrasty/rules.txt b/Enhancements/XenobladeX_Contrasty/rules.txt index 36f7f035..826cf9b7 100644 --- a/Enhancements/XenobladeX_Contrasty/rules.txt +++ b/Enhancements/XenobladeX_Contrasty/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 name = Contrasty path = "Xenoblade Chronicles X/Enhancements/Contrasty" description = This pack tweaks the colours and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs. Enabling will ignore your other AA settings. -version = 3 +version = 4 [Preset] name = High Contrasty - shadow lift diff --git a/Enhancements/XenobladeX_FancyFX/5eb82314ffb8484e_00000000000007f9_ps.txt b/Enhancements/XenobladeX_FancyFX/5eb82314ffb8484e_00000000000007f9_ps.txt index afae3573..ecdc424c 100644 --- a/Enhancements/XenobladeX_FancyFX/5eb82314ffb8484e_00000000000007f9_ps.txt +++ b/Enhancements/XenobladeX_FancyFX/5eb82314ffb8484e_00000000000007f9_ps.txt @@ -1,14 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 5eb82314ffb8484e //cross fade blur prel +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[7]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e12000 res 320x180x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[7]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e12000 res 320x180x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/XenobladeX_FancyFX/840947e29015aa9a_00000000000003c9_ps.txt b/Enhancements/XenobladeX_FancyFX/840947e29015aa9a_00000000000003c9_ps.txt index 0368d464..d6518310 100644 --- a/Enhancements/XenobladeX_FancyFX/840947e29015aa9a_00000000000003c9_ps.txt +++ b/Enhancements/XenobladeX_FancyFX/840947e29015aa9a_00000000000003c9_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 840947e29015aa9a //BB cliff @@ -21,13 +38,21 @@ highp float lineRand(vec2 co) } +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf470a000 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(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4386000 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 vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4386000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; // FabriceNeyret2 CC, single shader gaussian by intermediate MIPmap level. www.shadertoy.com/view/ltScRG const int samples = 8 * sampleScale, //8 or 4 balances xy position diff --git a/Enhancements/XenobladeX_FancyFX/b3fb199c73caa796_00000000000003c9_ps.txt b/Enhancements/XenobladeX_FancyFX/b3fb199c73caa796_00000000000003c9_ps.txt index 62d0ea0b..dc4f3a54 100644 --- a/Enhancements/XenobladeX_FancyFX/b3fb199c73caa796_00000000000003c9_ps.txt +++ b/Enhancements/XenobladeX_FancyFX/b3fb199c73caa796_00000000000003c9_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader b3fb199c73caa796 //BB title @@ -21,12 +38,20 @@ highp float lineRand(vec2 co) return fract(sin(sn) * c); } +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[4]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf551a000 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: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[4]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf551a000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; // FabriceNeyret2 CC, single shader gaussian by intermediate MIPmap level. www.shadertoy.com/view/ltScRG const int samples = 8 * sampleScale, //8 or 4 balances xy position diff --git a/Enhancements/XenobladeX_FancyFX/d8e69e8df8c227f5_00000000000003c9_ps.txt b/Enhancements/XenobladeX_FancyFX/d8e69e8df8c227f5_00000000000003c9_ps.txt index f82dac7a..89266d1b 100644 --- a/Enhancements/XenobladeX_FancyFX/d8e69e8df8c227f5_00000000000003c9_ps.txt +++ b/Enhancements/XenobladeX_FancyFX/d8e69e8df8c227f5_00000000000003c9_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader d8e69e8df8c227f5 //BB grid n char select const float dither = $dither ; @@ -22,12 +39,20 @@ highp float lineRand(vec2 co) +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf470a000 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(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4386000 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 vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4386000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; // FabriceNeyret2 CC, single shader gaussian by intermediate MIPmap level. www.shadertoy.com/view/ltScRG const int samples = 8 * sampleScale, //8 or 4 balances xy position diff --git a/Enhancements/XenobladeX_FancyFX/e412d30f981be3b5_0000000000000000_vs.txt b/Enhancements/XenobladeX_FancyFX/e412d30f981be3b5_0000000000000000_vs.txt index 5efccfba..6db39f0d 100644 --- a/Enhancements/XenobladeX_FancyFX/e412d30f981be3b5_0000000000000000_vs.txt +++ b/Enhancements/XenobladeX_FancyFX/e412d30f981be3b5_0000000000000000_vs.txt @@ -2,13 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader e412d30f981be3b5 //stasis cinematic align. A compromise for centering pretty blur +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -54,7 +79,7 @@ backupReg1f = R2f.y; R2f.x = (backupReg0f * intBitsToFloat(uf_remappedVS[0].x) + intBitsToFloat(uf_remappedVS[0].z)*0.5);//edit R2f.y = (backupReg1f * intBitsToFloat(uf_remappedVS[0].y) + intBitsToFloat(uf_remappedVS[0].w)*0.5); // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R2f.x, R2f.y, R2f.z, R2f.z); // 0 diff --git a/Enhancements/XenobladeX_FancyFX/rules.txt b/Enhancements/XenobladeX_FancyFX/rules.txt index f45f1c84..69e398d9 100644 --- a/Enhancements/XenobladeX_FancyFX/rules.txt +++ b/Enhancements/XenobladeX_FancyFX/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 name = Fancy GFX # I would have called this RTX on, but Nvidia has trademarked it ;) path = "Xenoblade Chronicles X/Enhancements/Fancy FX" description = Pretty blur, de-band sky, re-align cinematic etc, maintained on Nvidia. -version = 3 +version = 4 #Disabled, causes gfx errors on 1.15.x Enable if fixed. #[TextureRedefine] diff --git a/Enhancements/ZombiU_ChromaticAberration/949069c3567f349d_0000000000000079_ps.txt b/Enhancements/ZombiU_ChromaticAberration/949069c3567f349d_0000000000000079_ps.txt index 753d0a36..36169e72 100644 --- a/Enhancements/ZombiU_ChromaticAberration/949069c3567f349d_0000000000000079_ps.txt +++ b/Enhancements/ZombiU_ChromaticAberration/949069c3567f349d_0000000000000079_ps.txt @@ -1,13 +1,38 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 949069c3567f349d // color grading / chromatic aberration +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4a8e000 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4a8e000 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem130; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/ZombiU_ChromaticAberration/rules.txt b/Enhancements/ZombiU_ChromaticAberration/rules.txt index fa4d1072..26bfbefc 100644 --- a/Enhancements/ZombiU_ChromaticAberration/rules.txt +++ b/Enhancements/ZombiU_ChromaticAberration/rules.txt @@ -3,7 +3,7 @@ titleIds = 000500001010DD00,000500001010EF00,0005000010112300,000500001011A700,0 name = Chromatic Aberration path = "ZombiU/Enhancements/Chromatic Aberration" description = Changes the intensity of horizontal chromatic aberration. (the red/green/blue edges) -version = 3 +version = 4 [Preset] name = CA Default diff --git a/Enhancements/ZombiU_LessLensDirt/ee4bd70a942d3687_00000000000003c9_ps.txt b/Enhancements/ZombiU_LessLensDirt/ee4bd70a942d3687_00000000000003c9_ps.txt index 31e40a66..006d13b1 100644 --- a/Enhancements/ZombiU_LessLensDirt/ee4bd70a942d3687_00000000000003c9_ps.txt +++ b/Enhancements/ZombiU_LessLensDirt/ee4bd70a942d3687_00000000000003c9_ps.txt @@ -1,13 +1,38 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader ee4bd70a942d3687 +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2f5f4000 res 256x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x1 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x2a7f1000 res 1280x720x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2f5f4000 res 256x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x1 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x2a7f1000 res 1280x720x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem130; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Enhancements/ZombiU_LessLensDirt/rules.txt b/Enhancements/ZombiU_LessLensDirt/rules.txt index 87931428..07323d95 100644 --- a/Enhancements/ZombiU_LessLensDirt/rules.txt +++ b/Enhancements/ZombiU_LessLensDirt/rules.txt @@ -3,7 +3,7 @@ titleIds = 000500001010DD00,000500001010EF00,0005000010112300,000500001011A700,0 name = Lens Dirt Adjustment path = "ZombiU/Enhancements/Lens Dirt Adjustment" description = Changes the intensity of the lens dirt effect. -version = 3 +version = 4 [Preset] name = Lens Dirt Default diff --git a/Filters/Bicubic (4 taps)/rules.txt b/Filters/Bicubic (4 taps)/rules.txt index 0a42ff77..62ae25d2 100644 --- a/Filters/Bicubic (4 taps)/rules.txt +++ b/Filters/Bicubic (4 taps)/rules.txt @@ -3,7 +3,7 @@ name = Optimized Bicubic B-spline resampler titleIds = path = "Filters/Bicubic (4 taps)" description = Cemu's Bicubic. Because it's B-spline so it was optimized down to 4 taps. -version = 3 +version = 4 [OutputShader] upscaleMagFilter = Linear diff --git a/Filters/Bicubic/rules.txt b/Filters/Bicubic/rules.txt index 7c2be14e..f36d12ed 100644 --- a/Filters/Bicubic/rules.txt +++ b/Filters/Bicubic/rules.txt @@ -3,7 +3,7 @@ name = Optimized Bicubic spline resampler titleIds = path = "Filters/Bicubic" description = The b and c can adjust the properties of the cubic; sometimes referred to as "blurring" and "ringing" respectively. -version = 3 +version = 4 [OutputShader] upscaleMagFilter = Linear diff --git a/Filters/Jinc/rules.txt b/Filters/Jinc/rules.txt index 477aa131..c9b1b411 100644 --- a/Filters/Jinc/rules.txt +++ b/Filters/Jinc/rules.txt @@ -3,7 +3,7 @@ name = Jinc windowed-jinc with anti-ringing titleIds = path = "Filters/Jinc" description = This is an approximation of Jinc. If B=1.0, it's a lanczos filter. -version = 3 +version = 4 [OutputShader] # need texels upscaleMagFilter = NearestNeighbor diff --git a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_AmiiboMode/8d24f32f18e6de47_0000000079249749_ps.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_AmiiboMode/8d24f32f18e6de47_0000000079249749_ps.txt index 2c752c5c..f90934cc 100644 --- a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_AmiiboMode/8d24f32f18e6de47_0000000079249749_ps.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_AmiiboMode/8d24f32f18e6de47_0000000079249749_ps.txt @@ -1,24 +1,49 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 8d24f32f18e6de47 +#ifdef VULKAN +layout(set = 1, binding = 9) uniform ufBlock +{ uniform ivec4 uf_remappedPS[10]; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf5846000 res 640x360x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 8) uniform samplerCubeArray textureUnitPS8;// Tex8 addr 0x3d0ea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler8 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 10) uniform sampler2DArray textureUnitPS10;// Tex10 addr 0xf5593000 res 640x360x2 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x2) Sampler10 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf575f800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0xf5977800 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[10]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(4, 1, 2) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(6, 1, 3) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(7, 1, 4) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf5846000 res 640x360x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(8, 1, 5) uniform samplerCubeArray textureUnitPS8;// Tex8 addr 0x3d0ea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4 +TEXTURE_LAYOUT(10, 1, 6) uniform sampler2DArray textureUnitPS10;// Tex10 addr 0xf5593000 res 640x360x2 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(11, 1, 7) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf575f800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(13, 1, 8) uniform sampler2D textureUnitPS13;// Tex13 addr 0xf5977800 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; layout(location = 3) in vec4 passParameterSem4; layout(location = 4) in vec4 passParameterSem6; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) { // stm -> x .. s, y .. t, z .. MajorAxis*2.0 diff --git a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_AmiiboMode/rules.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_AmiiboMode/rules.txt index d12f49da..07c7e1c2 100644 --- a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_AmiiboMode/rules.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_AmiiboMode/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = "Amiibo Mode" path = "The Legend of Zelda: Breath of the Wild/Mods/Cel-Shading Removal (SkalFate & Altros)/Amiibo Mode" description = Amiibo mode by Altros, add or remove that plastic look. Req Remove Links Cell Shading by SkalFate -version = 3 +version = 4 [Preset] diff --git a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/2f7ecb9f0022d8ca_0000000000000001_ps.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/2f7ecb9f0022d8ca_0000000000000001_ps.txt index 0069072c..45abda08 100644 --- a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/2f7ecb9f0022d8ca_0000000000000001_ps.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/2f7ecb9f0022d8ca_0000000000000001_ps.txt @@ -1,13 +1,37 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 2f7ecb9f0022d8ca -- Pixel shader for Links Cel Shading World & Menu - Texture format 0x005d #define mode $mode -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 0 0 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 0 0 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; +#endif int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b77345f06369b_0000000000000000_vs.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b77345f06369b_0000000000000000_vs.txt index a3264d68..44b9dfbd 100644 --- a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b77345f06369b_0000000000000000_vs.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b77345f06369b_0000000000000000_vs.txt @@ -2,14 +2,39 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 314b77345f06369b -- Vertex shader for Links Cel Shading - Texture format 0x005d +#ifdef VULKAN +layout(set = 0, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(binding = 32) uniform sampler2D textureUnitVS0;// Tex0 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 0 0 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler273 ClampX/Y/Z: 0 0 0 border: 0 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +TEXTURE_LAYOUT(32, 0, 0) uniform sampler2D textureUnitVS0;// Tex0 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 0 0 5 mipView: 0x0 (num 0x1 +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -66,7 +91,7 @@ R3i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) * intBitsToFloat(0x437 PS0i = R3i.z; R0i.xy = ivec4(textureSize(textureUnitVS0, 0),1,1).xy; // export -gl_Position = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.z)); +SET_POSITION(vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); // 0 R127i.z = floatBitsToInt(float(R0i.x)); PS0i = R127i.z; diff --git a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b77349f0636db_0000000000000000_vs.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b77349f0636db_0000000000000000_vs.txt index b843fd6e..b77f3878 100644 --- a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b77349f0636db_0000000000000000_vs.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b77349f0636db_0000000000000000_vs.txt @@ -2,14 +2,39 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 314b77349f0636db -- Vertex Shader -- Lights up Cel-Shade Link and NPCs but also messes up the sky in the new methods +#ifdef VULKAN +layout(set = 0, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(binding = 32) uniform sampler2D textureUnitVS0;// Tex0 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 0 0 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler273 ClampX/Y/Z: 0 0 0 border: 0 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +TEXTURE_LAYOUT(32, 0, 0) uniform sampler2D textureUnitVS0;// Tex0 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 0 0 5 mipView: 0x0 (num 0x1 +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -66,7 +91,7 @@ R3i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].y) * intBitsToFloat(0x437 PS0i = R3i.z; R0i.xy = ivec4(textureSize(textureUnitVS0, 0),1,1).xy; // export -gl_Position = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.z)); +SET_POSITION(vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); // 0 R127i.z = floatBitsToInt(float(R0i.x)); PS0i = R127i.z; diff --git a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b7734df06371b_0000000000000000_vs.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b7734df06371b_0000000000000000_vs.txt index 647d5150..12f46d57 100644 --- a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b7734df06371b_0000000000000000_vs.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b7734df06371b_0000000000000000_vs.txt @@ -2,14 +2,39 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 314b7734df06371b -- Vertex Shader for Water/Magma and etc, one of the 3 vertex shaders involved with cel-shade removal +#ifdef VULKAN +layout(set = 0, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(binding = 32) uniform sampler2D textureUnitVS0;// Tex0 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 0 0 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler273 ClampX/Y/Z: 0 0 0 border: 0 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +TEXTURE_LAYOUT(32, 0, 0) uniform sampler2D textureUnitVS0;// Tex0 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 0 0 5 mipView: 0x0 (num 0x1 +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -71,7 +96,7 @@ PS0i = R3i.z; R0i.xy = ivec4(textureSize(textureUnitVS0, 0),1,1).xy; // export -gl_Position = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.z)); +SET_POSITION(vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); // 0 R127i.z = floatBitsToInt(float(R0i.x)); diff --git a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/rules.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/rules.txt index 3c549f63..e223172a 100644 --- a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/rules.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = All NPC No Cel-Shading Pack path = "The Legend of Zelda: Breath of the Wild/Mods/Cel-Shading Removal (SkalFate & Altros)/Cel-Shading - Main" description = Changes the type of shading on Link and the world. -version = 3 +version = 4 [Preset] name = Cel-Shading Disabled diff --git a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/57cecf2ed6c8e3f0_00000003c9249749_ps.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/57cecf2ed6c8e3f0_00000003c9249749_ps.txt index ede1c223..1eb43687 100644 --- a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/57cecf2ed6c8e3f0_00000003c9249749_ps.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/57cecf2ed6c8e3f0_00000003c9249749_ps.txt @@ -1,27 +1,52 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 57cecf2ed6c8e3f0 -- -- Fragment Shader where links gets drawn in the menu +#ifdef VULKAN +layout(set = 1, binding = 10) uniform ufBlock +{ uniform ivec4 uf_remappedPS[29]; -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x37b40000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf514c000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf55b2000 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0x389a5800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf55b2000 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x389a5800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x389a4800 res 4x4x1 dim 3 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 10) uniform sampler2DArrayShadow textureUnitPS10;// Tex10 addr 0xf494a800 res 2048x2048x1 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 6 6 2 border: 2 -layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0x389a5800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 17) uniform sampler2D textureUnitPS17;// Tex17 addr 0x389a3800 res 4x4x1 dim 1 tm: 2 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 vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[29]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(2, 1, 0) uniform sampler2D textureUnitPS2;// Tex2 addr 0x37b40000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(3, 1, 1) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf514c000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(5, 1, 2) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf55b2000 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(6, 1, 3) uniform sampler2D textureUnitPS6;// Tex6 addr 0x389a5800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(7, 1, 4) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf55b2000 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(8, 1, 5) uniform sampler2D textureUnitPS8;// Tex8 addr 0x389a5800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(9, 1, 6) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x389a4800 res 4x4x1 dim 3 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(10, 1, 7) uniform sampler2DArrayShadow textureUnitPS10;// Tex10 addr 0xf494a800 res 2048x2048x1 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(12, 1, 8) uniform sampler2D textureUnitPS12;// Tex12 addr 0x389a5800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(17, 1, 9) uniform sampler2D textureUnitPS17;// Tex17 addr 0x389a3800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem4; layout(location = 3) in vec4 passParameterSem5; layout(location = 4) in vec4 passParameterSem6; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) { // stm -> x .. s, y .. t, z .. MajorAxis*2.0 diff --git a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/f4e1147ab34a1677_0000000000000000_vs.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/f4e1147ab34a1677_0000000000000000_vs.txt index 1b68ef0f..f8a134de 100644 --- a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/f4e1147ab34a1677_0000000000000000_vs.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/f4e1147ab34a1677_0000000000000000_vs.txt @@ -2,13 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader f4e1147ab34a1677 -- Vertex Shader where links gets drawn in the menu +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[5]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -191,7 +216,7 @@ R0i.w = R125i.x; PS1i = R0i.w; // export -gl_Position = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)) * 0; +SET_POSITION(vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)) * 0); // export passParameterSem0 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); diff --git a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/rules.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/rules.txt index c70f088d..be891e6f 100644 --- a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/rules.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = Cel-Shade Removal Start Menu Workaround Pack path = "The Legend of Zelda: Breath of the Wild/Mods/Cel-Shading Removal (SkalFate & Altros)/Cel-Shading - Start Menu Workaround" description = Start Menu Workaround -version = 3 +version = 4 [Preset] name = Start Menu Workaround \ No newline at end of file diff --git a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_Altros/1c7db40ff5d693ab_001ffffe4924b249_ps.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_Altros/1c7db40ff5d693ab_001ffffe4924b249_ps.txt index 7e2eeaac..2048dc41 100644 --- a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_Altros/1c7db40ff5d693ab_001ffffe4924b249_ps.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_Altros/1c7db40ff5d693ab_001ffffe4924b249_ps.txt @@ -1,19 +1,45 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 1c7db40ff5d693ab +#ifdef VULKAN +layout(set = 1, binding = 11) uniform ufBlock +{ uniform ivec4 uf_remappedPS[33]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5c7b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x38da5800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform samplerCubeArray textureUnitPS7;// Tex7 addr 0x3d0ea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0x3cfaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf528a800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[33]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5c7b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(5, 1, 4) uniform sampler2D textureUnitPS5;// Tex5 addr 0x38da5800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(6, 1, 5) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(7, 1, 6) uniform samplerCubeArray textureUnitPS7;// Tex7 addr 0x3d0ea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4 +TEXTURE_LAYOUT(11, 1, 7) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(12, 1, 8) uniform sampler2D textureUnitPS12;// Tex12 addr 0x3cfaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(14, 1, 9) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf528a800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(15, 1, 10) uniform sampler2D textureUnitPS15;// Tex15 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem2; layout(location = 2) in vec4 passParameterSem6; @@ -22,7 +48,6 @@ layout(location = 1) out vec4 passPixelColor1; layout(location = 2) out vec4 passPixelColor2; layout(location = 3) out vec4 passPixelColor3; layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) { // stm -> x .. s, y .. t, z .. MajorAxis*2.0 diff --git a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_Altros/rules.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_Altros/rules.txt index cffb2e30..161e1a86 100644 --- a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_Altros/rules.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_Altros/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = No Cel-Shading Links Shadow Brightness Fix v0.8 path = "The Legend of Zelda: Breath of the Wild/Mods/Cel-Shading Removal (SkalFate & Altros)/Shadow Brightness Fix v08 - Altros" description = Fixes the very dark shadows on Links back-side in No Cel-Shade mode. -version = 3 +version = 4 [Preset] diff --git a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_SkalFate/1c7db40ff5d693ab_001ffffe4924b249_ps.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_SkalFate/1c7db40ff5d693ab_001ffffe4924b249_ps.txt index ba5a46e3..858a4b52 100644 --- a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_SkalFate/1c7db40ff5d693ab_001ffffe4924b249_ps.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_SkalFate/1c7db40ff5d693ab_001ffffe4924b249_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 1c7db40ff5d693ab -- Link and all NPCs Shadows Renderer , NPC Distant Fog RGB Renderer , Body RGB renderer #define smode $smode @@ -26,18 +43,27 @@ #endif +#ifdef VULKAN +layout(set = 1, binding = 11) uniform ufBlock +{ uniform ivec4 uf_remappedPS[33]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5c7b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x236b7000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 0 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform samplerCubeArray textureUnitPS7;// Tex7 addr 0x3ccea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0x3cbaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf528a800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[33]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5c7b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(5, 1, 4) uniform sampler2D textureUnitPS5;// Tex5 addr 0x236b7000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb +TEXTURE_LAYOUT(6, 1, 5) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(7, 1, 6) uniform samplerCubeArray textureUnitPS7;// Tex7 addr 0x3ccea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4 +TEXTURE_LAYOUT(11, 1, 7) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(12, 1, 8) uniform sampler2D textureUnitPS12;// Tex12 addr 0x3cbaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(14, 1, 9) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf528a800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(15, 1, 10) uniform sampler2D textureUnitPS15;// Tex15 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem2; layout(location = 2) in vec4 passParameterSem6; @@ -46,7 +72,6 @@ layout(location = 1) out vec4 passPixelColor1; layout(location = 2) out vec4 passPixelColor2; layout(location = 3) out vec4 passPixelColor3; layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) { // stm -> x .. s, y .. t, z .. MajorAxis*2.0 diff --git a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_SkalFate/rules.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_SkalFate/rules.txt index fa9587cc..666ea7d8 100644 --- a/Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_SkalFate/rules.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_SkalFate/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = Links Shadow Brightness for No Cel-Shading Pack path = "The Legend of Zelda: Breath of the Wild/Mods/Cel-Shading Removal (SkalFate & Altros)/Shadow Brightness Fix - SkalFate" description = Changes the strength of shadows on Links body. Fixes the very dark link issue in no cel-shade mode. -version = 3 +version = 4 [Preset] diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/56bdb3903699990d_0000079a492a9249_ps.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/56bdb3903699990d_0000079a492a9249_ps.txt index 45652267..27aef7eb 100644 --- a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/56bdb3903699990d_0000079a492a9249_ps.txt +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/56bdb3903699990d_0000079a492a9249_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + const vec3 Color = vec3($R,$G,$B); const float Factor = $L_f; @@ -9,48 +26,55 @@ const float Factor = $L_f; // textureUnitPS12 uf_blockPS8[23].xyz uf_blockPS8[31].x // shader 56bdb3903699990d +#ifdef VULKAN +layout(set = 1, binding = 13) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; -layout(binding = 33, std140) +#endif +UNIFORM_BUFFER_LAYOUT(33, 1, 14) uniform uniformBlockPS1 { vec4 uf_blockPS1[1024]; }; -layout(binding = 38, std140) +UNIFORM_BUFFER_LAYOUT(38, 1, 15) uniform uniformBlockPS6 { vec4 uf_blockPS6[1024]; }; -layout(binding = 40, std140) +UNIFORM_BUFFER_LAYOUT(40, 1, 16) uniform uniformBlockPS8 { vec4 uf_blockPS8[1024]; }; -layout(binding = 42, std140) +UNIFORM_BUFFER_LAYOUT(42, 1, 17) uniform uniformBlockPS10 { vec4 uf_blockPS10[1024]; }; -layout(binding = 0) uniform sampler2D textureUnitPS0; -layout(binding = 1) uniform sampler2DArrayShadow textureUnitPS1; -layout(binding = 2) uniform sampler2D textureUnitPS2; -layout(binding = 4) uniform sampler2D textureUnitPS4; -layout(binding = 5) uniform sampler2D textureUnitPS5; -layout(binding = 6) uniform sampler2D textureUnitPS6; -layout(binding = 7) uniform sampler3D textureUnitPS7; -layout(binding = 8) uniform sampler2DArray textureUnitPS8; -layout(binding = 9) uniform sampler2D textureUnitPS9; -layout(binding = 10) uniform sampler2D textureUnitPS10; -layout(binding = 11) uniform sampler2D textureUnitPS11; -layout(binding = 12) uniform sampler2D textureUnitPS12; -layout(binding = 13) uniform sampler2D textureUnitPS13; +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2DArrayShadow textureUnitPS1; +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2; +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4; +TEXTURE_LAYOUT(5, 1, 4) uniform sampler2D textureUnitPS5; +TEXTURE_LAYOUT(6, 1, 5) uniform sampler2D textureUnitPS6; +TEXTURE_LAYOUT(7, 1, 6) uniform sampler3D textureUnitPS7; +TEXTURE_LAYOUT(8, 1, 7) uniform sampler2DArray textureUnitPS8; +TEXTURE_LAYOUT(9, 1, 8) uniform sampler2D textureUnitPS9; +TEXTURE_LAYOUT(10, 1, 9) uniform sampler2D textureUnitPS10; +TEXTURE_LAYOUT(11, 1, 10) uniform sampler2D textureUnitPS11; +TEXTURE_LAYOUT(12, 1, 11) uniform sampler2D textureUnitPS12; +TEXTURE_LAYOUT(13, 1, 12) uniform sampler2D textureUnitPS13; layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem2; diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/7cd50058a8f1d6dd_00001e1e1fea9249_ps.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/7cd50058a8f1d6dd_00001e1e1fea9249_ps.txt index 1a51fea9..089c7f7e 100644 --- a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/7cd50058a8f1d6dd_00001e1e1fea9249_ps.txt +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/7cd50058a8f1d6dd_00001e1e1fea9249_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + const vec3 Color = vec3($R,$G,$B); const float Factor = $L_f; @@ -8,15 +25,23 @@ const float Factor = $L_f; // Armor When teleporting // shader 7cd50058a8f1d6dd +#ifdef VULKAN +layout(set = 1, binding = 7) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[10]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[10]; uniform vec2 uf_fragCoordScale; -layout(binding = 1) uniform sampler3D textureUnitPS1; -layout(binding = 2) uniform sampler2DArray textureUnitPS2; -layout(binding = 3) uniform sampler2D textureUnitPS3; -layout(binding = 4) uniform sampler2D textureUnitPS4; -layout(binding = 5) uniform sampler2D textureUnitPS5; -layout(binding = 6) uniform sampler2D textureUnitPS6; -layout(binding = 7) uniform sampler2D textureUnitPS7; +#endif +TEXTURE_LAYOUT(1, 1, 0) uniform sampler3D textureUnitPS1; +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2DArray textureUnitPS2; +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3; +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4; +TEXTURE_LAYOUT(5, 1, 4) uniform sampler2D textureUnitPS5; +TEXTURE_LAYOUT(6, 1, 5) uniform sampler2D textureUnitPS6; +TEXTURE_LAYOUT(7, 1, 6) uniform sampler2D textureUnitPS7; layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem2; diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/cc51c2b5a4fce06c_00000078787f9249_ps.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/cc51c2b5a4fce06c_00000078787f9249_ps.txt index a0cd289a..e9d30deb 100644 --- a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/cc51c2b5a4fce06c_00000078787f9249_ps.txt +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/cc51c2b5a4fce06c_00000078787f9249_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + const vec3 Color = vec3($R,$G,$B); const float Factor = $L_f; @@ -8,13 +25,21 @@ const float Factor = $L_f; // Ancient Armor // shader cc51c2b5a4fce06c +#ifdef VULKAN +layout(set = 1, binding = 5) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[3]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[3]; uniform vec2 uf_fragCoordScale; -layout(binding = 1) uniform sampler2D textureUnitPS1; -layout(binding = 2) uniform sampler2D textureUnitPS2; -layout(binding = 3) uniform sampler2D textureUnitPS3; -layout(binding = 4) uniform sampler2D textureUnitPS4; -layout(binding = 5) uniform sampler2D textureUnitPS5; +#endif +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1; +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2; +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3; +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4; +TEXTURE_LAYOUT(5, 1, 4) uniform sampler2D textureUnitPS5; layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem7; diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/rules.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/rules.txt index e4332b98..3442ce19 100644 --- a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/rules.txt +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = Ancient Armor path = "The Legend of Zelda: Breath of the Wild/Mods/Change Ancient Glow Color/Ancient Armor" description = Change Ancient Amor's color and brightness. Originally it's Ancient Orange. -version = 3 +version = 4 [Preset] name = Malice Red diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/5c4fc00fefe604eb_00000078787f9249_ps.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/5c4fc00fefe604eb_00000078787f9249_ps.txt index 11a8927a..bf51b098 100644 --- a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/5c4fc00fefe604eb_00000078787f9249_ps.txt +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/5c4fc00fefe604eb_00000078787f9249_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + const vec3 Color = vec3($R,$G,$B); const float Light = $L; @@ -8,13 +25,21 @@ const float Light = $L; // Ancient weapons // shader 5c4fc00fefe604eb +#ifdef VULKAN +layout(set = 1, binding = 5) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[3]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[3]; uniform vec2 uf_fragCoordScale; -layout(binding = 1) uniform sampler2D textureUnitPS1; -layout(binding = 2) uniform sampler2D textureUnitPS2; -layout(binding = 3) uniform sampler2D textureUnitPS3; -layout(binding = 4) uniform sampler2D textureUnitPS4; -layout(binding = 5) uniform sampler2D textureUnitPS5; +#endif +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1; +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2; +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3; +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4; +TEXTURE_LAYOUT(5, 1, 4) uniform sampler2D textureUnitPS5; layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem3; layout(location = 2) in vec4 passParameterSem4; diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/b1b149918fac0b8d_00001e1e1fea9249_ps.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/b1b149918fac0b8d_00001e1e1fea9249_ps.txt index c4b565b2..c7724c13 100644 --- a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/b1b149918fac0b8d_00001e1e1fea9249_ps.txt +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/b1b149918fac0b8d_00001e1e1fea9249_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + const vec3 Color = vec3($R,$G,$B); const float Light = $L; @@ -8,15 +25,23 @@ const float Light = $L; // Ancient weapons when teleporting // shader b1b149918fac0b8d +#ifdef VULKAN +layout(set = 1, binding = 7) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[10]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[10]; uniform vec2 uf_fragCoordScale; -layout(binding = 1) uniform sampler3D textureUnitPS1; -layout(binding = 2) uniform sampler2DArray textureUnitPS2; -layout(binding = 3) uniform sampler2D textureUnitPS3; -layout(binding = 4) uniform sampler2D textureUnitPS4; -layout(binding = 5) uniform sampler2D textureUnitPS5; -layout(binding = 6) uniform sampler2D textureUnitPS6; -layout(binding = 7) uniform sampler2D textureUnitPS7; +#endif +TEXTURE_LAYOUT(1, 1, 0) uniform sampler3D textureUnitPS1; +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2DArray textureUnitPS2; +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3; +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4; +TEXTURE_LAYOUT(5, 1, 4) uniform sampler2D textureUnitPS5; +TEXTURE_LAYOUT(6, 1, 5) uniform sampler2D textureUnitPS6; +TEXTURE_LAYOUT(7, 1, 6) uniform sampler2D textureUnitPS7; layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem2; layout(location = 2) in vec4 passParameterSem8; diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/f611e1b3827b5e13_0000079a492a9249_ps.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/f611e1b3827b5e13_0000079a492a9249_ps.txt index dbdac62c..1552ae42 100644 --- a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/f611e1b3827b5e13_0000079a492a9249_ps.txt +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/f611e1b3827b5e13_0000079a492a9249_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + const vec3 Color = vec3($R,$G,$B); const float Light = $L; @@ -8,48 +25,55 @@ const float Light = $L; // Ancient weapons when Link is transparent // shader f611e1b3827b5e13 +#ifdef VULKAN +layout(set = 1, binding = 13) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; -layout(binding = 33, std140) +#endif +UNIFORM_BUFFER_LAYOUT(33, 1, 14) uniform uniformBlockPS1 { vec4 uf_blockPS1[1024]; }; -layout(binding = 38, std140) +UNIFORM_BUFFER_LAYOUT(38, 1, 15) uniform uniformBlockPS6 { vec4 uf_blockPS6[1024]; }; -layout(binding = 40, std140) +UNIFORM_BUFFER_LAYOUT(40, 1, 16) uniform uniformBlockPS8 { vec4 uf_blockPS8[1024]; }; -layout(binding = 42, std140) +UNIFORM_BUFFER_LAYOUT(42, 1, 17) uniform uniformBlockPS10 { vec4 uf_blockPS10[1024]; }; -layout(binding = 0) uniform sampler2D textureUnitPS0; -layout(binding = 1) uniform sampler2DArrayShadow textureUnitPS1; -layout(binding = 2) uniform sampler2D textureUnitPS2; -layout(binding = 4) uniform sampler2D textureUnitPS4; -layout(binding = 5) uniform sampler2D textureUnitPS5; -layout(binding = 6) uniform sampler2D textureUnitPS6; -layout(binding = 7) uniform sampler3D textureUnitPS7; -layout(binding = 8) uniform sampler2DArray textureUnitPS8; -layout(binding = 9) uniform sampler2D textureUnitPS9; -layout(binding = 10) uniform sampler2D textureUnitPS10; -layout(binding = 11) uniform sampler2D textureUnitPS11; -layout(binding = 12) uniform sampler2D textureUnitPS12; -layout(binding = 13) uniform sampler2D textureUnitPS13; +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2DArrayShadow textureUnitPS1; +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2; +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4; +TEXTURE_LAYOUT(5, 1, 4) uniform sampler2D textureUnitPS5; +TEXTURE_LAYOUT(6, 1, 5) uniform sampler2D textureUnitPS6; +TEXTURE_LAYOUT(7, 1, 6) uniform sampler3D textureUnitPS7; +TEXTURE_LAYOUT(8, 1, 7) uniform sampler2DArray textureUnitPS8; +TEXTURE_LAYOUT(9, 1, 8) uniform sampler2D textureUnitPS9; +TEXTURE_LAYOUT(10, 1, 9) uniform sampler2D textureUnitPS10; +TEXTURE_LAYOUT(11, 1, 10) uniform sampler2D textureUnitPS11; +TEXTURE_LAYOUT(12, 1, 11) uniform sampler2D textureUnitPS12; +TEXTURE_LAYOUT(13, 1, 12) uniform sampler2D textureUnitPS13; layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem2; layout(location = 2) in vec4 passParameterSem4; diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/rules.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/rules.txt index 641d76ea..a71299a2 100644 --- a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/rules.txt +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = Ancient weapons path = "The Legend of Zelda: Breath of the Wild/Mods/Change Ancient Glow Color/Ancient weapons" description = Change Ancient weapons 's color and brightness. Originally it varies. Ancient Orange's Brightness is changed to Bow's. -version = 3 +version = 4 [Preset] name = Malice Red diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Decayed_Guardian/85d00659937443d5_000003c3c3fc9249_ps.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Decayed_Guardian/85d00659937443d5_000003c3c3fc9249_ps.txt index cbee41f8..da4108c0 100644 --- a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Decayed_Guardian/85d00659937443d5_000003c3c3fc9249_ps.txt +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Decayed_Guardian/85d00659937443d5_000003c3c3fc9249_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + const vec3 Color = vec3($R,$G,$B); const float Factor = $L_f; @@ -8,14 +25,22 @@ const float Factor = $L_f; // Decayed Guardian // shader 85d00659937443d5 +#ifdef VULKAN +layout(set = 1, binding = 6) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[3]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[3]; uniform vec2 uf_fragCoordScale; -layout(binding = 3) uniform sampler2D textureUnitPS3; -layout(binding = 4) uniform sampler2D textureUnitPS4; -layout(binding = 5) uniform sampler2D textureUnitPS5; -layout(binding = 6) uniform sampler2D textureUnitPS6; -layout(binding = 7) uniform sampler2D textureUnitPS7; -layout(binding = 8) uniform sampler2D textureUnitPS8; +#endif +TEXTURE_LAYOUT(3, 1, 0) uniform sampler2D textureUnitPS3; +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4; +TEXTURE_LAYOUT(5, 1, 2) uniform sampler2D textureUnitPS5; +TEXTURE_LAYOUT(6, 1, 3) uniform sampler2D textureUnitPS6; +TEXTURE_LAYOUT(7, 1, 4) uniform sampler2D textureUnitPS7; +TEXTURE_LAYOUT(8, 1, 5) uniform sampler2D textureUnitPS8; layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem6; diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Decayed_Guardian/rules.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Decayed_Guardian/rules.txt index 82ec4f6c..37fcd29c 100644 --- a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Decayed_Guardian/rules.txt +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Decayed_Guardian/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = Decayed Guardian path = "The Legend of Zelda: Breath of the Wild/Mods/Change Ancient Glow Color/Decayed Guardian" description = Change Decayed Guardian (including Stalkers with weathered appearance)'s color. Originally it's Malice Red. -version = 3 +version = 4 [Preset] name = Malice Red diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/4e0bab929e11836f_00003cd249549249_ps.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/4e0bab929e11836f_00003cd249549249_ps.txt index b12964d7..9bb1b6ba 100644 --- a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/4e0bab929e11836f_00003cd249549249_ps.txt +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/4e0bab929e11836f_00003cd249549249_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + const vec3 Color = vec3($R,$G,$B); const float Factor = $L_f; @@ -9,56 +26,63 @@ const float Factor = $L_f; // uf_blockPS8[23].xyz uf_blockPS8[31].x // shader 4e0bab929e11836f +#ifdef VULKAN +layout(set = 1, binding = 14) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; -layout(binding = 33, std140) +#endif +UNIFORM_BUFFER_LAYOUT(33, 1, 15) uniform uniformBlockPS1 { vec4 uf_blockPS1[1024]; }; -layout(binding = 36, std140) +UNIFORM_BUFFER_LAYOUT(36, 1, 16) uniform uniformBlockPS4 { vec4 uf_blockPS4[1024]; }; -layout(binding = 38, std140) +UNIFORM_BUFFER_LAYOUT(38, 1, 17) uniform uniformBlockPS6 { vec4 uf_blockPS6[1024]; }; -layout(binding = 40, std140) +UNIFORM_BUFFER_LAYOUT(40, 1, 18) uniform uniformBlockPS8 { vec4 uf_blockPS8[1024]; }; -layout(binding = 42, std140) +UNIFORM_BUFFER_LAYOUT(42, 1, 19) uniform uniformBlockPS10 { vec4 uf_blockPS10[1024]; }; -layout(binding = 0) uniform sampler2D textureUnitPS0; -layout(binding = 1) uniform sampler2DArrayShadow textureUnitPS1; -layout(binding = 2) uniform sampler2D textureUnitPS2; -layout(binding = 4) uniform sampler2D textureUnitPS4; -layout(binding = 5) uniform sampler2D textureUnitPS5; -layout(binding = 6) uniform sampler2D textureUnitPS6; -layout(binding = 7) uniform sampler3D textureUnitPS7; -layout(binding = 8) uniform sampler2DArray textureUnitPS8; -layout(binding = 9) uniform sampler2D textureUnitPS9; -layout(binding = 10) uniform sampler2D textureUnitPS10; -layout(binding = 11) uniform sampler2D textureUnitPS11; -layout(binding = 12) uniform sampler2D textureUnitPS12; -layout(binding = 13) uniform sampler2D textureUnitPS13; -layout(binding = 14) uniform sampler2D textureUnitPS14; +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2DArrayShadow textureUnitPS1; +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2; +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4; +TEXTURE_LAYOUT(5, 1, 4) uniform sampler2D textureUnitPS5; +TEXTURE_LAYOUT(6, 1, 5) uniform sampler2D textureUnitPS6; +TEXTURE_LAYOUT(7, 1, 6) uniform sampler3D textureUnitPS7; +TEXTURE_LAYOUT(8, 1, 7) uniform sampler2DArray textureUnitPS8; +TEXTURE_LAYOUT(9, 1, 8) uniform sampler2D textureUnitPS9; +TEXTURE_LAYOUT(10, 1, 9) uniform sampler2D textureUnitPS10; +TEXTURE_LAYOUT(11, 1, 10) uniform sampler2D textureUnitPS11; +TEXTURE_LAYOUT(12, 1, 11) uniform sampler2D textureUnitPS12; +TEXTURE_LAYOUT(13, 1, 12) uniform sampler2D textureUnitPS13; +TEXTURE_LAYOUT(14, 1, 13) uniform sampler2D textureUnitPS14; layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem2; diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/83573681c1fcb0ac_0000f0f0ff549249_ps.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/83573681c1fcb0ac_0000f0f0ff549249_ps.txt index 48f83b44..927ee61e 100644 --- a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/83573681c1fcb0ac_0000f0f0ff549249_ps.txt +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/83573681c1fcb0ac_0000f0f0ff549249_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + const vec3 Color = vec3($R,$G,$B); const float Factor = $L_f; @@ -8,16 +25,24 @@ const float Factor = $L_f; // Guardian weapons when teleporting // shader 83573681c1fcb0ac +#ifdef VULKAN +layout(set = 1, binding = 8) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[10]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[10]; uniform vec2 uf_fragCoordScale; -layout(binding = 1) uniform sampler3D textureUnitPS1; -layout(binding = 2) uniform sampler2DArray textureUnitPS2; -layout(binding = 3) uniform sampler2D textureUnitPS3; -layout(binding = 4) uniform sampler2D textureUnitPS4; -layout(binding = 5) uniform sampler2D textureUnitPS5; -layout(binding = 6) uniform sampler2D textureUnitPS6; -layout(binding = 7) uniform sampler2D textureUnitPS7; -layout(binding = 8) uniform sampler2D textureUnitPS8; +#endif +TEXTURE_LAYOUT(1, 1, 0) uniform sampler3D textureUnitPS1; +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2DArray textureUnitPS2; +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3; +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4; +TEXTURE_LAYOUT(5, 1, 4) uniform sampler2D textureUnitPS5; +TEXTURE_LAYOUT(6, 1, 5) uniform sampler2D textureUnitPS6; +TEXTURE_LAYOUT(7, 1, 6) uniform sampler2D textureUnitPS7; +TEXTURE_LAYOUT(8, 1, 7) uniform sampler2D textureUnitPS8; layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem2; diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/91b6e09da2ff63cc_000003c3c3fc9249_ps.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/91b6e09da2ff63cc_000003c3c3fc9249_ps.txt index 0760d513..73936d6a 100644 --- a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/91b6e09da2ff63cc_000003c3c3fc9249_ps.txt +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/91b6e09da2ff63cc_000003c3c3fc9249_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + const vec3 Color = vec3($R,$G,$B); const float Factor = $L_f; @@ -8,14 +25,22 @@ const float Factor = $L_f; // Guardian Stalker + Scout + Guardian weapons // shader 91b6e09da2ff63cc +#ifdef VULKAN +layout(set = 1, binding = 6) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[3]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[3]; uniform vec2 uf_fragCoordScale; -layout(binding = 1) uniform sampler2D textureUnitPS1; -layout(binding = 2) uniform sampler2D textureUnitPS2; -layout(binding = 3) uniform sampler2D textureUnitPS3; -layout(binding = 4) uniform sampler2D textureUnitPS4; -layout(binding = 5) uniform sampler2D textureUnitPS5; -layout(binding = 6) uniform sampler2D textureUnitPS6; +#endif +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1; +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2; +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3; +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4; +TEXTURE_LAYOUT(5, 1, 4) uniform sampler2D textureUnitPS5; +TEXTURE_LAYOUT(6, 1, 5) uniform sampler2D textureUnitPS6; layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem7; diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/rules.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/rules.txt index 5607c3fc..1918bec8 100644 --- a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/rules.txt +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = Guardian Stalker & Guardian Scout & The top Half of Guardian weapons path = "The Legend of Zelda: Breath of the Wild/Mods/Change Ancient Glow Color/Guardian Stalker & Scout & Guardian weapons" description = Change Guardian Stalker, Scout, Guardian weapons's color. Originally it depends on whether it's corrupted by malice, or the state of the Guardian Scout. -version = 3 +version = 4 [Preset] name = Malice Red diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guardian_Turret_Skywatcher/133297c9a66bfc98_000003c3c3fc9249_ps.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guardian_Turret_Skywatcher/133297c9a66bfc98_000003c3c3fc9249_ps.txt index 0a597afa..24082845 100644 --- a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guardian_Turret_Skywatcher/133297c9a66bfc98_000003c3c3fc9249_ps.txt +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guardian_Turret_Skywatcher/133297c9a66bfc98_000003c3c3fc9249_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + const vec3 Color = vec3($R,$G,$B); const float Factor = $L_f; @@ -8,14 +25,22 @@ const float Factor = $L_f; // Guardian Turret + Skywatcher // shader 133297c9a66bfc98 +#ifdef VULKAN +layout(set = 1, binding = 6) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[5]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[5]; uniform vec2 uf_fragCoordScale; -layout(binding = 1) uniform sampler2D textureUnitPS1; -layout(binding = 2) uniform sampler2D textureUnitPS2; -layout(binding = 3) uniform sampler2D textureUnitPS3; -layout(binding = 4) uniform sampler2D textureUnitPS4; -layout(binding = 5) uniform sampler2D textureUnitPS5; -layout(binding = 6) uniform sampler2D textureUnitPS6; +#endif +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1; +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2; +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3; +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4; +TEXTURE_LAYOUT(5, 1, 4) uniform sampler2D textureUnitPS5; +TEXTURE_LAYOUT(6, 1, 5) uniform sampler2D textureUnitPS6; layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem7; diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guardian_Turret_Skywatcher/rules.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guardian_Turret_Skywatcher/rules.txt index 4126eda3..7788e06d 100644 --- a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guardian_Turret_Skywatcher/rules.txt +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guardian_Turret_Skywatcher/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = Guardian Turret & Skywatcher path = "The Legend of Zelda: Breath of the Wild/Mods/Change Ancient Glow Color/Guardian Turret & Skywatcher" description = Change Guardian Turret, Skywatcher's color. Originally it depends on whether it's corrupted by malice or not. -version = 3 +version = 4 [Preset] name = Malice Red diff --git a/Mods/BreathOfTheWild_Cheats_InfAmiibo/rules.txt b/Mods/BreathOfTheWild_Cheats_InfAmiibo/rules.txt index e52d32db..550fcf15 100644 --- a/Mods/BreathOfTheWild_Cheats_InfAmiibo/rules.txt +++ b/Mods/BreathOfTheWild_Cheats_InfAmiibo/rules.txt @@ -3,4 +3,4 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = Infinite Amiibo path = "The Legend of Zelda: Breath of the Wild/Mods/Cheats/Infinite Amiibo" description = BotW Cheats by C313571N and Xalphenos -version = 3 \ No newline at end of file +version = 4 \ No newline at end of file diff --git a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/2e2543216c04766d_0000000079249749_ps.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/2e2543216c04766d_0000000079249749_ps.txt index cd875eeb..993cb15e 100644 --- a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/2e2543216c04766d_0000000079249749_ps.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/2e2543216c04766d_0000000079249749_ps.txt @@ -1,28 +1,53 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 2e2543216c04766d -- Water RGB and edge clarity and Distant Water Fog #define waterfogred $waterfogred #define waterfoggreen $waterfoggreen #define waterfogblue $waterfogblue +#ifdef VULKAN +layout(set = 1, binding = 9) uniform ufBlock +{ uniform ivec4 uf_remappedPS[14]; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf5846000 res 640x360x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 8) uniform samplerCubeArray textureUnitPS8;// Tex8 addr 0x3ccea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler8 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 10) uniform sampler2DArray textureUnitPS10;// Tex10 addr 0xf5593000 res 640x360x2 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x2) Sampler10 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf575f800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0xf5977800 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[14]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(4, 1, 2) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(6, 1, 3) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(7, 1, 4) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf5846000 res 640x360x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(8, 1, 5) uniform samplerCubeArray textureUnitPS8;// Tex8 addr 0x3ccea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4 +TEXTURE_LAYOUT(10, 1, 6) uniform sampler2DArray textureUnitPS10;// Tex10 addr 0xf5593000 res 640x360x2 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(11, 1, 7) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf575f800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(13, 1, 8) uniform sampler2D textureUnitPS13;// Tex13 addr 0xf5977800 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem4; layout(location = 2) in vec4 passParameterSem6; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) { diff --git a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/bec68ec6f40a864f_00fffff249259249_ps.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/bec68ec6f40a864f_00fffff249259249_ps.txt index 288546ed..def4baf3 100644 --- a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/bec68ec6f40a864f_00fffff249259249_ps.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/bec68ec6f40a864f_00fffff249259249_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader bec68ec6f40a864f -- Affects distant area fog rgb, distance lighting, ground lighting #define dli $distantlighting @@ -8,19 +25,28 @@ #define dgreen $dgreen #define dblue $dblue +#ifdef VULKAN +layout(set = 1, binding = 12) uniform ufBlock +{ uniform ivec4 uf_remappedPS[33]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5c7b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x236b7000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 0 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform samplerCubeArray textureUnitPS7;// Tex7 addr 0x3ccea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0x3cbaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0x3ccc6800 res 96x96x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf528a800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 17) uniform sampler2D textureUnitPS17;// Tex17 addr 0x3cd0f000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[33]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5c7b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(5, 1, 4) uniform sampler2D textureUnitPS5;// Tex5 addr 0x236b7000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb +TEXTURE_LAYOUT(6, 1, 5) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(7, 1, 6) uniform samplerCubeArray textureUnitPS7;// Tex7 addr 0x3ccea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4 +TEXTURE_LAYOUT(11, 1, 7) uniform sampler2D textureUnitPS11;// Tex11 addr 0x3cbaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(12, 1, 8) uniform sampler2D textureUnitPS12;// Tex12 addr 0x3ccc6800 res 96x96x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(14, 1, 9) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf528a800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(15, 1, 10) uniform sampler2D textureUnitPS15;// Tex15 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(17, 1, 11) uniform sampler2D textureUnitPS17;// Tex17 addr 0x3cd0f000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem2; layout(location = 2) in vec4 passParameterSem6; @@ -29,7 +55,6 @@ layout(location = 1) out vec4 passPixelColor1; layout(location = 2) out vec4 passPixelColor2; layout(location = 3) out vec4 passPixelColor3; layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) { // stm -> x .. s, y .. t, z .. MajorAxis*2.0 diff --git a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/fb2e18ae56397ca7_00fffff249259249_ps.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/fb2e18ae56397ca7_00fffff249259249_ps.txt index 369f8261..be0f3867 100644 --- a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/fb2e18ae56397ca7_00fffff249259249_ps.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/fb2e18ae56397ca7_00fffff249259249_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader fb2e18ae56397ca7 -- Affects Trees Bushes and Vines #define gli $greenerylighting @@ -8,19 +25,28 @@ #define ggreen $ggreen #define gblue $gblue +#ifdef VULKAN +layout(set = 1, binding = 12) uniform ufBlock +{ uniform ivec4 uf_remappedPS[33]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5c7b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x236b7000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 0 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform samplerCubeArray textureUnitPS7;// Tex7 addr 0x3ccea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0x3cbaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0x3ccc6800 res 96x96x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf528a800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 16) uniform sampler2D textureUnitPS16;// Tex16 addr 0x3cd0f000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[33]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5c7b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(5, 1, 4) uniform sampler2D textureUnitPS5;// Tex5 addr 0x236b7000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb +TEXTURE_LAYOUT(6, 1, 5) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(7, 1, 6) uniform samplerCubeArray textureUnitPS7;// Tex7 addr 0x3ccea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4 +TEXTURE_LAYOUT(11, 1, 7) uniform sampler2D textureUnitPS11;// Tex11 addr 0x3cbaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(12, 1, 8) uniform sampler2D textureUnitPS12;// Tex12 addr 0x3ccc6800 res 96x96x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(14, 1, 9) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf528a800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(15, 1, 10) uniform sampler2D textureUnitPS15;// Tex15 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(16, 1, 11) uniform sampler2D textureUnitPS16;// Tex16 addr 0x3cd0f000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem2; layout(location = 2) in vec4 passParameterSem6; @@ -29,7 +55,6 @@ layout(location = 1) out vec4 passPixelColor1; layout(location = 2) out vec4 passPixelColor2; layout(location = 3) out vec4 passPixelColor3; layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) { // stm -> x .. s, y .. t, z .. MajorAxis*2.0 diff --git a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/rules.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/rules.txt index d25ab9e9..af769f51 100644 --- a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/rules.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = Distant Area Fog Pack path = "The Legend of Zelda: Breath of the Wild/Mods/Distant Fog Removal/Distant Fog - Main" description = Can Remove Distant Fog Haze from the world. Change its RGB color. Light up the Distance. -version = 3 +version = 4 [Preset] diff --git a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/29c30aaa023dc7e6_0000000000000709_ps.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/29c30aaa023dc7e6_0000000000000709_ps.txt index e1f04f39..6208197f 100644 --- a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/29c30aaa023dc7e6_0000000000000709_ps.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/29c30aaa023dc7e6_0000000000000709_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 29c30aaa023dc7e6 -- Ganons middle and bottom big swirl #define aurafog $aurafog @@ -25,11 +42,21 @@ #define auraopacity 1 #endif +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20265000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x202df000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1bf70000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20265000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x202df000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1bf70000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem4; @@ -41,7 +68,6 @@ layout(location = 7) in vec4 passParameterSem14; layout(location = 8) in vec4 passParameterSem15; layout(location = 9) in vec4 passParameterSem16; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/397f3d8521c96e30_0000000000000709_ps.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/397f3d8521c96e30_0000000000000709_ps.txt index ad2bb843..0a3c36bf 100644 --- a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/397f3d8521c96e30_0000000000000709_ps.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/397f3d8521c96e30_0000000000000709_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 397f3d8521c96e30 -- ganons castle swirl shader #define aurafog $aurafog @@ -25,11 +42,21 @@ #define auraopacity 1 #endif +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20265000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x202df000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1bf70000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20265000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x202df000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1bf70000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem4; @@ -42,7 +69,6 @@ layout(location = 8) in vec4 passParameterSem14; layout(location = 9) in vec4 passParameterSem15; layout(location = 10) in vec4 passParameterSem16; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/5a8eb2055c65a0c2_0000000000003849_ps.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/5a8eb2055c65a0c2_0000000000003849_ps.txt index ae86c46a..fed590b0 100644 --- a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/5a8eb2055c65a0c2_0000000000003849_ps.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/5a8eb2055c65a0c2_0000000000003849_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 5a8eb2055c65a0c2 -- Vertex Shader - Close to Castle Aura RGB #define aurafog $aurafog @@ -9,12 +26,22 @@ #define aurablue $aurablue #define auraopacity $auraopacity +#ifdef VULKAN +layout(set = 1, binding = 4) uniform ufBlock +{ uniform ivec4 uf_remappedPS[5]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20265000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x202df000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1c870000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[5]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20265000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x202df000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1c870000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem2; @@ -29,7 +56,6 @@ layout(location = 10) in vec4 passParameterSem14; layout(location = 11) in vec4 passParameterSem15; layout(location = 12) in vec4 passParameterSem16; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/rules.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/rules.txt index fdad982a..945986fa 100644 --- a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/rules.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = Castle Ganons Aura Pack path = "The Legend of Zelda: Breath of the Wild/Mods/Distant Fog Removal/Hyrule Castle Ganons Aura" description = Can Remove the Fog on Ganons Aura on Hyrule castle. Change its RGB color. -version = 3 +version = 4 [Preset] diff --git a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/699b238ae15d113b_00000000000000e1_ps.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/699b238ae15d113b_00000000000000e1_ps.txt index 9ae3f4e5..097634f1 100644 --- a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/699b238ae15d113b_00000000000000e1_ps.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/699b238ae15d113b_00000000000000e1_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 699b238ae15d113b -- Ganons Castle Moat Fog Fragment Shader #define basefogred $basefogred @@ -21,10 +38,20 @@ #define basefogopacity 1 #endif +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[5]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2003b000 res 4x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[5]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2003b000 res 4x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem2; layout(location = 2) in vec4 passParameterSem3; @@ -36,7 +63,6 @@ layout(location = 7) in vec4 passParameterSem14; layout(location = 8) in vec4 passParameterSem15; layout(location = 9) in vec4 passParameterSem16; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/rules.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/rules.txt index 4303dd73..de536de6 100644 --- a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/rules.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = Hyrule Castle Base Fog Pack path = "The Legend of Zelda: Breath of the Wild/Mods/Distant Fog Removal/Hyrule Castle Base Fog" description = Can Remove the Fog glow at the Base of Hyrule Castle. Can Change its RGB color. -version = 3 +version = 4 [Preset] diff --git a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/1c7db40ff5d693ab_001ffffe4924b249_ps.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/1c7db40ff5d693ab_001ffffe4924b249_ps.txt index afded49a..674c6397 100644 --- a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/1c7db40ff5d693ab_001ffffe4924b249_ps.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/1c7db40ff5d693ab_001ffffe4924b249_ps.txt @@ -1,24 +1,50 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 1c7db40ff5d693ab -- Links and all NPCs RGb renderer, all npcs fog rgb renderer, sun-side facing brightness #define npcfogred $npcfogred #define npcfoggreen $npcfoggreen #define npcfogblue $npcfogblue +#ifdef VULKAN +layout(set = 1, binding = 11) uniform ufBlock +{ uniform ivec4 uf_remappedPS[33]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5c7b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x236b7000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 0 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform samplerCubeArray textureUnitPS7;// Tex7 addr 0x3ccea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0x3cbaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf528a800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[33]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5c7b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(5, 1, 4) uniform sampler2D textureUnitPS5;// Tex5 addr 0x236b7000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb +TEXTURE_LAYOUT(6, 1, 5) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(7, 1, 6) uniform samplerCubeArray textureUnitPS7;// Tex7 addr 0x3ccea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4 +TEXTURE_LAYOUT(11, 1, 7) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(12, 1, 8) uniform sampler2D textureUnitPS12;// Tex12 addr 0x3cbaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(14, 1, 9) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf528a800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(15, 1, 10) uniform sampler2D textureUnitPS15;// Tex15 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem2; layout(location = 2) in vec4 passParameterSem6; @@ -27,7 +53,6 @@ layout(location = 1) out vec4 passPixelColor1; layout(location = 2) out vec4 passPixelColor2; layout(location = 3) out vec4 passPixelColor3; layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) { // stm -> x .. s, y .. t, z .. MajorAxis*2.0 diff --git a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/rules.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/rules.txt index e52b8b46..9b547dfc 100644 --- a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/rules.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = Distant NPCs Fog Removal Pack path = "The Legend of Zelda: Breath of the Wild/Mods/Distant Fog Removal/NPC Fog Removal" description = Can Remove Fog from Distant NPCs. Conflicts with Cel-Shade ShadowFix Packs. -version = 3 +version = 4 [Preset] diff --git a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/527591781440691a_000000000001c24b_ps.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/527591781440691a_000000000001c24b_ps.txt index db392d3c..cd330b64 100644 --- a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/527591781440691a_000000000001c24b_ps.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/527591781440691a_000000000001c24b_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 527591781440691a -- Controls RGb of the Fog Fields in the distance ans their opacity #define ffopacity $ffopacity @@ -8,13 +25,23 @@ #define ffgreen $ffgreen #define ffblue $ffblue +#ifdef VULKAN +layout(set = 1, binding = 5) uniform ufBlock +{ uniform ivec4 uf_remappedPS[7]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2022c000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20234000 res 256x64x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 2 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x200c2000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 10) uniform samplerCubeArray textureUnitPS10;// Tex10 addr 0x3c6ee800 res 16x16x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x6) Sampler10 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[7]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2022c000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20234000 res 256x64x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x200c2000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(10, 1, 4) uniform samplerCubeArray textureUnitPS10;// Tex10 addr 0x3c6ee800 res 16x16x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x2 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; @@ -27,7 +54,6 @@ layout(location = 8) in vec4 passParameterSem14; layout(location = 9) in vec4 passParameterSem15; layout(location = 10) in vec4 passParameterSem16; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) { // stm -> x .. s, y .. t, z .. MajorAxis*2.0 diff --git a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/rules.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/rules.txt index d75f3e48..507fa53f 100644 --- a/Mods/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/rules.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = Fog Fields Pack path = "The Legend of Zelda: Breath of the Wild/Mods/Distant Fog Removal/World Fog Fields" description = Can Remove Fog Fields from the whole world. Change its RGB color. -version = 3 +version = 4 [Preset] diff --git a/Mods/BreathOfTheWild_DivineLaserBeamCustomizer/6fa2baef8a4ece42_0000000000000709_ps.txt b/Mods/BreathOfTheWild_DivineLaserBeamCustomizer/6fa2baef8a4ece42_0000000000000709_ps.txt index f3aa0ad7..36d1eecc 100644 --- a/Mods/BreathOfTheWild_DivineLaserBeamCustomizer/6fa2baef8a4ece42_0000000000000709_ps.txt +++ b/Mods/BreathOfTheWild_DivineLaserBeamCustomizer/6fa2baef8a4ece42_0000000000000709_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 6fa2baef8a4ece42 // Divine Laser Beams Customizer - rings // Credit for hsv functions below @@ -13,11 +30,21 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fc2000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x21594000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fc2000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x21594000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(4, 1, 2) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; @@ -26,7 +53,6 @@ layout(location = 4) in vec4 passParameterSem7; layout(location = 5) in vec4 passParameterSem8; layout(location = 6) in vec4 passParameterSem14; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_DivineLaserBeamCustomizer/de960d36a997b34d_0000000000000709_ps.txt b/Mods/BreathOfTheWild_DivineLaserBeamCustomizer/de960d36a997b34d_0000000000000709_ps.txt index 85310437..ff200ddb 100644 --- a/Mods/BreathOfTheWild_DivineLaserBeamCustomizer/de960d36a997b34d_0000000000000709_ps.txt +++ b/Mods/BreathOfTheWild_DivineLaserBeamCustomizer/de960d36a997b34d_0000000000000709_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader de960d36a997b34d // Divine Laser Beams Customizer - beams // Credit for hsv functions below @@ -13,11 +30,21 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x210b5000 res 200x200x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x2188b000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 0 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x210b5000 res 200x200x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x2188b000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(4, 1, 2) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; @@ -27,7 +54,6 @@ layout(location = 5) in vec4 passParameterSem8; layout(location = 6) in vec4 passParameterSem12; layout(location = 7) in vec4 passParameterSem14; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_DivineLaserBeamCustomizer/rules.txt b/Mods/BreathOfTheWild_DivineLaserBeamCustomizer/rules.txt index d80915bd..4c3f816b 100644 --- a/Mods/BreathOfTheWild_DivineLaserBeamCustomizer/rules.txt +++ b/Mods/BreathOfTheWild_DivineLaserBeamCustomizer/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = Divine Laser Beams Customizer path = "The Legend of Zelda: Breath of the Wild/Mods/Divine Laser Beams Customizer" description = Allows customization of the color of the Divine Beasts's Laser Beams. They can also be completely hidden. Inside the shader you can find other options like saturation and transparency. -version = 3 +version = 4 [Preset] name = Red (Default) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/0453fb7ad9cc0f79_0000000000003849_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/0453fb7ad9cc0f79_0000000000003849_ps.txt index a7469473..82e6f7e5 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/0453fb7ad9cc0f79_0000000000003849_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/0453fb7ad9cc0f79_0000000000003849_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 0453fb7ad9cc0f79 // Bomb - explosion sphere // Glow Lights Color Mod @@ -11,12 +28,22 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 4) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21106000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fc9000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x21412000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21106000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fc9000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x21412000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; @@ -24,7 +51,6 @@ layout(location = 3) in vec4 passParameterSem4; layout(location = 4) in vec4 passParameterSem8; layout(location = 5) in vec4 passParameterSem9; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/097eac672c26b4a4_00000000000000e1_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/097eac672c26b4a4_00000000000000e1_ps.txt index 7bb66cde..ebb11f06 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/097eac672c26b4a4_00000000000000e1_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/097eac672c26b4a4_00000000000000e1_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 097eac672c26b4a4 // Shrine - ending field shatter particles 2 // Glow Lights Color Mod @@ -11,17 +28,26 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x210c8000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 9) uniform sampler2D textureUnitPS9;// Tex9 addr 0xf557c800 res 160x90x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler9 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x210c8000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(9, 1, 1) uniform sampler2D textureUnitPS9;// Tex9 addr 0xf557c800 res 160x90x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; layout(location = 3) in vec4 passParameterSem4; layout(location = 4) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/0ce5fca5c70640d1_0000000000003849_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/0ce5fca5c70640d1_0000000000003849_ps.txt index 7c7ae193..d007d57b 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/0ce5fca5c70640d1_0000000000003849_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/0ce5fca5c70640d1_0000000000003849_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 0ce5fca5c70640d1 // Electric arc // Glow Lights Color Mod @@ -11,12 +28,22 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 4) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fc2000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x210c1000 res 64x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 0 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x210c8000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fc2000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x210c1000 res 64x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x210c8000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; @@ -24,7 +51,6 @@ layout(location = 3) in vec4 passParameterSem4; layout(location = 4) in vec4 passParameterSem8; layout(location = 5) in vec4 passParameterSem9; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/12fe44a2273b452c_000000000000001c_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/12fe44a2273b452c_000000000000001c_ps.txt index c6e93501..7708f5a6 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/12fe44a2273b452c_000000000000001c_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/12fe44a2273b452c_000000000000001c_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 12fe44a2273b452c // Shrine - elevator pass through field // Glow Lights Color Mod @@ -11,15 +28,24 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; uniform float uf_alphaTestRef; -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(4, 1, 0) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem3; layout(location = 2) in vec4 passParameterSem4; layout(location = 3) in vec4 passParameterSem7; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/146164991e2929e2_0000000000000709_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/146164991e2929e2_0000000000000709_ps.txt index 7cae0f66..d0247890 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/146164991e2929e2_0000000000000709_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/146164991e2929e2_0000000000000709_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 146164991e2929e2 // Shrine - volumetric light // Glow Lights Color Mod @@ -11,11 +28,21 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21331000 res 512x512x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 9) uniform sampler2D textureUnitPS9;// Tex9 addr 0xf557c800 res 160x90x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler9 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21331000 res 512x512x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(9, 1, 2) uniform sampler2D textureUnitPS9;// Tex9 addr 0xf557c800 res 160x90x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; @@ -23,7 +50,6 @@ layout(location = 3) in vec4 passParameterSem4; layout(location = 4) in vec4 passParameterSem7; layout(location = 5) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/14f5a7cf99f2904a_00000000000000f1_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/14f5a7cf99f2904a_00000000000000f1_ps.txt index 88defd80..7602614a 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/14f5a7cf99f2904a_00000000000000f1_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/14f5a7cf99f2904a_00000000000000f1_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 14f5a7cf99f2904a // Shrine - laser beam // Glow Lights Color Mod @@ -11,16 +28,24 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x18b20000 res 128x4x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x18b20000 res 128x4x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 0 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x18b20000 res 128x4x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x18b20000 res 128x4x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem4; layout(location = 3) in vec4 passParameterSem7; layout(location = 4) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/15e2d4f74a5e8445_000000000000001c_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/15e2d4f74a5e8445_000000000000001c_ps.txt index 5f3f393e..ac87309f 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/15e2d4f74a5e8445_000000000000001c_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/15e2d4f74a5e8445_000000000000001c_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 15e2d4f74a5e8445 // Bomb - explosion first sphere // Glow Lights Color Mod @@ -11,9 +28,19 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fd4000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fd4000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem2; @@ -22,7 +49,6 @@ layout(location = 4) in vec4 passParameterSem7; layout(location = 5) in vec4 passParameterSem8; layout(location = 6) in vec4 passParameterSem11; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/1dd8be9054c94f4e_0000000000003849_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/1dd8be9054c94f4e_0000000000003849_ps.txt index 84484122..f7b7c5ea 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/1dd8be9054c94f4e_0000000000003849_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/1dd8be9054c94f4e_0000000000003849_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 1dd8be9054c94f4e // Shrine - activation circle // Glow Lights Color Mod @@ -11,12 +28,22 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 4) uniform ufBlock +{ uniform ivec4 uf_remappedPS[4]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21106000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fc9000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1dc46000 res 64x64x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[4]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21106000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fc9000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1dc46000 res 64x64x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem2; @@ -28,7 +55,6 @@ layout(location = 7) in vec4 passParameterSem9; layout(location = 8) in vec4 passParameterSem11; layout(location = 9) in vec4 passParameterSem12; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/233a000439032e75_00000000000000e1_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/233a000439032e75_00000000000000e1_ps.txt index de631e8a..2aec2af3 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/233a000439032e75_00000000000000e1_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/233a000439032e75_00000000000000e1_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 233a000439032e75 // Bomb - explosion circle // Glow Lights Color Mod @@ -11,16 +28,24 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x214e1000 res 64x400x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x214e1000 res 64x400x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 0 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x214e1000 res 64x400x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x214e1000 res 64x400x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem4; layout(location = 3) in vec4 passParameterSem7; layout(location = 4) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/266a0d760fe1ddfc_0000000000003849_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/266a0d760fe1ddfc_0000000000003849_ps.txt index c3959690..ba7a9955 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/266a0d760fe1ddfc_0000000000003849_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/266a0d760fe1ddfc_0000000000003849_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 266a0d760fe1ddfc // Shrine - elevator base // Glow Lights Color Mod @@ -11,12 +28,22 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 4) uniform ufBlock +{ uniform ivec4 uf_remappedPS[4]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21106000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x21156000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x21103000 res 4x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[4]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21106000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x21156000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x21103000 res 4x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem2; @@ -27,7 +54,6 @@ layout(location = 6) in vec4 passParameterSem8; layout(location = 7) in vec4 passParameterSem9; layout(location = 8) in vec4 passParameterSem11; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/2a045e62b99640b5_00000001e1e21c49_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/2a045e62b99640b5_00000001e1e21c49_ps.txt index 56ab8861..30c0dc59 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/2a045e62b99640b5_00000001e1e21c49_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/2a045e62b99640b5_00000001e1e21c49_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 2a045e62b99640b5 // Shrine of Resurrection - walls // Glow Lights Color Mod @@ -11,12 +28,22 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 4) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; uniform float uf_alphaTestRef; -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb2b30000 res 512x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb2b63000 res 128x64x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb2b42000 res 512x256x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xb2b42000 res 512x256x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 0 0 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(3, 1, 0) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb2b30000 res 512x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb2b63000 res 128x64x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(5, 1, 2) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb2b42000 res 512x256x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(6, 1, 3) uniform sampler2D textureUnitPS6;// Tex6 addr 0xb2b42000 res 512x256x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0xa layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem5; layout(location = 2) in vec4 passParameterSem3; @@ -25,7 +52,6 @@ layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 3) out vec4 passPixelColor3; layout(location = 5) out vec4 passPixelColor5; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/2a87149b7154c69d_000000000001c24b_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/2a87149b7154c69d_000000000001c24b_ps.txt index b6c4b150..5df47eea 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/2a87149b7154c69d_000000000001c24b_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/2a87149b7154c69d_000000000001c24b_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 2a87149b7154c69d // Bomb - smoke // Glow Lights Color Mod @@ -11,13 +28,23 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 5) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21048800 res 256x128x1 dim 1 tm: 4 format 0007 compSel: 0 1 1 1 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x2105e800 res 256x256x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x210b5000 res 200x200x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 10) uniform samplerCubeArray textureUnitPS10;// Tex10 addr 0x3d568800 res 16x16x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x6) Sampler10 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21048800 res 256x128x1 dim 1 tm: 4 format 0007 compSel: 0 1 1 1 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x2105e800 res 256x256x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x210b5000 res 200x200x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(10, 1, 4) uniform samplerCubeArray textureUnitPS10;// Tex10 addr 0x3d568800 res 16x16x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x2 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; @@ -29,7 +56,6 @@ layout(location = 7) in vec4 passParameterSem11; layout(location = 8) in vec4 passParameterSem14; layout(location = 9) in vec4 passParameterSem15; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) { // stm -> x .. s, y .. t, z .. MajorAxis*2.0 diff --git a/Mods/BreathOfTheWild_GlowLightsColors/2f64af19b1835ab0_00000000000000e1_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/2f64af19b1835ab0_00000000000000e1_ps.txt index 004f8767..326b3b5a 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/2f64af19b1835ab0_00000000000000e1_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/2f64af19b1835ab0_00000000000000e1_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 2f64af19b1835ab0 // Shrine - ending particles // Glow Lights Color Mod @@ -11,17 +28,26 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fd4000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fd4000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; layout(location = 3) in vec4 passParameterSem4; layout(location = 4) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/319e60116b59ceec_00000001e1e1fe49_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/319e60116b59ceec_00000001e1e1fe49_ps.txt index d6f5cb52..06d432ca 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/319e60116b59ceec_00000001e1e1fe49_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/319e60116b59ceec_00000001e1e1fe49_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 319e60116b59ceec // Sheikah Tower - active // Glow Lights Color Mod @@ -11,10 +28,19 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x34833000 res 64x64x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x34834000 res 128x128x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x34836000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(3, 1, 0) uniform sampler2D textureUnitPS3;// Tex3 addr 0x34833000 res 64x64x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0x34834000 res 128x128x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(5, 1, 2) uniform sampler2D textureUnitPS5;// Tex5 addr 0x34836000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem5; layout(location = 2) in vec4 passParameterSem3; @@ -24,7 +50,6 @@ layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 3) out vec4 passPixelColor3; layout(location = 5) out vec4 passPixelColor5; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/38d70ed9280bb3bc_0000000000000079_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/38d70ed9280bb3bc_0000000000000079_ps.txt index 672e0ef6..79894e14 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/38d70ed9280bb3bc_0000000000000079_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/38d70ed9280bb3bc_0000000000000079_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 38d70ed9280bb3bc // Bloom color cast // Glow Lights Color Mod @@ -11,11 +28,19 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf46ac800 res 320x180x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x5) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf46ac800 res 320x180x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x5 layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/3d383d2d61500c9c_0000000f0f0ff249_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/3d383d2d61500c9c_0000000f0f0ff249_ps.txt index 12e42185..1c0dfa19 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/3d383d2d61500c9c_0000000f0f0ff249_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/3d383d2d61500c9c_0000000f0f0ff249_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 3d383d2d61500c9c // Sheikah Tower - middle structure above control panel // Glow Lights Color Mod @@ -11,11 +28,20 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 4) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb3798000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb391b000 res 512x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb381a000 res 1024x1024x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xb381a000 res 1024x1024x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 0 0 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(3, 1, 0) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb3798000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb391b000 res 512x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(5, 1, 2) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb381a000 res 1024x1024x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0xb +TEXTURE_LAYOUT(6, 1, 3) uniform sampler2D textureUnitPS6;// Tex6 addr 0xb381a000 res 1024x1024x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0xb layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem5; layout(location = 2) in vec4 passParameterSem3; @@ -24,7 +50,6 @@ layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 3) out vec4 passPixelColor3; layout(location = 5) out vec4 passPixelColor5; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/42c9208b54ad72ca_00000000000000e1_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/42c9208b54ad72ca_00000000000000e1_ps.txt index 0eab7350..b9cfd6cc 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/42c9208b54ad72ca_00000000000000e1_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/42c9208b54ad72ca_00000000000000e1_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 42c9208b54ad72ca // Guardian scout fire debris // Glow Lights Color Mod @@ -11,15 +28,23 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fee000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fee000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fee000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fee000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem4; layout(location = 3) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/458dd826bd589332_0000000000000709_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/458dd826bd589332_0000000000000709_ps.txt index 959ec824..993699df 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/458dd826bd589332_0000000000000709_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/458dd826bd589332_0000000000000709_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 458dd826bd589332 // Hateno fire - glow // Glow Lights Color Mod @@ -11,18 +28,27 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fc2000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fd4000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fc2000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fd4000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(4, 1, 2) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; layout(location = 3) in vec4 passParameterSem4; layout(location = 4) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/48a94cda336d2976_00000000000000e1_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/48a94cda336d2976_00000000000000e1_ps.txt index 69f18c97..72fa6a09 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/48a94cda336d2976_00000000000000e1_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/48a94cda336d2976_00000000000000e1_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 48a94cda336d2976 // Hateno fire - horizontal flare // Glow Lights Color Mod @@ -11,15 +28,23 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fdb000 res 256x78x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 1 1 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fe2000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fdb000 res 256x78x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fe2000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem4; layout(location = 3) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/4af8a4670205be4c_00000000000000e1_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/4af8a4670205be4c_00000000000000e1_ps.txt index 535ab0d4..341ba63f 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/4af8a4670205be4c_00000000000000e1_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/4af8a4670205be4c_00000000000000e1_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 4af8a4670205be4c // Shrine - laser beam glow // Glow Lights Color Mod @@ -11,10 +28,20 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[5]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x18b20000 res 128x4x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 0 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[5]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x18b20000 res 128x4x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem2; @@ -27,7 +54,6 @@ layout(location = 8) in vec4 passParameterSem14; layout(location = 9) in vec4 passParameterSem15; layout(location = 10) in vec4 passParameterSem16; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/4bdac25bb98f5804_0000000000003849_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/4bdac25bb98f5804_0000000000003849_ps.txt index 5df039b5..4e0ba3f8 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/4bdac25bb98f5804_0000000000003849_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/4bdac25bb98f5804_0000000000003849_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 4bdac25bb98f5804 // Hateno fire // Glow Lights Color Mod @@ -11,12 +28,22 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 4) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fc2000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fc9000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x20fcc800 res 64x64x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fc2000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fc9000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x20fcc800 res 64x64x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; @@ -24,7 +51,6 @@ layout(location = 3) in vec4 passParameterSem4; layout(location = 4) in vec4 passParameterSem8; layout(location = 5) in vec4 passParameterSem9; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/5219277e990fe5ba_00000000000000e1_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/5219277e990fe5ba_00000000000000e1_ps.txt index b8a0d47f..f3be44e7 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/5219277e990fe5ba_00000000000000e1_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/5219277e990fe5ba_00000000000000e1_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 5219277e990fe5ba // Bomb - horizontal appearance effect // Glow Lights Color Mod @@ -11,15 +28,23 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fdb000 res 256x78x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 1 1 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fe2000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fdb000 res 256x78x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fe2000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem4; layout(location = 3) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/5b04d28f319a1d6d_0000000f0f0ff249_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/5b04d28f319a1d6d_0000000f0f0ff249_ps.txt index 1f9a6cdd..ffe748bb 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/5b04d28f319a1d6d_0000000f0f0ff249_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/5b04d28f319a1d6d_0000000f0f0ff249_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 5b04d28f319a1d6d // Bomb // Glow Lights Color Mod @@ -11,11 +28,20 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 4) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xb2ea5000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xb2fce000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb2fac000 res 512x512x1 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 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb2f8b000 res 512x512x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1;// Tex1 addr 0xb2ea5000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0xb2fce000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb2fac000 res 512x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb2f8b000 res 512x512x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0xa layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem3; layout(location = 2) in vec4 passParameterSem4; @@ -24,7 +50,6 @@ layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 3) out vec4 passPixelColor3; layout(location = 5) out vec4 passPixelColor5; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/5b9b7727ca24e22b_0000000000000709_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/5b9b7727ca24e22b_0000000000000709_ps.txt index d0d9dbe1..1991331e 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/5b9b7727ca24e22b_0000000000000709_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/5b9b7727ca24e22b_0000000000000709_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 5b9b7727ca24e22b // Shrine - ending field 2 // Glow Lights Color Mod @@ -11,11 +28,21 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x216b3000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x21416000 res 400x100x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 2 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x2137e000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x216b3000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x21416000 res 400x100x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x2137e000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem2; @@ -25,7 +52,6 @@ layout(location = 5) in vec4 passParameterSem8; layout(location = 6) in vec4 passParameterSem9; layout(location = 7) in vec4 passParameterSem11; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/5f4e60117b59cf65_00000001e1e1fe49_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/5f4e60117b59cf65_00000001e1e1fe49_ps.txt index 9688741b..26e98c49 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/5f4e60117b59cf65_00000001e1e1fe49_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/5f4e60117b59cf65_00000001e1e1fe49_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 5f4e60117b59cf65 // Sheikah Tower - inactive + Shrine // Glow Lights Color Mod @@ -11,10 +28,19 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x337db000 res 256x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x337f3000 res 128x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x337e7000 res 256x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(3, 1, 0) uniform sampler2D textureUnitPS3;// Tex3 addr 0x337db000 res 256x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0x337f3000 res 128x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(5, 1, 2) uniform sampler2D textureUnitPS5;// Tex5 addr 0x337e7000 res 256x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0xb layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem5; layout(location = 2) in vec4 passParameterSem3; @@ -24,7 +50,6 @@ layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 3) out vec4 passPixelColor3; layout(location = 5) out vec4 passPixelColor5; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/603d7ad06d86617e_00000000000000e1_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/603d7ad06d86617e_00000000000000e1_ps.txt index 211c45f6..dcfb5a0b 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/603d7ad06d86617e_00000000000000e1_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/603d7ad06d86617e_00000000000000e1_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 603d7ad06d86617e // Teleportation - part 2 // Glow Lights Color Mod @@ -11,15 +28,23 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x216a1000 res 64x64x1 dim 1 tm: 4 format 0001 compSel: 0 0 0 0 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x211a9000 res 32x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x216a1000 res 64x64x1 dim 1 tm: 4 format 0001 compSel: 0 0 0 0 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x211a9000 res 32x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem4; layout(location = 3) in vec4 passParameterSem7; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/6240983542445009_00000001e1e21c49_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/6240983542445009_00000001e1e21c49_ps.txt index 79f99557..7dcba9ea 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/6240983542445009_00000001e1e21c49_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/6240983542445009_00000001e1e21c49_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 6240983542445009 // Shrine - bulbs // Glow Lights Color Mod @@ -11,12 +28,22 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 4) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; uniform float uf_alphaTestRef; -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb74c5000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb74ef000 res 256x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb74e6000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xb75c0000 res 84x64x1 dim 1 tm: 4 format 0034 compSel: 0 4 4 4 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(3, 1, 0) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb74c5000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb74ef000 res 256x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(5, 1, 2) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb74e6000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(7, 1, 3) uniform sampler2D textureUnitPS7;// Tex7 addr 0xb75c0000 res 84x64x1 dim 1 tm: 4 format 0034 compSel: 0 4 4 4 mipView: 0x0 (num 0x7 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem6; layout(location = 2) in vec4 passParameterSem3; @@ -27,7 +54,6 @@ layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 3) out vec4 passPixelColor3; layout(location = 5) out vec4 passPixelColor5; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/64342503518ca97a_0000000000000709_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/64342503518ca97a_0000000000000709_ps.txt index ba8c57bf..41841cbf 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/64342503518ca97a_0000000000000709_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/64342503518ca97a_0000000000000709_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 64342503518ca97a // Shrine - ending // Glow Lights Color Mod @@ -11,11 +28,21 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21106000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fc9000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x21103000 res 4x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21106000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fc9000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x21103000 res 4x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem4; @@ -23,7 +50,6 @@ layout(location = 3) in vec4 passParameterSem7; layout(location = 4) in vec4 passParameterSem8; layout(location = 5) in vec4 passParameterSem9; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/6832b00344c32a71_00000000000000e1_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/6832b00344c32a71_00000000000000e1_ps.txt index 63898942..ba3ef699 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/6832b00344c32a71_00000000000000e1_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/6832b00344c32a71_00000000000000e1_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 6832b00344c32a71 // Shrine - ending back wall // Glow Lights Color Mod @@ -11,16 +28,24 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21103000 res 4x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x21103000 res 4x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21103000 res 4x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x21103000 res 4x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem4; layout(location = 3) in vec4 passParameterSem7; layout(location = 4) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/687da8c1b555b262_0000000000003849_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/687da8c1b555b262_0000000000003849_ps.txt index 0ce7c69d..a0e1aa3b 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/687da8c1b555b262_0000000000003849_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/687da8c1b555b262_0000000000003849_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 687da8c1b555b262 // Bomb - explosion sphere + distorsion // Glow Lights Color Mod @@ -11,12 +28,22 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 4) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21106000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fd4000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x210b5000 res 200x200x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf45c6000 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21106000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fd4000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x210b5000 res 200x200x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(3, 1, 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf45c6000 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; @@ -25,7 +52,6 @@ layout(location = 4) in vec4 passParameterSem7; layout(location = 5) in vec4 passParameterSem8; layout(location = 6) in vec4 passParameterSem9; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/68aa37ce58db094d_00000000000000e1_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/68aa37ce58db094d_00000000000000e1_ps.txt index a37dc717..4885d047 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/68aa37ce58db094d_00000000000000e1_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/68aa37ce58db094d_00000000000000e1_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 68aa37ce58db094d // Bomb - appear effect center // Glow Lights Color Mod @@ -11,17 +28,26 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fd4000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fd4000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; layout(location = 3) in vec4 passParameterSem4; layout(location = 4) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/70a79265ab7d498a_0000000f0f10e249_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/70a79265ab7d498a_0000000f0f10e249_ps.txt index 1f40e569..477c8449 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/70a79265ab7d498a_0000000f0f10e249_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/70a79265ab7d498a_0000000f0f10e249_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 70a79265ab7d498a // Electric balls // Glow Lights Color Mod @@ -11,13 +28,23 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 5) uniform ufBlock +{ uniform ivec4 uf_remappedPS[4]; uniform float uf_alphaTestRef; -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb639d000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb63b8000 res 256x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb63a6000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xb63af000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0xb639b000 res 128x4x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[4]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(3, 1, 0) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb639d000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb63b8000 res 256x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(5, 1, 2) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb63a6000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(6, 1, 3) uniform sampler2D textureUnitPS6;// Tex6 addr 0xb63af000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(8, 1, 4) uniform sampler2D textureUnitPS8;// Tex8 addr 0xb639b000 res 128x4x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; @@ -27,7 +54,6 @@ layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 3) out vec4 passPixelColor3; layout(location = 5) out vec4 passPixelColor5; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/70d96b85a0ce93ef_00000000000000e1_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/70d96b85a0ce93ef_00000000000000e1_ps.txt index e0a3b9dd..67caf1ce 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/70d96b85a0ce93ef_00000000000000e1_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/70d96b85a0ce93ef_00000000000000e1_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 70d96b85a0ce93ef // Shrine - ending - field shatter effect particle // Glow Lights Color Mod @@ -11,16 +28,24 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x211a9000 res 32x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x214e1000 res 64x400x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 1 1 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x211a9000 res 32x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x214e1000 res 64x400x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem4; layout(location = 3) in vec4 passParameterSem7; layout(location = 4) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/751393d6cbcd0c76_000003c3c3fc9249_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/751393d6cbcd0c76_000003c3c3fc9249_ps.txt index e3ea2b97..665579a0 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/751393d6cbcd0c76_000003c3c3fc9249_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/751393d6cbcd0c76_000003c3c3fc9249_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 751393d6cbcd0c76 // Shrine - walls 2 // Glow Lights Color Mod @@ -11,13 +28,22 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 6) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb119e000 res 1024x1024x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb129f000 res 512x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb10e6000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xb1179000 res 512x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xb09e5000 res 4012x2048x1 dim 1 tm: 4 format 0034 compSel: 0 4 4 4 mipView: 0x0 (num 0xc) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0xb1168000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(3, 1, 0) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb119e000 res 1024x1024x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xb +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb129f000 res 512x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(5, 1, 2) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb10e6000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb +TEXTURE_LAYOUT(6, 1, 3) uniform sampler2D textureUnitPS6;// Tex6 addr 0xb1179000 res 512x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(7, 1, 4) uniform sampler2D textureUnitPS7;// Tex7 addr 0xb09e5000 res 4012x2048x1 dim 1 tm: 4 format 0034 compSel: 0 4 4 4 mipView: 0x0 (num 0xc +TEXTURE_LAYOUT(8, 1, 5) uniform sampler2D textureUnitPS8;// Tex8 addr 0xb1168000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x9 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem7; @@ -28,7 +54,6 @@ layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 3) out vec4 passPixelColor3; layout(location = 5) out vec4 passPixelColor5; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/80b87385a0d2942f_00000000000000e1_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/80b87385a0d2942f_00000000000000e1_ps.txt index 8f3db3d4..4bf2d102 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/80b87385a0d2942f_00000000000000e1_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/80b87385a0d2942f_00000000000000e1_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 80b87385a0d2942f // Bomp - appear effect circle 2 // Glow Lights Color Mod @@ -11,16 +28,24 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x214e1000 res 64x400x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x214e1000 res 64x400x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 0 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x214e1000 res 64x400x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x214e1000 res 64x400x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem4; layout(location = 3) in vec4 passParameterSem7; layout(location = 4) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/81adf9797e4661a7_00000000000000e1_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/81adf9797e4661a7_00000000000000e1_ps.txt index 5dee8f8c..4e15db19 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/81adf9797e4661a7_00000000000000e1_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/81adf9797e4661a7_00000000000000e1_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 81adf9797e4661a7 // Shrine - ending glowing wall // Glow Lights Color Mod @@ -11,16 +28,24 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21282000 res 128x128x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fc9000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21282000 res 128x128x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fc9000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem4; layout(location = 3) in vec4 passParameterSem7; layout(location = 4) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/8438998c284fe428_000000000000001c_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/8438998c284fe428_000000000000001c_ps.txt index 6c8a7275..7c8d7f54 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/8438998c284fe428_000000000000001c_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/8438998c284fe428_000000000000001c_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 8438998c284fe428 // Shrine - elevator particles 2 // Glow Lights Color Mod @@ -11,14 +28,22 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x214d5000 res 128x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x214d5000 res 128x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem4; layout(location = 3) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/87790fa17c847fea_0000000000000709_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/87790fa17c847fea_0000000000000709_ps.txt index 73ae5cf9..830af312 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/87790fa17c847fea_0000000000000709_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/87790fa17c847fea_0000000000000709_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 87790fa17c847fea // Shrine - elevator field + distortion // Glow Lights Color Mod @@ -11,11 +28,21 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21106000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x21146000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf45c6000 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21106000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x21146000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf45c6000 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; @@ -24,7 +51,6 @@ layout(location = 4) in vec4 passParameterSem5; layout(location = 5) in vec4 passParameterSem8; layout(location = 6) in vec4 passParameterSem12; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/8798144a6f066e7c_00000000000000e1_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/8798144a6f066e7c_00000000000000e1_ps.txt index 3c21408d..9f9dc7b7 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/8798144a6f066e7c_00000000000000e1_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/8798144a6f066e7c_00000000000000e1_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 8798144a6f066e7c // Shrine - ending field 3 // Glow Lights Color Mod @@ -11,10 +28,20 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21282000 res 128x128x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fc9000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21282000 res 128x128x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fc9000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem2; @@ -23,7 +50,6 @@ layout(location = 4) in vec4 passParameterSem7; layout(location = 5) in vec4 passParameterSem8; layout(location = 6) in vec4 passParameterSem11; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/87babe7569572ff5_0000000000003849_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/87babe7569572ff5_0000000000003849_ps.txt index 4f7f96dd..a9a9688b 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/87babe7569572ff5_0000000000003849_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/87babe7569572ff5_0000000000003849_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 87babe7569572ff5 // Bomb - trails 1 // Glow Lights Color Mod @@ -11,12 +28,22 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 4) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2118e000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x213a7000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x21636000 res 64x64x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2118e000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x213a7000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x21636000 res 64x64x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; @@ -25,7 +52,6 @@ layout(location = 4) in vec4 passParameterSem5; layout(location = 5) in vec4 passParameterSem7; layout(location = 6) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/8836c3a20b053cf0_000000000000001c_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/8836c3a20b053cf0_000000000000001c_ps.txt index 1740eca2..9b2ca48c 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/8836c3a20b053cf0_000000000000001c_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/8836c3a20b053cf0_000000000000001c_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 8836c3a20b053cf0 // Shrine - vertical lines field // Glow Lights Color Mod @@ -11,9 +28,19 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21103000 res 4x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 1 1 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21103000 res 4x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem2; @@ -22,7 +49,6 @@ layout(location = 4) in vec4 passParameterSem7; layout(location = 5) in vec4 passParameterSem8; layout(location = 6) in vec4 passParameterSem11; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/8d0a18894dd0c9cb_0000000000000709_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/8d0a18894dd0c9cb_0000000000000709_ps.txt index 9756dc31..fddd9267 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/8d0a18894dd0c9cb_0000000000000709_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/8d0a18894dd0c9cb_0000000000000709_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 8d0a18894dd0c9cb // Shrine - ending field 1 // Glow Lights Color Mod @@ -11,11 +28,21 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21106000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fc9000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x21412000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21106000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fc9000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x21412000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem2; @@ -24,7 +51,6 @@ layout(location = 4) in vec4 passParameterSem8; layout(location = 5) in vec4 passParameterSem9; layout(location = 6) in vec4 passParameterSem11; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/8e9e804a3cd384c3_00000000000ff259_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/8e9e804a3cd384c3_00000000000ff259_ps.txt index eec54824..902b3cc8 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/8e9e804a3cd384c3_00000000000ff259_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/8e9e804a3cd384c3_00000000000ff259_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 8e9e804a3cd384c3 // Shrine lights, volcano path lights, generic lights, electric balls - reflection pass // Glow Lights Color Mod @@ -11,15 +28,23 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 4) uniform ufBlock +{ uniform ivec4 uf_remappedPS[13]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform samplerCubeArray textureUnitPS2;// Tex2 addr 0x3df6e800 res 3x3x1 dim 3 tm: 2 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x6) Sampler2 ClampX/Y/Z: 6 6 6 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x3df6f800 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[13]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 2) uniform samplerCubeArray textureUnitPS2;// Tex2 addr 0x3df6e800 res 3x3x1 dim 3 tm: 2 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(3, 1, 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x3df6f800 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 1) noperspective in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) { // stm -> x .. s, y .. t, z .. MajorAxis*2.0 @@ -157,7 +182,7 @@ bool predResult = true; vec3 cubeMapSTM; int cubeMapFaceId; float cubeMapArrayIndex2 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); +R0i = floatBitsToInt(GET_FRAGCOORD()); R1i = floatBitsToInt(passParameterSem0); // 0 R6i.x = 0x3f800000; diff --git a/Mods/BreathOfTheWild_GlowLightsColors/8fe014235f134ac1_00000000000000e1_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/8fe014235f134ac1_00000000000000e1_ps.txt index 1d8f76f6..40b25347 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/8fe014235f134ac1_00000000000000e1_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/8fe014235f134ac1_00000000000000e1_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 8fe014235f134ac1 // Shrine - generic particles // Glow Lights Color Mod @@ -11,16 +28,25 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fd4000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fd4000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem3; layout(location = 2) in vec4 passParameterSem4; layout(location = 3) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/99122c964b6a1a19_000000000001fe49_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/99122c964b6a1a19_000000000001fe49_ps.txt index 873b4e42..f0abfe7c 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/99122c964b6a1a19_000000000001fe49_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/99122c964b6a1a19_000000000001fe49_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 99122c964b6a1a19 // Shrine - elevator reflection pass // Glow Lights Color Mod @@ -11,14 +28,22 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[10]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3df6f800 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[10]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3df6f800 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 1) noperspective in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) @@ -77,7 +102,7 @@ activeMaskStackC[0] = true; activeMaskStackC[1] = true; vec3 cubeMapSTM; int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); +R0i = floatBitsToInt(GET_FRAGCOORD()); R1i = floatBitsToInt(passParameterSem0); if( activeMaskStackC[1] == true ) { // 0 diff --git a/Mods/BreathOfTheWild_GlowLightsColors/99fc7f42b65ca284_0000000000000709_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/99fc7f42b65ca284_0000000000000709_ps.txt index cbbe0a1a..76ba36a1 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/99fc7f42b65ca284_0000000000000709_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/99fc7f42b65ca284_0000000000000709_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 99fc7f42b65ca284 // Shrine - elevator // Glow Lights Color Mod @@ -11,11 +28,21 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21106000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fc9000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x21412000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21106000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fc9000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x21412000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem2; @@ -26,7 +53,6 @@ layout(location = 6) in vec4 passParameterSem9; layout(location = 7) in vec4 passParameterSem11; layout(location = 8) in vec4 passParameterSem12; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/9aacad682248145f_0000000000000709_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/9aacad682248145f_0000000000000709_ps.txt index 9a0b191f..5088a84c 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/9aacad682248145f_0000000000000709_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/9aacad682248145f_0000000000000709_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 9aacad682248145f // Teleportation - part 1 // Glow Lights Color Mod @@ -11,11 +28,21 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x216a1000 res 64x64x1 dim 1 tm: 4 format 0001 compSel: 0 0 0 0 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x211a9000 res 32x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 0 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x216a1000 res 64x64x1 dim 1 tm: 4 format 0001 compSel: 0 0 0 0 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x211a9000 res 32x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(4, 1, 2) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; @@ -23,7 +50,6 @@ layout(location = 3) in vec4 passParameterSem4; layout(location = 4) in vec4 passParameterSem7; layout(location = 5) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/9c9c75d87bb9b4ef_0000000f0f10e249_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/9c9c75d87bb9b4ef_0000000f0f10e249_ps.txt index 32deaeaf..8536102d 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/9c9c75d87bb9b4ef_0000000f0f10e249_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/9c9c75d87bb9b4ef_0000000f0f10e249_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 9c9c75d87bb9b4ef // Shrine - ceiling decorations // Glow Lights Color Mod @@ -11,13 +28,23 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 5) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; uniform float uf_alphaTestRef; -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb10a3000 res 512x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb10d5000 res 512x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb10b4000 res 512x256x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xb10b4000 res 512x256x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xb09e5000 res 4012x2048x1 dim 1 tm: 4 format 0034 compSel: 0 4 4 4 mipView: 0x0 (num 0xc) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(3, 1, 0) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb10a3000 res 512x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb10d5000 res 512x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(5, 1, 2) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb10b4000 res 512x256x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(6, 1, 3) uniform sampler2D textureUnitPS6;// Tex6 addr 0xb10b4000 res 512x256x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(7, 1, 4) uniform sampler2D textureUnitPS7;// Tex7 addr 0xb09e5000 res 4012x2048x1 dim 1 tm: 4 format 0034 compSel: 0 4 4 4 mipView: 0x0 (num 0xc layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem7; @@ -28,7 +55,6 @@ layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 3) out vec4 passPixelColor3; layout(location = 5) out vec4 passPixelColor5; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/a02a462f9ba59f2e_000000003c3c4389_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/a02a462f9ba59f2e_000000003c3c4389_ps.txt index af9bee0f..488ce2f3 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/a02a462f9ba59f2e_000000003c3c4389_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/a02a462f9ba59f2e_000000003c3c4389_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader a02a462f9ba59f2e // Sheikah Tower - inactive - middle part // Glow Lights Color Mod @@ -11,11 +28,21 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; uniform float uf_alphaTestRef; -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb22d2000 res 512x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb2305000 res 128x64x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb22e4000 res 512x256x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(3, 1, 0) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb22d2000 res 512x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb2305000 res 128x64x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(5, 1, 2) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb22e4000 res 512x256x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0xa layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem5; layout(location = 2) in vec4 passParameterSem3; @@ -24,7 +51,6 @@ layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 3) out vec4 passPixelColor3; layout(location = 5) out vec4 passPixelColor5; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/a11251f0bffe8631_000000000000001c_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/a11251f0bffe8631_000000000000001c_ps.txt index 628c47af..be98348e 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/a11251f0bffe8631_000000000000001c_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/a11251f0bffe8631_000000000000001c_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader a11251f0bffe8631 // Shrine - elevator particles 3 // Glow Lights Color Mod @@ -11,14 +28,22 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fd4000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fd4000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem4; layout(location = 3) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/a54bdb88a57b9be9_0000000000003849_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/a54bdb88a57b9be9_0000000000003849_ps.txt index 5edfdbc2..11c06fac 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/a54bdb88a57b9be9_0000000000003849_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/a54bdb88a57b9be9_0000000000003849_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader a54bdb88a57b9be9 // Bomb - explosion particles 1 // Glow Lights Color Mod @@ -11,12 +28,22 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 4) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fc2000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fd4000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 2 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x20fc9000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fc2000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fd4000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x20fc9000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; @@ -25,7 +52,6 @@ layout(location = 4) in vec4 passParameterSem7; layout(location = 5) in vec4 passParameterSem8; layout(location = 6) in vec4 passParameterSem9; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/a6ea718e4c60e157_00000000000000e1_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/a6ea718e4c60e157_00000000000000e1_ps.txt index 72d1646e..4146a552 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/a6ea718e4c60e157_00000000000000e1_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/a6ea718e4c60e157_00000000000000e1_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader a6ea718e4c60e157 // Bomb - trails 2 // Glow Lights Color Mod @@ -11,17 +28,26 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21632000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21632000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; layout(location = 3) in vec4 passParameterSem4; layout(location = 4) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/a6eb708e4b616557_00000000000000e1_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/a6eb708e4b616557_00000000000000e1_ps.txt index e7b251b1..a039cc6c 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/a6eb708e4b616557_00000000000000e1_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/a6eb708e4b616557_00000000000000e1_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader a6eb708e4b616557 // Bomb - explosion particles 2 // Glow Lights Color Mod @@ -11,17 +28,26 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21447000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 1 1 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21447000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; layout(location = 3) in vec4 passParameterSem4; layout(location = 4) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/a95fbb49ae2c8f46_00000000000000e1_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/a95fbb49ae2c8f46_00000000000000e1_ps.txt index 1611b87d..c51aae95 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/a95fbb49ae2c8f46_00000000000000e1_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/a95fbb49ae2c8f46_00000000000000e1_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader a95fbb49ae2c8f46 // Guardian scout fire // Glow Lights Color Mod @@ -11,15 +28,23 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x211ac000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x211ac000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x211ac000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x211ac000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem4; layout(location = 3) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/b2cf5924b04ea6a4_0000000f0f0ff249_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/b2cf5924b04ea6a4_0000000f0f0ff249_ps.txt index 88f0960f..c8759007 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/b2cf5924b04ea6a4_0000000f0f0ff249_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/b2cf5924b04ea6a4_0000000f0f0ff249_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader b2cf5924b04ea6a4 // Shrine - metal chests // Glow Lights Color Mod @@ -11,11 +28,20 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 4) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb915a000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb9198000 res 256x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb9197000 res 32x32x1 dim 1 tm: 2 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x6) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xb917b000 res 400x400x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 0 0 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(3, 1, 0) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb915a000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb9198000 res 256x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(5, 1, 2) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb9197000 res 32x32x1 dim 1 tm: 2 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x6 +TEXTURE_LAYOUT(6, 1, 3) uniform sampler2D textureUnitPS6;// Tex6 addr 0xb917b000 res 400x400x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem5; layout(location = 2) in vec4 passParameterSem3; @@ -24,7 +50,6 @@ layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 3) out vec4 passPixelColor3; layout(location = 5) out vec4 passPixelColor5; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/b2e1c9ce2f160aab_000000003c3c4389_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/b2e1c9ce2f160aab_000000003c3c4389_ps.txt index e89f45c6..c43a6e5a 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/b2e1c9ce2f160aab_000000003c3c4389_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/b2e1c9ce2f160aab_000000003c3c4389_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader b2e1c9ce2f160aab // Shrine of Resurrection - lights // Glow Lights Color Mod @@ -11,11 +28,21 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; uniform float uf_alphaTestRef; -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb5e8b000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb5ecd000 res 512x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb5eac000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(3, 1, 0) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb5e8b000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb5ecd000 res 512x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(5, 1, 2) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb5eac000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem5; layout(location = 2) in vec4 passParameterSem3; @@ -25,7 +52,6 @@ layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 3) out vec4 passPixelColor3; layout(location = 5) out vec4 passPixelColor5; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/b5b53042daaad65c_00000001e1e21c49_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/b5b53042daaad65c_00000001e1e21c49_ps.txt index ceaf535a..d13d10a0 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/b5b53042daaad65c_00000001e1e21c49_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/b5b53042daaad65c_00000001e1e21c49_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader b5b53042daaad65c // Shrine - elements // Glow Lights Color Mod @@ -11,12 +28,22 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 4) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; uniform float uf_alphaTestRef; -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb751f000 res 256x40x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb7525000 res 128x20x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb7522000 res 256x40x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xb750e000 res 424x256x1 dim 1 tm: 4 format 0034 compSel: 0 4 4 4 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(3, 1, 0) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb751f000 res 256x40x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb7525000 res 128x20x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(5, 1, 2) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb7522000 res 256x40x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(7, 1, 3) uniform sampler2D textureUnitPS7;// Tex7 addr 0xb750e000 res 424x256x1 dim 1 tm: 4 format 0034 compSel: 0 4 4 4 mipView: 0x0 (num 0x9 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem3; layout(location = 2) in vec4 passParameterSem4; @@ -26,7 +53,6 @@ layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 3) out vec4 passPixelColor3; layout(location = 5) out vec4 passPixelColor5; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/bc9529a682410603_00000001e1e1fe49_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/bc9529a682410603_00000001e1e1fe49_ps.txt index 2a9b265d..65aba56f 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/bc9529a682410603_00000001e1e1fe49_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/bc9529a682410603_00000001e1e1fe49_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader bc9529a682410603 // Divine Beasts + Stones near Castle // Glow Lights Color Mod @@ -11,10 +28,19 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb428c000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb42ce000 res 256x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb42ad000 res 512x512x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(3, 1, 0) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb428c000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb42ce000 res 256x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(5, 1, 2) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb42ad000 res 512x512x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0xa layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem5; layout(location = 2) in vec4 passParameterSem3; @@ -23,7 +49,6 @@ layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 3) out vec4 passPixelColor3; layout(location = 5) out vec4 passPixelColor5; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/beb15cab79e5ca5d_000000000000001c_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/beb15cab79e5ca5d_000000000000001c_ps.txt index ead7ef22..0ce8aff3 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/beb15cab79e5ca5d_000000000000001c_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/beb15cab79e5ca5d_000000000000001c_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader beb15cab79e5ca5d // Shrine - ending Sheikah logo + Hateno fire flare // Glow Lights Color Mod @@ -11,14 +28,22 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21627000 res 91x202x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 1 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21627000 res 91x202x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem4; layout(location = 3) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/bee298edc2f7e315_00000001e1e1fe49_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/bee298edc2f7e315_00000001e1e1fe49_ps.txt index a34fb0b5..dfdb6481 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/bee298edc2f7e315_00000001e1e1fe49_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/bee298edc2f7e315_00000001e1e1fe49_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader bee298edc2f7e315 // Sheikah Tower - control panel // Glow Lights Color Mod @@ -11,10 +28,19 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[4]; -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb370e000 res 128x128x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb3753000 res 128x128x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb3712000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[4]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(3, 1, 0) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb370e000 res 128x128x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb3753000 res 128x128x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(5, 1, 2) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb3712000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0xa layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem5; layout(location = 2) in vec4 passParameterSem3; @@ -23,7 +49,6 @@ layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 3) out vec4 passPixelColor3; layout(location = 5) out vec4 passPixelColor5; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/bf72a1fd35401be2_0000079749255249_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/bf72a1fd35401be2_0000079749255249_ps.txt index 9fb1d12c..e4982076 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/bf72a1fd35401be2_0000079749255249_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/bf72a1fd35401be2_0000079749255249_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader bf72a1fd35401be2 // Shrine - lower elements // Glow Lights Color Mod @@ -11,44 +28,44 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; -layout(binding = 33, std140) uniform uniformBlockPS1 +UNIFORM_BUFFER_LAYOUT(33, 1, 14) uniform uniformBlockPS1 { vec4 uf_blockPS1[1024]; }; -layout(binding = 36, std140) uniform uniformBlockPS4 +UNIFORM_BUFFER_LAYOUT(36, 1, 15) uniform uniformBlockPS4 { vec4 uf_blockPS4[1024]; }; -layout(binding = 38, std140) uniform uniformBlockPS6 +UNIFORM_BUFFER_LAYOUT(38, 1, 16) uniform uniformBlockPS6 { vec4 uf_blockPS6[1024]; }; -layout(binding = 40, std140) uniform uniformBlockPS8 +UNIFORM_BUFFER_LAYOUT(40, 1, 17) uniform uniformBlockPS8 { vec4 uf_blockPS8[1024]; }; -layout(binding = 42, std140) uniform uniformBlockPS10 +UNIFORM_BUFFER_LAYOUT(42, 1, 18) uniform uniformBlockPS10 { vec4 uf_blockPS10[1024]; }; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x3965d800 res 4x4x1 dim 1 tm: 2 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 samplerCubeArray textureUnitPS1;// Tex1 addr 0x3db66800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2DArrayShadow textureUnitPS2;// Tex2 addr 0xf58a8000 res 360x360x3 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x3) Sampler2 ClampX/Y/Z: 6 6 2 border: 2 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x3965d800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xac20b000 res 2000x1600x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 1 1 1 border: 1 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 8) uniform sampler3D textureUnitPS8;// Tex8 addr 0x3dee0000 res 32x32x32 dim 2 tm: 7 format 0034 compSel: 0 4 4 5 mipView: 0x0 (num 0x6) sliceView: 0x0 (num 0x20) Sampler8 ClampX/Y/Z: 0 0 0 border: 1 -layout(binding = 9) uniform sampler2DArray textureUnitPS9;// Tex9 addr 0xac455000 res 1024x1024x83 dim 5 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x53) Sampler9 ClampX/Y/Z: 0 0 0 border: 1 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0xb80bc000 res 256x128x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xb80c6000 res 128x64x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0xb80c1000 res 256x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xb7ab8000 res 1936x1024x1 dim 1 tm: 4 format 0034 compSel: 0 4 4 4 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 0 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x3965d800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform samplerCubeArray textureUnitPS1;// Tex1 addr 0x3db66800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2DArrayShadow textureUnitPS2;// Tex2 addr 0xf58a8000 res 360x360x3 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4;// Tex4 addr 0x3965d800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(5, 1, 4) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(6, 1, 5) uniform sampler2D textureUnitPS6;// Tex6 addr 0xac20b000 res 2000x1600x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x2 +TEXTURE_LAYOUT(7, 1, 6) uniform sampler2D textureUnitPS7;// Tex7 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(8, 1, 7) uniform sampler3D textureUnitPS8;// Tex8 addr 0x3dee0000 res 32x32x32 dim 2 tm: 7 format 0034 compSel: 0 4 4 5 mipView: 0x0 (num 0x6 +TEXTURE_LAYOUT(9, 1, 8) uniform sampler2DArray textureUnitPS9;// Tex9 addr 0xac455000 res 1024x1024x83 dim 5 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb +TEXTURE_LAYOUT(10, 1, 9) uniform sampler2D textureUnitPS10;// Tex10 addr 0xb80bc000 res 256x128x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(11, 1, 10) uniform sampler2D textureUnitPS11;// Tex11 addr 0xb80c6000 res 128x64x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(12, 1, 11) uniform sampler2D textureUnitPS12;// Tex12 addr 0xb80c1000 res 256x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(14, 1, 12) uniform sampler2D textureUnitPS14;// Tex14 addr 0xb7ab8000 res 1936x1024x1 dim 1 tm: 4 format 0034 compSel: 0 4 4 4 mipView: 0x0 (num 0xb layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem2; layout(location = 2) in vec4 passParameterSem4; @@ -58,7 +75,14 @@ layout(location = 5) in vec4 passParameterSem7; layout(location = 6) in vec4 passParameterSem8; layout(location = 7) in vec4 passParameterSem9; layout(location = 0) out vec4 passPixelColor0; +#ifdef VULKAN +layout(set = 1, binding = 13) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; +#endif void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) { // stm -> x .. s, y .. t, z .. MajorAxis*2.0 diff --git a/Mods/BreathOfTheWild_GlowLightsColors/c36b10f0e410def8_00000000000000e1_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/c36b10f0e410def8_00000000000000e1_ps.txt index dd14ec49..ecc8d80b 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/c36b10f0e410def8_00000000000000e1_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/c36b10f0e410def8_00000000000000e1_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader c36b10f0e410def8 // Guardian scout fire 2 // Glow Lights Color Mod @@ -11,15 +28,23 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x214a1000 res 400x400x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 1 1 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fd4000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x214a1000 res 400x400x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20fd4000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem4; layout(location = 3) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/cb27783c5e10df0e_000000000000001c_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/cb27783c5e10df0e_000000000000001c_ps.txt index 83e2ba2d..9f4a0efc 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/cb27783c5e10df0e_000000000000001c_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/cb27783c5e10df0e_000000000000001c_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader cb27783c5e10df0e // Shrine - elevator field 2 // Glow Lights Color Mod @@ -11,9 +28,19 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fd4000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fd4000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem4; @@ -21,7 +48,6 @@ layout(location = 3) in vec4 passParameterSem5; layout(location = 4) in vec4 passParameterSem8; layout(location = 5) in vec4 passParameterSem11; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/cc9529ae1a492d03_00000001e1e1fe49_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/cc9529ae1a492d03_00000001e1e1fe49_ps.txt index 39ab8e9b..c3056480 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/cc9529ae1a492d03_00000001e1e1fe49_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/cc9529ae1a492d03_00000001e1e1fe49_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader cc9529ae1a492d03 // Shrine - chests // Glow Lights Color Mod @@ -11,10 +28,19 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x347e9000 res 128x128x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x347f7000 res 512x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x347eb000 res 512x512x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(3, 1, 0) uniform sampler2D textureUnitPS3;// Tex3 addr 0x347e9000 res 128x128x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0x347f7000 res 512x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(5, 1, 2) uniform sampler2D textureUnitPS5;// Tex5 addr 0x347eb000 res 512x512x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0xa layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem5; layout(location = 2) in vec4 passParameterSem3; @@ -23,7 +49,6 @@ layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 3) out vec4 passPixelColor3; layout(location = 5) out vec4 passPixelColor5; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/cd1eba6802df67f7_0000000f0f0ff249_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/cd1eba6802df67f7_0000000f0f0ff249_ps.txt index d9ea7c20..24f8bdb1 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/cd1eba6802df67f7_0000000f0f0ff249_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/cd1eba6802df67f7_0000000f0f0ff249_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader cd1eba6802df67f7 // Shrine - ceiling // Glow Lights Color Mod @@ -11,11 +28,20 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 4) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb7c6c000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb7cae000 res 512x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb7c8d000 res 512x512x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xb7ab8000 res 1936x1024x1 dim 1 tm: 4 format 0034 compSel: 0 4 4 4 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(3, 1, 0) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb7c6c000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb7cae000 res 512x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(5, 1, 2) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb7c8d000 res 512x512x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(7, 1, 3) uniform sampler2D textureUnitPS7;// Tex7 addr 0xb7ab8000 res 1936x1024x1 dim 1 tm: 4 format 0034 compSel: 0 4 4 4 mipView: 0x0 (num 0xb layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem3; layout(location = 2) in vec4 passParameterSem4; @@ -25,7 +51,6 @@ layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 3) out vec4 passPixelColor3; layout(location = 5) out vec4 passPixelColor5; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/ce76f7a67517c0b2_000000003c3c4389_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/ce76f7a67517c0b2_000000003c3c4389_ps.txt index e5a29022..5f28e8bf 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/ce76f7a67517c0b2_000000003c3c4389_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/ce76f7a67517c0b2_000000003c3c4389_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader ce76f7a67517c0b2 // Shrine - top part // Glow Lights Color Mod @@ -11,11 +28,21 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; uniform float uf_alphaTestRef; -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x34839800 res 32x32x1 dim 1 tm: 2 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x6) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x3483b000 res 16x16x1 dim 1 tm: 2 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x5) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x3483a000 res 16x16x1 dim 1 tm: 2 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x5) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(3, 1, 0) uniform sampler2D textureUnitPS3;// Tex3 addr 0x34839800 res 32x32x1 dim 1 tm: 2 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x6 +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0x3483b000 res 16x16x1 dim 1 tm: 2 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x5 +TEXTURE_LAYOUT(5, 1, 2) uniform sampler2D textureUnitPS5;// Tex5 addr 0x3483a000 res 16x16x1 dim 1 tm: 2 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x5 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem5; layout(location = 2) in vec4 passParameterSem3; @@ -25,7 +52,6 @@ layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 3) out vec4 passPixelColor3; layout(location = 5) out vec4 passPixelColor5; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/cf2e9b7aab93e342_000000000001fe49_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/cf2e9b7aab93e342_000000000001fe49_ps.txt index ff9af3fc..d3138d48 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/cf2e9b7aab93e342_000000000001fe49_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/cf2e9b7aab93e342_000000000001fe49_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader cf2e9b7aab93e342 // Sheikah Tower - inactive, reflection pass // Glow Lights Color Mod @@ -11,14 +28,22 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[10]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3df6f800 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[10]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3df6f800 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 1) noperspective in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) @@ -74,7 +99,7 @@ ivec4 ARi = ivec4(0); bool predResult = true; vec3 cubeMapSTM; int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); +R0i = floatBitsToInt(GET_FRAGCOORD()); R1i = floatBitsToInt(passParameterSem0); // 0 R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + 1.0)); diff --git a/Mods/BreathOfTheWild_GlowLightsColors/d178de668517df1e_000000003c3c4389_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/d178de668517df1e_000000003c3c4389_ps.txt index 092c83e2..24ed5ec4 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/d178de668517df1e_000000003c3c4389_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/d178de668517df1e_000000003c3c4389_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader d178de668517df1e // Shrine - entrance top // Glow Lights Color Mod @@ -11,11 +28,21 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; uniform float uf_alphaTestRef; -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb2ec1000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb2eeb000 res 256x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb2ee2000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(3, 1, 0) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb2ec1000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb2eeb000 res 256x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(5, 1, 2) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb2ee2000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem5; layout(location = 2) in vec4 passParameterSem3; @@ -25,7 +52,6 @@ layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 3) out vec4 passPixelColor3; layout(location = 5) out vec4 passPixelColor5; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/d3ac3a61f7749326_000000000000001c_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/d3ac3a61f7749326_000000000000001c_ps.txt index 90e2cdf1..001be379 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/d3ac3a61f7749326_000000000000001c_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/d3ac3a61f7749326_000000000000001c_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader d3ac3a61f7749326 // Hateno fire particles // Glow Lights Color Mod @@ -11,14 +28,22 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fee000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fee000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem4; layout(location = 3) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/d48de6ada1e9ad03_00000001e1e1fe49_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/d48de6ada1e9ad03_00000001e1e1fe49_ps.txt index 2a14b6d9..3837c949 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/d48de6ada1e9ad03_00000001e1e1fe49_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/d48de6ada1e9ad03_00000001e1e1fe49_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader d48de6ada1e9ad03 // Sheikah Towers - active - top part // Glow Lights Color Mod @@ -11,10 +28,19 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb1309000 res 1024x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb138b000 res 1024x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb134a000 res 512x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 0 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(3, 1, 0) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb1309000 res 1024x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb138b000 res 1024x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xb +TEXTURE_LAYOUT(5, 1, 2) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb134a000 res 512x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem5; layout(location = 2) in vec4 passParameterSem3; @@ -23,7 +49,6 @@ layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 3) out vec4 passPixelColor3; layout(location = 5) out vec4 passPixelColor5; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/db8bc69330c08206_0000000000003849_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/db8bc69330c08206_0000000000003849_ps.txt index 6126bd4d..dd95403e 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/db8bc69330c08206_0000000000003849_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/db8bc69330c08206_0000000000003849_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader db8bc69330c08206 // Shrine - elevator particles 1 // Glow Lights Color Mod @@ -11,12 +28,22 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 4) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2140e000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x214e1000 res 64x400x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 0 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x214e1000 res 64x400x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 0 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2140e000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x214e1000 res 64x400x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x214e1000 res 64x400x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; @@ -24,7 +51,6 @@ layout(location = 3) in vec4 passParameterSem4; layout(location = 4) in vec4 passParameterSem8; layout(location = 5) in vec4 passParameterSem9; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/e53233e53de8434f_0000000000000709_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/e53233e53de8434f_0000000000000709_ps.txt index 6b00f5df..6c0cfa7c 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/e53233e53de8434f_0000000000000709_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/e53233e53de8434f_0000000000000709_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader e53233e53de8434f // Bomb - debris // Glow Lights Color Mod @@ -11,10 +28,19 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2118a000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x2118e000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x2118a000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2118a000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x2118e000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x2118a000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem4; @@ -22,7 +48,6 @@ layout(location = 3) in vec4 passParameterSem7; layout(location = 4) in vec4 passParameterSem8; layout(location = 5) in vec4 passParameterSem9; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/e95d54571be1c0a9_000000000001fe49_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/e95d54571be1c0a9_000000000001fe49_ps.txt index 9b484503..a9623f84 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/e95d54571be1c0a9_000000000001fe49_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/e95d54571be1c0a9_000000000001fe49_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader e95d54571be1c0a9 // Shrine - balls, reflection pass // Glow Lights Color Mod @@ -11,14 +28,22 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[8]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3df6f800 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[8]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3df6f800 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 1) noperspective in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) @@ -68,7 +93,7 @@ ivec4 ARi = ivec4(0); bool predResult = true; vec3 cubeMapSTM; int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); +R0i = floatBitsToInt(GET_FRAGCOORD()); R1i = floatBitsToInt(passParameterSem0); // 0 PV0i.x = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(uf_remappedPS[0].x))); diff --git a/Mods/BreathOfTheWild_GlowLightsColors/f62be0d03546ec39_00000000000000e1_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/f62be0d03546ec39_00000000000000e1_ps.txt index fa28ce3a..757369d3 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/f62be0d03546ec39_00000000000000e1_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/f62be0d03546ec39_00000000000000e1_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader f62be0d03546ec39 // Guardian scout fire 1 // Glow Lights Color Mod @@ -11,17 +28,26 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fd4000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 1 1 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fd4000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; layout(location = 3) in vec4 passParameterSem4; layout(location = 4) in vec4 passParameterSem8; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/fb135efcb4540fb1_00000078787f9249_ps.txt b/Mods/BreathOfTheWild_GlowLightsColors/fb135efcb4540fb1_00000078787f9249_ps.txt index b9869dc7..214281f1 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/fb135efcb4540fb1_00000078787f9249_ps.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/fb135efcb4540fb1_00000078787f9249_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader fb135efcb4540fb1 // Shrine - wall decoration // Glow Lights Color Mod @@ -11,12 +28,21 @@ #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency const float hueRotation = HUE_ROTATION / 360.0; +#ifdef VULKAN +layout(set = 1, binding = 5) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb80c8000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb815b000 res 512x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb814a000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xb814a000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xb7ab8000 res 1936x1024x1 dim 1 tm: 4 format 0034 compSel: 0 4 4 4 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(3, 1, 0) uniform sampler2D textureUnitPS3;// Tex3 addr 0xb80c8000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb +TEXTURE_LAYOUT(4, 1, 1) uniform sampler2D textureUnitPS4;// Tex4 addr 0xb815b000 res 512x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(5, 1, 2) uniform sampler2D textureUnitPS5;// Tex5 addr 0xb814a000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(6, 1, 3) uniform sampler2D textureUnitPS6;// Tex6 addr 0xb814a000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(7, 1, 4) uniform sampler2D textureUnitPS7;// Tex7 addr 0xb7ab8000 res 1936x1024x1 dim 1 tm: 4 format 0034 compSel: 0 4 4 4 mipView: 0x0 (num 0xb layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem7; @@ -27,7 +53,6 @@ layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 3) out vec4 passPixelColor3; layout(location = 5) out vec4 passPixelColor5; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Mods/BreathOfTheWild_GlowLightsColors/rules.txt b/Mods/BreathOfTheWild_GlowLightsColors/rules.txt index 72b23687..34d32d6d 100644 --- a/Mods/BreathOfTheWild_GlowLightsColors/rules.txt +++ b/Mods/BreathOfTheWild_GlowLightsColors/rules.txt @@ -3,4 +3,4 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = "Glow Lights Colors" path = "The Legend of Zelda: Breath of the Wild/Mods/Glow Lights Colors" description = Changes the color of objects that glow in game, view the readme for more info. -version = 3 +version = 4 diff --git a/Mods/BreathOfTheWild_HUDRemover/37b9100c1310d3bb_0000000000000000_vs.txt b/Mods/BreathOfTheWild_HUDRemover/37b9100c1310d3bb_0000000000000000_vs.txt index 0542386a..bf771bde 100644 --- a/Mods/BreathOfTheWild_HUDRemover/37b9100c1310d3bb_0000000000000000_vs.txt +++ b/Mods/BreathOfTheWild_HUDRemover/37b9100c1310d3bb_0000000000000000_vs.txt @@ -1,11 +1,36 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 37b9100c1310d3bb // PRO+ hud v2 +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_uniformRegisterVS[256]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; +}; +#else +uniform ivec4 uf_uniformRegisterVS[256]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; out gl_PerVertex { vec4 gl_Position; @@ -969,7 +994,7 @@ PS0i = R1i.y; R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(uf_uniformRegisterVS[0].w))); } // export -gl_Position = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); +SET_POSITION(vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w))); if (isCurrentSizeEqualTo(vec2(84, 84)) || isCurrentSizeEqualTo(vec2(36, 40)) || //master mode logo shadow isCurrentSizeEqualTo(vec2(90, 90)) || diff --git a/Mods/BreathOfTheWild_HUDRemover/4d58e6f0906ff5cf_0000000000000000_vs.txt b/Mods/BreathOfTheWild_HUDRemover/4d58e6f0906ff5cf_0000000000000000_vs.txt index c0b78389..95fcf703 100644 --- a/Mods/BreathOfTheWild_HUDRemover/4d58e6f0906ff5cf_0000000000000000_vs.txt +++ b/Mods/BreathOfTheWild_HUDRemover/4d58e6f0906ff5cf_0000000000000000_vs.txt @@ -1,11 +1,36 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 4d58e6f0906ff5cf // PRO+ hud v2 +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[29]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; +}; +#else +uniform ivec4 uf_remappedVS[29]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; out gl_PerVertex { vec4 gl_Position; @@ -914,7 +939,7 @@ R0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); PS0i = R0i.y; } // export -gl_Position = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); +SET_POSITION(vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); if (isCurrentSizeEqualTo(vec2(32, 32))) { gl_Position.y -= 9000.0; } diff --git a/Mods/BreathOfTheWild_HUDRemover/75faf095372864b1_0000000000000000_vs.txt b/Mods/BreathOfTheWild_HUDRemover/75faf095372864b1_0000000000000000_vs.txt index 2c22e89e..d430c450 100644 --- a/Mods/BreathOfTheWild_HUDRemover/75faf095372864b1_0000000000000000_vs.txt +++ b/Mods/BreathOfTheWild_HUDRemover/75faf095372864b1_0000000000000000_vs.txt @@ -1,11 +1,36 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 75faf095372864b1 // PRO+ hud v2 +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_uniformRegisterVS[256]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; +}; +#else +uniform ivec4 uf_uniformRegisterVS[256]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; out gl_PerVertex { vec4 gl_Position; @@ -1413,7 +1438,7 @@ PS0i = R1i.y; R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(uf_uniformRegisterVS[0].w))); } // export -gl_Position = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); +SET_POSITION(vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w))); if (isCurrentSizeEqualTo(vec2(32, 32)) || isCurrentSizeEqualTo(vec2(64, 64)) // hearts while taking damage ) { diff --git a/Mods/BreathOfTheWild_HUDRemover/b88c6020a8b17332_0000000000000000_vs.txt b/Mods/BreathOfTheWild_HUDRemover/b88c6020a8b17332_0000000000000000_vs.txt index 96c328ff..b00ef9ce 100644 --- a/Mods/BreathOfTheWild_HUDRemover/b88c6020a8b17332_0000000000000000_vs.txt +++ b/Mods/BreathOfTheWild_HUDRemover/b88c6020a8b17332_0000000000000000_vs.txt @@ -1,11 +1,36 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader b88c6020a8b17332 // PRO+ hud v2 +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[17]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; +}; +#else +uniform ivec4 uf_remappedVS[17]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; out gl_PerVertex { vec4 gl_Position; @@ -463,7 +488,7 @@ R0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); PS0i = R0i.y; } // export -gl_Position = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); +SET_POSITION(vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w))); if (//isCurrentSizeEqualTo(vec2(36, 36)) || //master mode logo isCurrentSizeEqualTo(vec2(80, 80)) || isCurrentSizeEqualTo(vec2(84, 84)) || diff --git a/Mods/BreathOfTheWild_HUDRemover/f56fcbd319ceba00_0000000000000000_vs.txt b/Mods/BreathOfTheWild_HUDRemover/f56fcbd319ceba00_0000000000000000_vs.txt index 4ac461dc..0f2a099b 100644 --- a/Mods/BreathOfTheWild_HUDRemover/f56fcbd319ceba00_0000000000000000_vs.txt +++ b/Mods/BreathOfTheWild_HUDRemover/f56fcbd319ceba00_0000000000000000_vs.txt @@ -1,11 +1,36 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader f56fcbd319ceba00 // PRO+ hud v2 +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[23]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; +}; +#else +uniform ivec4 uf_remappedVS[23]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; out gl_PerVertex { vec4 gl_Position; @@ -696,7 +721,7 @@ R0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); PS0i = R0i.y; } // export -gl_Position = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); +SET_POSITION(vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); if (isCurrentSizeEqualTo(vec2(70, 70)) || isCurrentSizeEqualTo(vec2(80, 80)) //stamina 3rd red flash ) { diff --git a/Mods/BreathOfTheWild_HUDRemover/f7ba548c1fefe24a_0000000000000000_vs.txt b/Mods/BreathOfTheWild_HUDRemover/f7ba548c1fefe24a_0000000000000000_vs.txt index 2589f629..b6decd12 100644 --- a/Mods/BreathOfTheWild_HUDRemover/f7ba548c1fefe24a_0000000000000000_vs.txt +++ b/Mods/BreathOfTheWild_HUDRemover/f7ba548c1fefe24a_0000000000000000_vs.txt @@ -1,11 +1,36 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader f7ba548c1fefe24a // PRO+ hud v2 +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_uniformRegisterVS[256]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; +}; +#else +uniform ivec4 uf_uniformRegisterVS[256]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; out gl_PerVertex { vec4 gl_Position; @@ -1203,7 +1228,7 @@ PS0i = R1i.y; R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(uf_uniformRegisterVS[0].w))); } // export -gl_Position = vec4(intBitsToFloat(R9i.x), intBitsToFloat(R9i.y), intBitsToFloat(R9i.z), intBitsToFloat(R9i.w)); +SET_POSITION(vec4(intBitsToFloat(R9i.x), intBitsToFloat(R9i.y), intBitsToFloat(R9i.z), intBitsToFloat(R9i.w))); if (isCurrentSizeEqualTo(vec2(56, 56)) || isCurrentSizeEqualTo(vec2(70, 70))) { gl_Position.y -= 9000.0; diff --git a/Mods/BreathOfTheWild_HUDRemover/rules.txt b/Mods/BreathOfTheWild_HUDRemover/rules.txt index e18a1d5b..3940b18a 100644 --- a/Mods/BreathOfTheWild_HUDRemover/rules.txt +++ b/Mods/BreathOfTheWild_HUDRemover/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = "Remove all HUD elements" path = "The Legend of Zelda: Breath of the Wild/Mods/HUD Remover (Pro HUD+)" description = Hides the rest of the HUD that isn't removed by the Pro mod for e.g. screenshots. -version = 3 +version = 4 [TextureRedefine] # Disable Hearts width = 48 diff --git a/Mods/BreathOfTheWild_ReshadeCompatibility/rules.txt b/Mods/BreathOfTheWild_ReshadeCompatibility/rules.txt index 9d381be6..04e839d8 100644 --- a/Mods/BreathOfTheWild_ReshadeCompatibility/rules.txt +++ b/Mods/BreathOfTheWild_ReshadeCompatibility/rules.txt @@ -3,4 +3,4 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = Fixes Reshade depth buffer compatibility path = "The Legend of Zelda: Breath of the Wild/Mods/Reshade compatibility" description = DON'T ENABLE THIS IF YOU'RE NOT USING RESHADE. Makes some reshade effects like e.g. MXAO and ray tracing not have issues. Will make distant mountains and geometry have flickering textures. -version = 3 +version = 4 diff --git a/Mods/MarioKart8_NoHud/0039902b839f2863_00000000000003c9_ps.txt b/Mods/MarioKart8_NoHud/0039902b839f2863_00000000000003c9_ps.txt index 3621674f..90c35c04 100644 --- a/Mods/MarioKart8_NoHud/0039902b839f2863_00000000000003c9_ps.txt +++ b/Mods/MarioKart8_NoHud/0039902b839f2863_00000000000003c9_ps.txt @@ -4,13 +4,38 @@ #ifdef VULKAN #else #endif +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 0039902b839f2863 // Used for: Removing coin from the HUD +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[3]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[3]; uniform vec2 uf_fragCoordScale; -layout(binding = 0) uniform sampler2D textureUnitPS0; -layout(binding = 1) uniform sampler2D textureUnitPS1; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1; layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 0) out vec4 passPixelColor0; diff --git a/Mods/MarioKart8_NoHud/005826125bfe150a_0000000000000079_ps.txt b/Mods/MarioKart8_NoHud/005826125bfe150a_0000000000000079_ps.txt index 07ffd5b8..cb2436b7 100644 --- a/Mods/MarioKart8_NoHud/005826125bfe150a_0000000000000079_ps.txt +++ b/Mods/MarioKart8_NoHud/005826125bfe150a_0000000000000079_ps.txt @@ -4,12 +4,37 @@ #ifdef VULKAN #else #endif +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 005826125bfe150a // Used for: Removing the lap and coin background +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[2]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[2]; uniform vec2 uf_fragCoordScale; -layout(binding = 0) uniform sampler2D textureUnitPS0; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; int clampFI32(int v) diff --git a/Mods/MarioKart8_NoHud/03c0659aacda420a_00000000000003c9_ps.txt b/Mods/MarioKart8_NoHud/03c0659aacda420a_00000000000003c9_ps.txt index 36c67bda..85b17990 100644 --- a/Mods/MarioKart8_NoHud/03c0659aacda420a_00000000000003c9_ps.txt +++ b/Mods/MarioKart8_NoHud/03c0659aacda420a_00000000000003c9_ps.txt @@ -4,13 +4,38 @@ #ifdef VULKAN #else #endif +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 03c0659aacda420a // Used for: Removing the position number from the HUD, black undertext +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[3]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[3]; uniform vec2 uf_fragCoordScale; -layout(binding = 0) uniform sampler2D textureUnitPS0; -layout(binding = 1) uniform sampler2D textureUnitPS1; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1; layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 0) out vec4 passPixelColor0; diff --git a/Mods/MarioKart8_NoHud/2940f7a0fb8ea817_0000000000000079_ps.txt b/Mods/MarioKart8_NoHud/2940f7a0fb8ea817_0000000000000079_ps.txt index 81e347bf..f4a995fb 100644 --- a/Mods/MarioKart8_NoHud/2940f7a0fb8ea817_0000000000000079_ps.txt +++ b/Mods/MarioKart8_NoHud/2940f7a0fb8ea817_0000000000000079_ps.txt @@ -4,12 +4,37 @@ #ifdef VULKAN #else #endif +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 2940f7a0fb8ea817 // Used for: Removing the track minimap in the HUD +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[2]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[2]; uniform vec2 uf_fragCoordScale; -layout(binding = 0) uniform sampler2D textureUnitPS0; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 0) out vec4 passPixelColor0; diff --git a/Mods/MarioKart8_NoHud/440c49859973a955_00000000000003c9_ps.txt b/Mods/MarioKart8_NoHud/440c49859973a955_00000000000003c9_ps.txt index d31ec7f0..6731a147 100644 --- a/Mods/MarioKart8_NoHud/440c49859973a955_00000000000003c9_ps.txt +++ b/Mods/MarioKart8_NoHud/440c49859973a955_00000000000003c9_ps.txt @@ -4,13 +4,38 @@ #ifdef VULKAN #else #endif +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 440c49859973a955 // Used for: Removing the position number from the HUD, colored text +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[5]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[5]; uniform vec2 uf_fragCoordScale; -layout(binding = 0) uniform sampler2D textureUnitPS0; -layout(binding = 1) uniform sampler2D textureUnitPS1; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1; layout(location = 0) in vec4 passParameterSem1; layout(location = 1) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; diff --git a/Mods/MarioKart8_NoHud/50612bab4e50d820_0000000000001e49_ps.txt b/Mods/MarioKart8_NoHud/50612bab4e50d820_0000000000001e49_ps.txt index 10c5c5ab..828924bb 100644 --- a/Mods/MarioKart8_NoHud/50612bab4e50d820_0000000000001e49_ps.txt +++ b/Mods/MarioKart8_NoHud/50612bab4e50d820_0000000000001e49_ps.txt @@ -4,14 +4,39 @@ #ifdef VULKAN #else #endif +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 50612bab4e50d820 // Used for: Removing the item icon from the HUD +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[5]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[5]; uniform vec2 uf_fragCoordScale; -layout(binding = 0) uniform sampler2D textureUnitPS0; -layout(binding = 1) uniform sampler2D textureUnitPS1; -layout(binding = 2) uniform sampler2D textureUnitPS2; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1; +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2; layout(location = 0) in vec4 passParameterSem2; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem0; diff --git a/Mods/MarioKart8_NoHud/96440241cc1bf8a4_000000000000007d_ps.txt b/Mods/MarioKart8_NoHud/96440241cc1bf8a4_000000000000007d_ps.txt index 8472719b..8b9f8b5b 100644 --- a/Mods/MarioKart8_NoHud/96440241cc1bf8a4_000000000000007d_ps.txt +++ b/Mods/MarioKart8_NoHud/96440241cc1bf8a4_000000000000007d_ps.txt @@ -4,12 +4,37 @@ #ifdef VULKAN #else #endif +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 96440241cc1bf8a4 // Used for: Removing the lap text from the HUD +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[4]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[4]; uniform vec2 uf_fragCoordScale; -layout(binding = 0) uniform sampler2DArray textureUnitPS0; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2DArray textureUnitPS0; layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 0) out vec4 passPixelColor0; diff --git a/Mods/MarioKart8_NoHud/a6981858d5437cf7_00000000000003c9_ps.txt b/Mods/MarioKart8_NoHud/a6981858d5437cf7_00000000000003c9_ps.txt index 59bfd4dd..c188e576 100644 --- a/Mods/MarioKart8_NoHud/a6981858d5437cf7_00000000000003c9_ps.txt +++ b/Mods/MarioKart8_NoHud/a6981858d5437cf7_00000000000003c9_ps.txt @@ -4,13 +4,38 @@ #ifdef VULKAN #else #endif +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader a6981858d5437cf7 // Used for: Removing dotted background behind coin in the HUD +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[3]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[3]; uniform vec2 uf_fragCoordScale; -layout(binding = 0) uniform sampler2D textureUnitPS0; -layout(binding = 1) uniform sampler2D textureUnitPS1; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1; layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem2; diff --git a/Mods/MarioKart8_NoHud/rules.txt b/Mods/MarioKart8_NoHud/rules.txt index 0d641e5a..5259fc15 100644 --- a/Mods/MarioKart8_NoHud/rules.txt +++ b/Mods/MarioKart8_NoHud/rules.txt @@ -3,4 +3,4 @@ titleIds = 000500001010ec00,000500001010ed00,000500001010eb00 name = Removes all the HUD elements path = "Mario Kart 8/Mods/No HUD" description = Disables any HUD while racing. Breaks many of the menu's so don't use this if you just want to play the game. -version = 3 \ No newline at end of file +version = 4 \ No newline at end of file diff --git a/Resolutions/Bayonetta2_Resolution/00fed4f92a49e851_0000000000000079_ps.txt b/Resolutions/Bayonetta2_Resolution/00fed4f92a49e851_0000000000000079_ps.txt index c0354185..31d465cb 100644 --- a/Resolutions/Bayonetta2_Resolution/00fed4f92a49e851_0000000000000079_ps.txt +++ b/Resolutions/Bayonetta2_Resolution/00fed4f92a49e851_0000000000000079_ps.txt @@ -1,14 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 00fed4f92a49e851 //cut scen blur pass 2 a const float resScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x462bd800 res 320x180x1 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: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x462bd800 res 320x180x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem133; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/Bayonetta2_Resolution/284b1bf9010d4e57_0000000000000079_ps.txt b/Resolutions/Bayonetta2_Resolution/284b1bf9010d4e57_0000000000000079_ps.txt index d68f25d7..ea26edf5 100644 --- a/Resolutions/Bayonetta2_Resolution/284b1bf9010d4e57_0000000000000079_ps.txt +++ b/Resolutions/Bayonetta2_Resolution/284b1bf9010d4e57_0000000000000079_ps.txt @@ -1,11 +1,35 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 284b1bf9010d4e57 -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf489f800 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: 0 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf489f800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem133; layout(location = 0) out vec4 passPixelColor0; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; +#endif float scaleFactor = uf_fragCoordScale.x; int clampFI32(int v) { diff --git a/Resolutions/Bayonetta2_Resolution/43a2239f07af804e_0000000000000079_ps.txt b/Resolutions/Bayonetta2_Resolution/43a2239f07af804e_0000000000000079_ps.txt index 3d5938b5..d6459f36 100644 --- a/Resolutions/Bayonetta2_Resolution/43a2239f07af804e_0000000000000079_ps.txt +++ b/Resolutions/Bayonetta2_Resolution/43a2239f07af804e_0000000000000079_ps.txt @@ -1,14 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 43a2239f07af804e //horizontal blur const float resScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf53f9800 res 320x176x1 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: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf53f9800 res 320x176x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem133; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/Bayonetta2_Resolution/73ac09c3fff4b657_0000000000000079_ps.txt b/Resolutions/Bayonetta2_Resolution/73ac09c3fff4b657_0000000000000079_ps.txt index e72d9a7f..18d47afd 100644 --- a/Resolutions/Bayonetta2_Resolution/73ac09c3fff4b657_0000000000000079_ps.txt +++ b/Resolutions/Bayonetta2_Resolution/73ac09c3fff4b657_0000000000000079_ps.txt @@ -1,14 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 73ac09c3fff4b657 //cut scene vert blur //redundant? const float resScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x462fa000 res 320x180x1 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: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x462fa000 res 320x180x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem133; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/Bayonetta2_Resolution/75387173950c1793_0000000000000079_ps.txt b/Resolutions/Bayonetta2_Resolution/75387173950c1793_0000000000000079_ps.txt index 37cd5ec3..3901f2a0 100644 --- a/Resolutions/Bayonetta2_Resolution/75387173950c1793_0000000000000079_ps.txt +++ b/Resolutions/Bayonetta2_Resolution/75387173950c1793_0000000000000079_ps.txt @@ -1,14 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 75387173950c1793 //vert blur const float resScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf536f000 res 320x176x1 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: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf536f000 res 320x176x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem133; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/Bayonetta2_Resolution/78a2659662685d55_0000000000000079_ps.txt b/Resolutions/Bayonetta2_Resolution/78a2659662685d55_0000000000000079_ps.txt index f667ea99..5e01f465 100644 --- a/Resolutions/Bayonetta2_Resolution/78a2659662685d55_0000000000000079_ps.txt +++ b/Resolutions/Bayonetta2_Resolution/78a2659662685d55_0000000000000079_ps.txt @@ -1,12 +1,36 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 78a2659662685d55 //specular highlight -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4c24000 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: 0 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4c24000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem133; layout(location = 0) out vec4 passPixelColor0; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; +#endif float scaleFactor = uf_fragCoordScale.x; int clampFI32(int v) { diff --git a/Resolutions/Bayonetta2_Resolution/8a0efcdc3f556942_0000000000000079_ps.txt b/Resolutions/Bayonetta2_Resolution/8a0efcdc3f556942_0000000000000079_ps.txt index 85fda717..17822bbe 100644 --- a/Resolutions/Bayonetta2_Resolution/8a0efcdc3f556942_0000000000000079_ps.txt +++ b/Resolutions/Bayonetta2_Resolution/8a0efcdc3f556942_0000000000000079_ps.txt @@ -1,14 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 8a0efcdc3f556942 //halfres, pyarmid start const float resScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf451b000 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: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf451b000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem133; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/Bayonetta2_Resolution/e5870717602e2f55_0000000000000000_vs.txt b/Resolutions/Bayonetta2_Resolution/e5870717602e2f55_0000000000000000_vs.txt index 542b6060..00122942 100644 --- a/Resolutions/Bayonetta2_Resolution/e5870717602e2f55_0000000000000000_vs.txt +++ b/Resolutions/Bayonetta2_Resolution/e5870717602e2f55_0000000000000000_vs.txt @@ -2,13 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader e5870717602e2f55 //layer blur const float resScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[8]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem5; -layout(location = 2) in uvec4 attrDataSem16; +}; +#else +uniform ivec4 uf_remappedVS[8]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem16; out gl_PerVertex { vec4 gl_Position; @@ -152,7 +177,7 @@ PS1f = R3f.z; R2f.z = mul_nonIEEE(R1f.z, intBitsToFloat(uf_remappedVS[7].z)); R2f.w = mul_nonIEEE(R1f.w, intBitsToFloat(uf_remappedVS[7].w)); // export -gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +SET_POSITION(vec4(R0f.x, R0f.y, R0f.z, R0f.w)); // export // skipped export to semanticId 255 // export diff --git a/Resolutions/Bayonetta2_Resolution/rules.txt b/Resolutions/Bayonetta2_Resolution/rules.txt index 1d6ebe31..ffa5baec 100644 --- a/Resolutions/Bayonetta2_Resolution/rules.txt +++ b/Resolutions/Bayonetta2_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010172600,0005000010172700,000500001011B900 name = Resolution path = "Bayonetta 2/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] name = 1280x720 (Default) diff --git a/Resolutions/Bayonetta_Resolution/117889891fd19c30_000000000000001e_ps.txt b/Resolutions/Bayonetta_Resolution/117889891fd19c30_000000000000001e_ps.txt index b7d0d514..0cd0e917 100644 --- a/Resolutions/Bayonetta_Resolution/117889891fd19c30_000000000000001e_ps.txt +++ b/Resolutions/Bayonetta_Resolution/117889891fd19c30_000000000000001e_ps.txt @@ -1,16 +1,42 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 117889891fd19c30 //menu const float resScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; uniform float uf_alphaTestRef; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4000800 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 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4000800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem129; layout(location = 1) in vec4 passParameterSem128; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/Bayonetta_Resolution/212e4514290f2693_0000000000000079_ps.txt b/Resolutions/Bayonetta_Resolution/212e4514290f2693_0000000000000079_ps.txt index 4dd6ffe2..aeba278e 100644 --- a/Resolutions/Bayonetta_Resolution/212e4514290f2693_0000000000000079_ps.txt +++ b/Resolutions/Bayonetta_Resolution/212e4514290f2693_0000000000000079_ps.txt @@ -1,13 +1,38 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 212e4514290f2693 const float resScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4e48800 res 320x176x1 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 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4e48800 res 320x176x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem128; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/Bayonetta_Resolution/51f398ee2e3e18a6_0000000000000079_ps.txt b/Resolutions/Bayonetta_Resolution/51f398ee2e3e18a6_0000000000000079_ps.txt index b1229af0..633378d0 100644 --- a/Resolutions/Bayonetta_Resolution/51f398ee2e3e18a6_0000000000000079_ps.txt +++ b/Resolutions/Bayonetta_Resolution/51f398ee2e3e18a6_0000000000000079_ps.txt @@ -1,14 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 51f398ee2e3e18a6 //blur vert const float resScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4e11800 res 320x176x1 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 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4e11800 res 320x176x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem128; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/Bayonetta_Resolution/6e828da50daedc79_00000000000003c9_ps.txt b/Resolutions/Bayonetta_Resolution/6e828da50daedc79_00000000000003c9_ps.txt index c761caec..03815507 100644 --- a/Resolutions/Bayonetta_Resolution/6e828da50daedc79_00000000000003c9_ps.txt +++ b/Resolutions/Bayonetta_Resolution/6e828da50daedc79_00000000000003c9_ps.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 6e828da50daedc79 // cut scene blur const float resScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5195800 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 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4709800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5195800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4709800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem128; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/Bayonetta_Resolution/9d1d7119cc2a1bc5_00000000000003c9_ps.txt b/Resolutions/Bayonetta_Resolution/9d1d7119cc2a1bc5_00000000000003c9_ps.txt index 87610210..e6e6bf95 100644 --- a/Resolutions/Bayonetta_Resolution/9d1d7119cc2a1bc5_00000000000003c9_ps.txt +++ b/Resolutions/Bayonetta_Resolution/9d1d7119cc2a1bc5_00000000000003c9_ps.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 9d1d7119cc2a1bc5 //film simulation blur const float resScale = ($height/$gameHeight) ; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5195800 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 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4709800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5195800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4709800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem128; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/Bayonetta_Resolution/f015876e4c8e82f9_000000000000001e_ps.txt b/Resolutions/Bayonetta_Resolution/f015876e4c8e82f9_000000000000001e_ps.txt index 35e2cfb1..f2fb7096 100644 --- a/Resolutions/Bayonetta_Resolution/f015876e4c8e82f9_000000000000001e_ps.txt +++ b/Resolutions/Bayonetta_Resolution/f015876e4c8e82f9_000000000000001e_ps.txt @@ -1,16 +1,42 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader f015876e4c8e82f9 //menu 2d blur const float resScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; uniform float uf_alphaTestRef; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4000800 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 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4000800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem129; layout(location = 1) in vec4 passParameterSem128; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/Bayonetta_Resolution/rules.txt b/Resolutions/Bayonetta_Resolution/rules.txt index 0c760edb..0f2a21eb 100644 --- a/Resolutions/Bayonetta_Resolution/rules.txt +++ b/Resolutions/Bayonetta_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 000500001014DB00,0005000010157E00,0005000010157F00 name = Resolution path = "Bayonetta/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] name = 1280x720 (Default) diff --git a/Resolutions/BreathOfTheWild_Resolution/01ba1a725afa0b96_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/01ba1a725afa0b96_0000000000000000_vs.txt index e7c548f5..95014d20 100644 --- a/Resolutions/BreathOfTheWild_Resolution/01ba1a725afa0b96_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/01ba1a725afa0b96_0000000000000000_vs.txt @@ -9,27 +9,44 @@ #else #define SET_POSITION(_v) gl_Position = _v #endif +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + const float resScale = $height/720.0; // Night star (size) // shader 01ba1a725afa0b96 -layout(binding = 1, std140) +UNIFORM_BUFFER_LAYOUT(1, 0, 0) uniform uniformBlockVS1 { vec4 uf_blockVS1[1024]; }; -layout(binding = 2, std140) +UNIFORM_BUFFER_LAYOUT(2, 0, 1) uniform uniformBlockVS2 { vec4 uf_blockVS2[1024]; }; -layout(location = 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; out gl_PerVertex { vec4 gl_Position; diff --git a/Resolutions/BreathOfTheWild_Resolution/01bef64ec0cccd53_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/01bef64ec0cccd53_0000000000000000_vs.txt index d0af0228..8e9b694f 100644 --- a/Resolutions/BreathOfTheWild_Resolution/01bef64ec0cccd53_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/01bef64ec0cccd53_0000000000000000_vs.txt @@ -1,16 +1,41 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 01bef64ec0cccd53 // Used for: Fixing clouds in non-updated versions const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(binding = 32) uniform sampler2D textureUnitVS0; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +TEXTURE_LAYOUT(32, 0, 0) uniform sampler2D textureUnitVS0; +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -69,7 +94,7 @@ R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); PS0i = R0i.y; R3i.xy = ivec4(textureSize(textureUnitVS0, 0),1,1).xy; // export -gl_Position = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.z)); +SET_POSITION(vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); // 0 PV0i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[0].w)/resYScale)); PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); diff --git a/Resolutions/BreathOfTheWild_Resolution/0b9b8f5dfa16ad58_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/0b9b8f5dfa16ad58_0000000000000000_vs.txt index 302b1d4b..d4f0e93c 100644 --- a/Resolutions/BreathOfTheWild_Resolution/0b9b8f5dfa16ad58_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/0b9b8f5dfa16ad58_0000000000000000_vs.txt @@ -1,14 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 0b9b8f5dfa16ad58 // Used For: Horizontal Menu Blur const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; +}; +#else +uniform ivec4 uf_remappedVS[5]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; out gl_PerVertex { vec4 gl_Position; @@ -104,7 +129,7 @@ R1f.y = PV1f.z + -(R126f.x); R1f.z = PV1f.z + R126f.x; R1f.w = PV1f.z; // export -gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +SET_POSITION(vec4(R0f.x, R0f.y, R0f.z, R0f.w)); // export passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); } diff --git a/Resolutions/BreathOfTheWild_Resolution/0bcd653c18367d59_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/0bcd653c18367d59_0000000000000000_vs.txt index 5b7f96b2..9adb3ad9 100644 --- a/Resolutions/BreathOfTheWild_Resolution/0bcd653c18367d59_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/0bcd653c18367d59_0000000000000000_vs.txt @@ -1,16 +1,41 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 0bcd653c18367d59 // Used for: Restoring the native BotW Anti-Aliasing implementation const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(binding = 32) uniform sampler2D textureUnitVS0;// Tex0 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler18 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[5]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +TEXTURE_LAYOUT(32, 0, 0) uniform sampler2D textureUnitVS0;// Tex0 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -125,7 +150,7 @@ PS0i = R6i.y; R1i.w = floatBitsToInt(texture(textureUnitVS0, intBitsToFloat(R0i.wz)).x); R1i.xyz = floatBitsToInt(texture(textureUnitVS0, intBitsToFloat(R0i.xy)).xyz); // export -gl_Position = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); +SET_POSITION(vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w))); // export // skipped export to semanticId 255 // 0 diff --git a/Resolutions/BreathOfTheWild_Resolution/0d6127fbed646d2b_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/0d6127fbed646d2b_0000000000000000_vs.txt index 392f74c9..fc83893b 100644 --- a/Resolutions/BreathOfTheWild_Resolution/0d6127fbed646d2b_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/0d6127fbed646d2b_0000000000000000_vs.txt @@ -1,16 +1,41 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 0d6127fbed646d2b // Used for: Fixing Ambient-Occlusion const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(binding = 32) uniform sampler2D textureUnitVS0;// Tex0 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler18 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[5]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +TEXTURE_LAYOUT(32, 0, 0) uniform sampler2D textureUnitVS0;// Tex0 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -107,7 +132,7 @@ PS1i = R4i.x; R0i.w = floatBitsToInt(texture(textureUnitVS0, intBitsToFloat(R0i.wy)).x); R0i.xyz = floatBitsToInt(texture(textureUnitVS0, intBitsToFloat(R1i.xy)).xyz); // export -gl_Position = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); +SET_POSITION(vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w))); // export // skipped export to semanticId 255 // 0 diff --git a/Resolutions/BreathOfTheWild_Resolution/0f2b9ee517917425_00000000000003c9_ps.txt b/Resolutions/BreathOfTheWild_Resolution/0f2b9ee517917425_00000000000003c9_ps.txt index 4ae1abed..9302bb8a 100644 --- a/Resolutions/BreathOfTheWild_Resolution/0f2b9ee517917425_00000000000003c9_ps.txt +++ b/Resolutions/BreathOfTheWild_Resolution/0f2b9ee517917425_00000000000003c9_ps.txt @@ -1,17 +1,42 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 0f2b9ee517917425 - dumped cemu 1.15 // Used for: Restoring the native BotW Anti-Aliasing implementation in inventory screen const float resX = float($width)/float($gameWidth); const float resY = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf49b1800 res 1280x720x1 dim 1 tm: 4 format 0019 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 0x37b40000 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 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf49b1800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x37b40000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem2; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { diff --git a/Resolutions/BreathOfTheWild_Resolution/141f484aff9b9f5a_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/141f484aff9b9f5a_0000000000000000_vs.txt index ae6e661d..a51ead52 100644 --- a/Resolutions/BreathOfTheWild_Resolution/141f484aff9b9f5a_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/141f484aff9b9f5a_0000000000000000_vs.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 141f484aff9b9f5a // Used for: Anti-Aliasing Color Mix const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[3]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[3]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -71,7 +96,7 @@ PV1f.y = R123f.y; R2f.z = PV1f.y; R2f.w = PV1f.x; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem2 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); } diff --git a/Resolutions/BreathOfTheWild_Resolution/15afdae4307b9a3d_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/15afdae4307b9a3d_0000000000000000_vs.txt index eaf5831c..df5706db 100644 --- a/Resolutions/BreathOfTheWild_Resolution/15afdae4307b9a3d_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/15afdae4307b9a3d_0000000000000000_vs.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 15afdae4307b9a3d // Used for: Vertical Ambient-Occlusion Blur const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -70,7 +95,7 @@ R2f.w = R2f.y; R2f.y = backupReg0f + -(intBitsToFloat(uf_remappedVS[0].y))/resYScale; PS1f = R2f.y; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); // export diff --git a/Resolutions/BreathOfTheWild_Resolution/1a14de8e58d5b30a_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/1a14de8e58d5b30a_0000000000000000_vs.txt index afc40515..91762d18 100644 --- a/Resolutions/BreathOfTheWild_Resolution/1a14de8e58d5b30a_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/1a14de8e58d5b30a_0000000000000000_vs.txt @@ -1,16 +1,41 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 1a14de8e58d5b30a // Used for: Restoring the native BotW Anti-Aliasing implementation const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(binding = 32) uniform sampler2D textureUnitVS0;// Tex0 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler18 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[5]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +TEXTURE_LAYOUT(32, 0, 0) uniform sampler2D textureUnitVS0;// Tex0 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -111,7 +136,7 @@ R3i.xyz = floatBitsToInt(texture(textureUnitVS0, intBitsToFloat(R0i.wz)).xyz); R0i.xyz = floatBitsToInt(texture(textureUnitVS0, intBitsToFloat(R0i.xy)).xyz); R4i.w = floatBitsToInt(texture(textureUnitVS0, intBitsToFloat(R1i.xz)).y); // export -gl_Position = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); +SET_POSITION(vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w))); // 0 R127i.x = uf_remappedVS[1].z; R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) / 2.0); diff --git a/Resolutions/BreathOfTheWild_Resolution/381d034349896360_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/381d034349896360_0000000000000000_vs.txt index 43e0a54e..8f8ba49b 100644 --- a/Resolutions/BreathOfTheWild_Resolution/381d034349896360_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/381d034349896360_0000000000000000_vs.txt @@ -1,14 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 381d034349896360 // Used for: Horizontal Volumetric Light Blur const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; +}; +#else +uniform ivec4 uf_remappedVS[5]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; out gl_PerVertex { vec4 gl_Position; @@ -101,7 +126,7 @@ R1f.y = (-(intBitsToFloat(uf_remappedVS[4].z)) * 0.5 / resXScale + PV1f.y); R1f.z = (intBitsToFloat(uf_remappedVS[4].z) * 0.5 / resXScale + PV1f.y); R1f.w = PV1f.y; // export -gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +SET_POSITION(vec4(R0f.x, R0f.y, R0f.z, R0f.w)); // export passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); } diff --git a/Resolutions/BreathOfTheWild_Resolution/44b73ce02e05c2e6_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/44b73ce02e05c2e6_0000000000000000_vs.txt index a16ffc1d..ae78ddb9 100644 --- a/Resolutions/BreathOfTheWild_Resolution/44b73ce02e05c2e6_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/44b73ce02e05c2e6_0000000000000000_vs.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 44b73ce02e05c2e6 // Used for: Vertical Self-Shadowing Mask Fix Blur const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -88,7 +113,7 @@ backupReg0f = R2f.y; R2f.y = backupReg0f + -(R126f.x); R2f.w = backupReg0f; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/BreathOfTheWild_Resolution/4721609a424e9a1f_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/4721609a424e9a1f_0000000000000000_vs.txt index 4c82712d..66e758d7 100644 --- a/Resolutions/BreathOfTheWild_Resolution/4721609a424e9a1f_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/4721609a424e9a1f_0000000000000000_vs.txt @@ -1,16 +1,41 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 4721609a424e9a1f // Used for: Restoring the native BotW Anti-Aliasing implementation const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(binding = 32) uniform sampler2D textureUnitVS0;// Tex0 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler18 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[5]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +TEXTURE_LAYOUT(32, 0, 0) uniform sampler2D textureUnitVS0;// Tex0 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -122,7 +147,7 @@ PS0i = R3i.y; R2i.w = floatBitsToInt(texture(textureUnitVS0, intBitsToFloat(R0i.wz)).x); R2i.xyz = floatBitsToInt(texture(textureUnitVS0, intBitsToFloat(R0i.xy)).xyz); // export -gl_Position = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); +SET_POSITION(vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w))); // export // skipped export to semanticId 255 // 0 diff --git a/Resolutions/BreathOfTheWild_Resolution/5c1761d13feccdff_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/5c1761d13feccdff_0000000000000000_vs.txt index 56f4eda7..61cd3df9 100644 --- a/Resolutions/BreathOfTheWild_Resolution/5c1761d13feccdff_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/5c1761d13feccdff_0000000000000000_vs.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 5c1761d13feccdff // Used for: Vertical+Horizontal Fullscreen Blur const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -72,7 +97,7 @@ PS1f = R2f.x; // 2 R2f.w = PV1f.x; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem3 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); } diff --git a/Resolutions/BreathOfTheWild_Resolution/5c975b0e3dac0562_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/5c975b0e3dac0562_0000000000000000_vs.txt index 9a52f838..8a827074 100644 --- a/Resolutions/BreathOfTheWild_Resolution/5c975b0e3dac0562_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/5c975b0e3dac0562_0000000000000000_vs.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 5c975b0e3dac0562 // Used for: Horizontal Bloom Blur const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -78,7 +103,7 @@ R2f.y = backupReg0f + -(PV1f.x); R2f.z = backupReg0f + PV1f.x; R2f.w = backupReg0f; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem1 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); // export diff --git a/Resolutions/BreathOfTheWild_Resolution/75a85b0cbcab764b_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/75a85b0cbcab764b_0000000000000000_vs.txt index 72cab487..72e8e4a3 100644 --- a/Resolutions/BreathOfTheWild_Resolution/75a85b0cbcab764b_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/75a85b0cbcab764b_0000000000000000_vs.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 75a85b0cbcab764b // Used for: Horizontal Reflection Blur const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -78,7 +103,7 @@ R2f.y = backupReg0f + -(PV1f.x); R2f.z = backupReg0f + PV1f.x; R2f.w = backupReg0f; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem1 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); // export diff --git a/Resolutions/BreathOfTheWild_Resolution/771e24915acbb074_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/771e24915acbb074_0000000000000000_vs.txt index c87033dd..3d0a283d 100644 --- a/Resolutions/BreathOfTheWild_Resolution/771e24915acbb074_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/771e24915acbb074_0000000000000000_vs.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 771e24915acbb074 // Used for: Vertical Reflection Blur const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -84,7 +109,7 @@ backupReg0f = R2f.y; R2f.y = backupReg0f + -(R127f.x); R2f.w = backupReg0f; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/BreathOfTheWild_Resolution/81eb264a750163d9_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/81eb264a750163d9_0000000000000000_vs.txt index 317a51ca..63b02f12 100644 --- a/Resolutions/BreathOfTheWild_Resolution/81eb264a750163d9_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/81eb264a750163d9_0000000000000000_vs.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 81eb264a750163d9 // Used for: Vertical Volumetric Light Blur // volumetric light blur v const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; +}; +#else +uniform ivec4 uf_remappedVS[5]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; out gl_PerVertex { vec4 gl_Position; @@ -101,7 +126,7 @@ R1f.y = (-(intBitsToFloat(uf_remappedVS[4].w)) * 0.5 / resYScale + PV1f.x); R1f.z = (intBitsToFloat(uf_remappedVS[4].w) * 0.5 / resYScale + PV1f.x); R1f.w = PV1f.x; // export -gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +SET_POSITION(vec4(R0f.x, R0f.y, R0f.z, R0f.w)); // export passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); } diff --git a/Resolutions/BreathOfTheWild_Resolution/8cab2ed476b991ea_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/8cab2ed476b991ea_0000000000000000_vs.txt index 847f6371..464a4b0e 100644 --- a/Resolutions/BreathOfTheWild_Resolution/8cab2ed476b991ea_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/8cab2ed476b991ea_0000000000000000_vs.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 8cab2ed476b991ea // Used for: Restoring the native BotW Anti-Aliasing implementation const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -76,7 +101,7 @@ R2f.y = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedVS[0].y)*resYScale) + 0.5); R2f.z = PV1f.y; R2f.w = PV1f.x; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.z); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.z)); // export passParameterSem1 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); // export diff --git a/Resolutions/BreathOfTheWild_Resolution/93f16bf1d083933b_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/93f16bf1d083933b_0000000000000000_vs.txt index 953240c2..4bdd65b0 100644 --- a/Resolutions/BreathOfTheWild_Resolution/93f16bf1d083933b_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/93f16bf1d083933b_0000000000000000_vs.txt @@ -1,16 +1,41 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 93f16bf1d083933b // Used for: Horizontal Self-Shadowing Mask Fix Blur // Self shadowing mask fix - h blur const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -85,7 +110,7 @@ PS0f = R0f.y; // 3 R0f.z = R2f.x + R127f.x; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem1 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/BreathOfTheWild_Resolution/a1cb9f79d093badb_0000f0f0ff34db6d_ps.txt b/Resolutions/BreathOfTheWild_Resolution/a1cb9f79d093badb_0000f0f0ff34db6d_ps.txt index 7cbfac26..98cdafab 100644 --- a/Resolutions/BreathOfTheWild_Resolution/a1cb9f79d093badb_0000f0f0ff34db6d_ps.txt +++ b/Resolutions/BreathOfTheWild_Resolution/a1cb9f79d093badb_0000f0f0ff34db6d_ps.txt @@ -1,19 +1,45 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader a1cb9f79d093badb // Used for: Restoring the native BotW Anti-Aliasing implementation from water edges const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 8) uniform ufBlock +{ uniform ivec4 uf_remappedPS[20]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2DArray textureUnitPS2;// Tex2 addr 0xf5593000 res 640x360x2 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x2) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform sampler2DArray textureUnitPS7;// Tex7 addr 0x313ec000 res 512x512x8 dim 5 tm: 4 format 0035 compSel: 0 1 5 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x8) Sampler7 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2DArray textureUnitPS8;// Tex8 addr 0x313ec000 res 512x512x8 dim 5 tm: 4 format 0035 compSel: 0 1 5 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x8) Sampler8 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 9) uniform sampler2DArray textureUnitPS9;// Tex9 addr 0x31391000 res 512x512x8 dim 5 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x8) Sampler9 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 10) uniform sampler2DArray textureUnitPS10;// Tex10 addr 0x313ec000 res 512x512x8 dim 5 tm: 4 format 0035 compSel: 0 1 5 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x8) Sampler10 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 11) uniform sampler2DArray textureUnitPS11;// Tex11 addr 0x313ec000 res 512x512x8 dim 5 tm: 4 format 0035 compSel: 0 1 5 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x8) Sampler11 ClampX/Y/Z: 0 0 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[20]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2DArray textureUnitPS2;// Tex2 addr 0xf5593000 res 640x360x2 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(7, 1, 3) uniform sampler2DArray textureUnitPS7;// Tex7 addr 0x313ec000 res 512x512x8 dim 5 tm: 4 format 0035 compSel: 0 1 5 5 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(8, 1, 4) uniform sampler2DArray textureUnitPS8;// Tex8 addr 0x313ec000 res 512x512x8 dim 5 tm: 4 format 0035 compSel: 0 1 5 5 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(9, 1, 5) uniform sampler2DArray textureUnitPS9;// Tex9 addr 0x31391000 res 512x512x8 dim 5 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(10, 1, 6) uniform sampler2DArray textureUnitPS10;// Tex10 addr 0x313ec000 res 512x512x8 dim 5 tm: 4 format 0035 compSel: 0 1 5 5 mipView: 0x0 (num 0xa +TEXTURE_LAYOUT(11, 1, 7) uniform sampler2DArray textureUnitPS11;// Tex11 addr 0x313ec000 res 512x512x8 dim 5 tm: 4 format 0035 compSel: 0 1 5 5 mipView: 0x0 (num 0xa layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem2; @@ -29,7 +55,6 @@ layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 3) out vec4 passPixelColor3; layout(location = 5) out vec4 passPixelColor5; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/BreathOfTheWild_Resolution/a5b3a5e5ab2938bc_0000000000001e49_ps.txt b/Resolutions/BreathOfTheWild_Resolution/a5b3a5e5ab2938bc_0000000000001e49_ps.txt index 2373b508..50c81fc2 100644 --- a/Resolutions/BreathOfTheWild_Resolution/a5b3a5e5ab2938bc_0000000000001e49_ps.txt +++ b/Resolutions/BreathOfTheWild_Resolution/a5b3a5e5ab2938bc_0000000000001e49_ps.txt @@ -1,18 +1,43 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader a5b3a5e5ab2938bc // Used for: Restoring the native BotW Anti-Aliasing implementation const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf46ad000 res 640x360x1 dim 1 tm: 4 format 0820 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 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf46ad000 res 640x360x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/BreathOfTheWild_Resolution/b4a729584b6188ea_0000000000001e49_ps.txt b/Resolutions/BreathOfTheWild_Resolution/b4a729584b6188ea_0000000000001e49_ps.txt index c5eb3e3d..d056902b 100644 --- a/Resolutions/BreathOfTheWild_Resolution/b4a729584b6188ea_0000000000001e49_ps.txt +++ b/Resolutions/BreathOfTheWild_Resolution/b4a729584b6188ea_0000000000001e49_ps.txt @@ -1,17 +1,42 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader b4a729584b6188ea // Used for: Restoring the native BotW Anti-Aliasing implementation for distant trees const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf46ad000 res 640x360x1 dim 1 tm: 4 format 0820 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 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf46ad000 res 640x360x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/BreathOfTheWild_Resolution/bb50d2ee4fa87bc2_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/bb50d2ee4fa87bc2_0000000000000000_vs.txt index 2ab76e47..aec87102 100644 --- a/Resolutions/BreathOfTheWild_Resolution/bb50d2ee4fa87bc2_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/bb50d2ee4fa87bc2_0000000000000000_vs.txt @@ -1,16 +1,41 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader bb50d2ee4fa87bc2 // Used for: Horizontal+Vertical Combat Targeting Blur const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(binding = 32) uniform sampler2D textureUnitVS0;// Tex0 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler18 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[5]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +TEXTURE_LAYOUT(32, 0, 0) uniform sampler2D textureUnitVS0;// Tex0 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -108,7 +133,7 @@ PS1i = R4i.x; R0i.w = floatBitsToInt(texture(textureUnitVS0, intBitsToFloat(R0i.wy)).x); R0i.xyz = floatBitsToInt(texture(textureUnitVS0, intBitsToFloat(R1i.xy)).xyz); // export -gl_Position = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); +SET_POSITION(vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w))); // export passParameterSem2 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); // 0 diff --git a/Resolutions/BreathOfTheWild_Resolution/c92c1c4c0a2fb839_0000000000001e49_ps.txt b/Resolutions/BreathOfTheWild_Resolution/c92c1c4c0a2fb839_0000000000001e49_ps.txt index 5c769204..d7a52fc6 100644 --- a/Resolutions/BreathOfTheWild_Resolution/c92c1c4c0a2fb839_0000000000001e49_ps.txt +++ b/Resolutions/BreathOfTheWild_Resolution/c92c1c4c0a2fb839_0000000000001e49_ps.txt @@ -1,17 +1,42 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader c92c1c4c0a2fb839 // Used for: Camera Depth of Field Blur const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[5]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf46ac800 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf4813000 res 640x360x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[5]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf46ac800 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x2 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf4813000 res 640x360x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x4 layout(location = 0) in vec4 passParameterSem2; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/BreathOfTheWild_Resolution/c9f2fd37115b0ee1_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/c9f2fd37115b0ee1_0000000000000000_vs.txt index 06d804f6..10ceddf8 100644 --- a/Resolutions/BreathOfTheWild_Resolution/c9f2fd37115b0ee1_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/c9f2fd37115b0ee1_0000000000000000_vs.txt @@ -1,16 +1,41 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader c9f2fd37115b0ee1 // Used for: Horizontal+Vertical Combat Targeting Blur const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(binding = 32) uniform sampler2D textureUnitVS0;// Tex0 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler18 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[5]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +TEXTURE_LAYOUT(32, 0, 0) uniform sampler2D textureUnitVS0;// Tex0 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -107,7 +132,7 @@ R5i.xyz = floatBitsToInt(texture(textureUnitVS0, intBitsToFloat(R0i.wy)).xyz); R4i.xyz = floatBitsToInt(texture(textureUnitVS0, intBitsToFloat(R1i.xy)).xyz); R1i.w = floatBitsToInt(texture(textureUnitVS0, intBitsToFloat(R1i.zw)).y); // export -gl_Position = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); +SET_POSITION(vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w))); // 0 R127i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[2].z))); R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) / 2.0); diff --git a/Resolutions/BreathOfTheWild_Resolution/cb0e6e8cbec4502a_0000000000000079_ps.txt b/Resolutions/BreathOfTheWild_Resolution/cb0e6e8cbec4502a_0000000000000079_ps.txt index 7427e50e..28fbbda4 100644 --- a/Resolutions/BreathOfTheWild_Resolution/cb0e6e8cbec4502a_0000000000000079_ps.txt +++ b/Resolutions/BreathOfTheWild_Resolution/cb0e6e8cbec4502a_0000000000000079_ps.txt @@ -1,14 +1,38 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader cb0e6e8cbec4502a // Used for: 1 pass Battle, Camera and Scope Depth of Field Blur -layout(binding = 0) uniform sampler2D textureUnitPS0; +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; layout(location = 0) in vec4 passParameterSem3; layout(location = 0) out vec4 passPixelColor0; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; +#endif int radius = int( roundEven(2.0/uf_fragCoordScale.y) ); vec2 resolution = vec2( textureSize(textureUnitPS0,0) ); diff --git a/Resolutions/BreathOfTheWild_Resolution/d1cf6920c3d5b194_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/d1cf6920c3d5b194_0000000000000000_vs.txt index 6c96a65b..36f515c5 100644 --- a/Resolutions/BreathOfTheWild_Resolution/d1cf6920c3d5b194_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/d1cf6920c3d5b194_0000000000000000_vs.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader d1cf6920c3d5b194 // Used for: Restoring the native BotW Anti-Aliasing implementation for distant trees const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -67,7 +92,7 @@ PS0f = R122f.x; R2f.z = PV0f.w; R2f.w = PS0f; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.z); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.z)); // export passParameterSem0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); } diff --git a/Resolutions/BreathOfTheWild_Resolution/e06e20b2efe87a84_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/e06e20b2efe87a84_0000000000000000_vs.txt index cc68869e..cc481b4a 100644 --- a/Resolutions/BreathOfTheWild_Resolution/e06e20b2efe87a84_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/e06e20b2efe87a84_0000000000000000_vs.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader e06e20b2efe87a84 // Used for: Horizontal Ambient-Occlusion Blur const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -73,7 +98,7 @@ R2f.w = backupReg0f; R2f.y = backupReg0f + -(intBitsToFloat(uf_remappedVS[0].x))/resXScale; PS1f = R2f.y; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); // export diff --git a/Resolutions/BreathOfTheWild_Resolution/ea9a49a6185cf1e5_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/ea9a49a6185cf1e5_0000000000000000_vs.txt index 156bdeb8..c16daca8 100644 --- a/Resolutions/BreathOfTheWild_Resolution/ea9a49a6185cf1e5_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/ea9a49a6185cf1e5_0000000000000000_vs.txt @@ -1,14 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader ea9a49a6185cf1e5 // Used for: Fix Reflection const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[2]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; +}; +#else +uniform ivec4 uf_remappedVS[2]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; out gl_PerVertex { vec4 gl_Position; @@ -94,7 +119,7 @@ PS0f = R3f.x; // 5 R3f.y = (mul_nonIEEE(R126f.x,-(intBitsToFloat(uf_remappedVS[1].y))) + -(intBitsToFloat(uf_remappedVS[1].w))); // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.z); // export diff --git a/Resolutions/BreathOfTheWild_Resolution/f14bb57cd5c9cb77_00000000000003c9_ps.txt b/Resolutions/BreathOfTheWild_Resolution/f14bb57cd5c9cb77_00000000000003c9_ps.txt index fbe56b7e..05a28d4b 100644 --- a/Resolutions/BreathOfTheWild_Resolution/f14bb57cd5c9cb77_00000000000003c9_ps.txt +++ b/Resolutions/BreathOfTheWild_Resolution/f14bb57cd5c9cb77_00000000000003c9_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader f14bb57cd5c9cb77 - dumped 1.15 // Used for: Removing/Restoring the native BotW World Anti-Aliasing implementation @@ -8,12 +25,20 @@ const float resX = float($width)/float($gameWidth); const float resY = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[4]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf462d000 res 1280x720x1 dim 1 tm: 4 format 0019 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 0x37f40000 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 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[4]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf462d000 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x37f40000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem2; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { diff --git a/Resolutions/BreathOfTheWild_Resolution/f69e84515ae56e70_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/f69e84515ae56e70_0000000000000000_vs.txt index 0af453c2..889aebdf 100644 --- a/Resolutions/BreathOfTheWild_Resolution/f69e84515ae56e70_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/f69e84515ae56e70_0000000000000000_vs.txt @@ -1,16 +1,41 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader f69e84515ae56e70 // Used for: Vertical Bloom Blur // bloom blur v const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -85,7 +110,7 @@ backupReg0f = R2f.y; R2f.y = backupReg0f + -(R127f.x); R2f.w = backupReg0f; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/BreathOfTheWild_Resolution/fc3e63a2007625f8_0000000000000000_vs.txt b/Resolutions/BreathOfTheWild_Resolution/fc3e63a2007625f8_0000000000000000_vs.txt index 7206111c..6d12debb 100644 --- a/Resolutions/BreathOfTheWild_Resolution/fc3e63a2007625f8_0000000000000000_vs.txt +++ b/Resolutions/BreathOfTheWild_Resolution/fc3e63a2007625f8_0000000000000000_vs.txt @@ -1,14 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader fc3e63a2007625f8 // Used For: Vertical Menu Blur const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; +}; +#else +uniform ivec4 uf_remappedVS[5]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; out gl_PerVertex { vec4 gl_Position; @@ -101,7 +126,7 @@ R1f.y = PV1f.y + -(R126f.x); R1f.z = PV1f.y + R126f.x; R1f.w = PV1f.y; // export -gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +SET_POSITION(vec4(R0f.x, R0f.y, R0f.z, R0f.w)); // export passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); } \ No newline at end of file diff --git a/Resolutions/BreathOfTheWild_Resolution/rules.txt b/Resolutions/BreathOfTheWild_Resolution/rules.txt index 40774084..e3d5e6f2 100644 --- a/Resolutions/BreathOfTheWild_Resolution/rules.txt +++ b/Resolutions/BreathOfTheWild_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = Resolution path = "The Legend of Zelda: Breath of the Wild/Graphics/Resolution" description = Changes the games resolution. You cannot change resolutions on the fly. -version = 3 +version = 4 [Preset] name = 1280x720 (16:9) (Default) diff --git a/Resolutions/CaptainToad_Resolution/37a4ec1a7dbc7391_00000000000003c9_ps.txt b/Resolutions/CaptainToad_Resolution/37a4ec1a7dbc7391_00000000000003c9_ps.txt index af78a53a..74ddc11f 100644 --- a/Resolutions/CaptainToad_Resolution/37a4ec1a7dbc7391_00000000000003c9_ps.txt +++ b/Resolutions/CaptainToad_Resolution/37a4ec1a7dbc7391_00000000000003c9_ps.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 37a4ec1a7dbc7391 //AA fix const float resXScale = ($width/$gameWidth); const float resYScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[4]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5800800 res 1280x720x1 dim 1 tm: 4 format 0019 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 0x159db800 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 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[4]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5800800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x159db800 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem2; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/CaptainToad_Resolution/5c1761d13feccdff_0000000000000000_vs.txt b/Resolutions/CaptainToad_Resolution/5c1761d13feccdff_0000000000000000_vs.txt index 8afc3052..3992a1ac 100644 --- a/Resolutions/CaptainToad_Resolution/5c1761d13feccdff_0000000000000000_vs.txt +++ b/Resolutions/CaptainToad_Resolution/5c1761d13feccdff_0000000000000000_vs.txt @@ -2,15 +2,40 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 5c1761d13feccdff //Bloom fix heat haze const float resXScale = (float($width)/float($gameWidth)); const float resYScale = (float($height)/float($gameHeight)); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -73,7 +98,7 @@ PS1f = R2f.x; // 2 R2f.w = PV1f.x; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem3 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); } diff --git a/Resolutions/CaptainToad_Resolution/6f5412f28bd716e8_0000000000000000_vs.txt b/Resolutions/CaptainToad_Resolution/6f5412f28bd716e8_0000000000000000_vs.txt index 569467aa..fda1fe38 100644 --- a/Resolutions/CaptainToad_Resolution/6f5412f28bd716e8_0000000000000000_vs.txt +++ b/Resolutions/CaptainToad_Resolution/6f5412f28bd716e8_0000000000000000_vs.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 6f5412f28bd716e8 // Used for: Horizontal blur const float resXScale = (float($width)/float($gameWidth)); const float resYScale = (float($height)/float($gameHeight)); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -92,7 +117,7 @@ PS1f = R2f.z; // 4 R4f.xzw = vec3(R2f.x,PS1f,R2f.y); // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/CaptainToad_Resolution/83f42767ee584d5a_000000000007fffd_ps.txt b/Resolutions/CaptainToad_Resolution/83f42767ee584d5a_000000000007fffd_ps.txt index 2e1f446d..fd249434 100644 --- a/Resolutions/CaptainToad_Resolution/83f42767ee584d5a_000000000007fffd_ps.txt +++ b/Resolutions/CaptainToad_Resolution/83f42767ee584d5a_000000000007fffd_ps.txt @@ -1,18 +1,43 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 83f42767ee584d5a // Used for: Third glitter bloom pass const float resXScale = ($width/$gameWidth); const float resYScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[5]; -layout(binding = 1) uniform sampler2DArray textureUnitPS1;// Tex1 addr 0xf4fb1000 res 320x180x6 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x6) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[5]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2DArray textureUnitPS1;// Tex1 addr 0xf4fb1000 res 320x180x6 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 2) out vec4 passPixelColor2; layout(location = 3) out vec4 passPixelColor3; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/CaptainToad_Resolution/a0bda935c83e6f2a_0000000000000000_vs.txt b/Resolutions/CaptainToad_Resolution/a0bda935c83e6f2a_0000000000000000_vs.txt index c4e7c1c2..fe8215ad 100644 --- a/Resolutions/CaptainToad_Resolution/a0bda935c83e6f2a_0000000000000000_vs.txt +++ b/Resolutions/CaptainToad_Resolution/a0bda935c83e6f2a_0000000000000000_vs.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader a0bda935c83e6f2a // Used for: Vertical blur const float resXScale = (float($width)/float($gameWidth)); const float resYScale = (float($height)/float($gameHeight)); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -90,7 +115,7 @@ R2f.y = backupReg0f + -(R126f.y); R2f.z = backupReg0f + R126f.y; R2f.w = backupReg0f; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem1 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/CaptainToad_Resolution/cc5b29e8cb801fb8_000000000007fff9_ps.txt b/Resolutions/CaptainToad_Resolution/cc5b29e8cb801fb8_000000000007fff9_ps.txt index 6cdaed49..2491d8c5 100644 --- a/Resolutions/CaptainToad_Resolution/cc5b29e8cb801fb8_000000000007fff9_ps.txt +++ b/Resolutions/CaptainToad_Resolution/cc5b29e8cb801fb8_000000000007fff9_ps.txt @@ -1,18 +1,43 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader cc5b29e8cb801fb8 // Used for: First glitter bloom pass const float resXScale = ($width/$gameWidth); const float resYScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[5]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e0c000 res 320x180x1 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: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[5]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e0c000 res 320x180x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 2) out vec4 passPixelColor2; layout(location = 3) out vec4 passPixelColor3; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/CaptainToad_Resolution/d6228044a83341ca_000000000007fffd_ps.txt b/Resolutions/CaptainToad_Resolution/d6228044a83341ca_000000000007fffd_ps.txt index 6c0bcf41..d7fc2313 100644 --- a/Resolutions/CaptainToad_Resolution/d6228044a83341ca_000000000007fffd_ps.txt +++ b/Resolutions/CaptainToad_Resolution/d6228044a83341ca_000000000007fffd_ps.txt @@ -1,18 +1,43 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader d6228044a83341ca // Used for: Second glitter bloom pass const float resXScale = ($width/$gameWidth); const float resYScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[8]; -layout(binding = 1) uniform sampler2DArray textureUnitPS1;// Tex1 addr 0xf4e48800 res 320x180x6 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x6) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[8]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2DArray textureUnitPS1;// Tex1 addr 0xf4e48800 res 320x180x6 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 2) out vec4 passPixelColor2; layout(location = 3) out vec4 passPixelColor3; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/CaptainToad_Resolution/rules.txt b/Resolutions/CaptainToad_Resolution/rules.txt index f348928a..5c6b7642 100644 --- a/Resolutions/CaptainToad_Resolution/rules.txt +++ b/Resolutions/CaptainToad_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010180600,0005000010180700,0005000010180500 name = Resolution path = "Captain Toad: Treasure Tracker/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] name = 1280x720 (Default) diff --git a/Resolutions/DevilsThird_Resolution/161904c2816b059d_0000000000000000_vs.txt b/Resolutions/DevilsThird_Resolution/161904c2816b059d_0000000000000000_vs.txt index 433ee9b7..08ba9209 100644 --- a/Resolutions/DevilsThird_Resolution/161904c2816b059d_0000000000000000_vs.txt +++ b/Resolutions/DevilsThird_Resolution/161904c2816b059d_0000000000000000_vs.txt @@ -2,14 +2,39 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 161904c2816b059d // Used for: Horizontal & Vertical Bloom Blur Pass float resScale = ($width/$gameWidth); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[5]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -77,7 +102,7 @@ backupReg0f = R1f.x; R1f.xyz = vec3(backupReg0f,backupReg1f,backupReg1f) + vec3(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z)); R1f.w = backupReg0f + intBitsToFloat(uf_remappedVS[4].w)/resScale; // export -gl_Position = vec4(R2f.x, R2f.y, R2f.z, R2f.w); +SET_POSITION(vec4(R2f.x, R2f.y, R2f.z, R2f.w)); // export passParameterSem129 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/DevilsThird_Resolution/888e5d95da8037e2_0000000000000079_ps.txt b/Resolutions/DevilsThird_Resolution/888e5d95da8037e2_0000000000000079_ps.txt index eb0ca08a..b3f95da7 100644 --- a/Resolutions/DevilsThird_Resolution/888e5d95da8037e2_0000000000000079_ps.txt +++ b/Resolutions/DevilsThird_Resolution/888e5d95da8037e2_0000000000000079_ps.txt @@ -1,13 +1,38 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 888e5d95da8037e2 // Used for: Horizontal & Vertical Blur Pass float resScale = ($width/$gameWidth); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[1]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[1]; uniform vec2 uf_fragCoordScale; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x15c36000 res 320x180x1 dim 1 tm: 4 format 0810 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x15c36000 res 320x180x1 dim 1 tm: 4 format 0810 compSel: 0 1 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem129; layout(location = 0) out vec4 passPixelColor0; int clampFI32(int v) diff --git a/Resolutions/DevilsThird_Resolution/rules.txt b/Resolutions/DevilsThird_Resolution/rules.txt index 9822dd08..8d4497db 100644 --- a/Resolutions/DevilsThird_Resolution/rules.txt +++ b/Resolutions/DevilsThird_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010177600,0005000010177700,0005000010197d00 name = Resolution path = "Devil's Third/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] name = 1280x720 (Default) diff --git a/Resolutions/DrLuigi_Resolution/9e9abde99f9510dc_000000000000001c_ps.txt b/Resolutions/DrLuigi_Resolution/9e9abde99f9510dc_000000000000001c_ps.txt index 4e301023..5eaa0ba2 100644 --- a/Resolutions/DrLuigi_Resolution/9e9abde99f9510dc_000000000000001c_ps.txt +++ b/Resolutions/DrLuigi_Resolution/9e9abde99f9510dc_000000000000001c_ps.txt @@ -1,13 +1,38 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 9e9abde99f9510dc +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf489e000 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 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf489e000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem129; layout(location = 1) in vec4 passParameterSem128; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/DrLuigi_Resolution/rules.txt b/Resolutions/DrLuigi_Resolution/rules.txt index 6392f375..f37c3bba 100644 --- a/Resolutions/DrLuigi_Resolution/rules.txt +++ b/Resolutions/DrLuigi_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010150300,0005000010152A00,0005000010152B00 name = Resolution path = "Dr. Luigi/Graphics/Resolution" description = Changes the resolution of the game. Anti-aliasing is disabled by default. -version = 3 +version = 4 [Preset] name = 1280x720 (Default) diff --git a/Resolutions/DucktalesRemastered_Resolution/294904d1771460cf_0000000000000079_ps.txt b/Resolutions/DucktalesRemastered_Resolution/294904d1771460cf_0000000000000079_ps.txt index fdd39c92..0ce1178f 100644 --- a/Resolutions/DucktalesRemastered_Resolution/294904d1771460cf_0000000000000079_ps.txt +++ b/Resolutions/DucktalesRemastered_Resolution/294904d1771460cf_0000000000000079_ps.txt @@ -1,14 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 294904d1771460cf // Used for: Blur const float resScale = (float($width)/float($gameWidth)); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[1]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[1]; uniform vec2 uf_fragCoordScale; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5b14800 res 480x270x1 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: 0 +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5b14800 res 480x270x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem128; layout(location = 0) out vec4 passPixelColor0; int clampFI32(int v) diff --git a/Resolutions/DucktalesRemastered_Resolution/8fdd009324e987ee_0000000000000079_ps.txt b/Resolutions/DucktalesRemastered_Resolution/8fdd009324e987ee_0000000000000079_ps.txt index 82ef8663..916b26e0 100644 --- a/Resolutions/DucktalesRemastered_Resolution/8fdd009324e987ee_0000000000000079_ps.txt +++ b/Resolutions/DucktalesRemastered_Resolution/8fdd009324e987ee_0000000000000079_ps.txt @@ -1,13 +1,38 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 8fdd009324e987ee // Used for: Blur const float resScale = (float($width)/float($gameWidth)); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[1]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[1]; uniform vec2 uf_fragCoordScale; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5b94000 res 480x270x1 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: 0 +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5b94000 res 480x270x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem128; layout(location = 0) out vec4 passPixelColor0; int clampFI32(int v) diff --git a/Resolutions/DucktalesRemastered_Resolution/rules.txt b/Resolutions/DucktalesRemastered_Resolution/rules.txt index 74c9d649..3376df0d 100644 --- a/Resolutions/DucktalesRemastered_Resolution/rules.txt +++ b/Resolutions/DucktalesRemastered_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010129000,0005000010129200 name = Resolution path = "DuckTales: Remastered/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] name = 1920x1080 (Default) diff --git a/Resolutions/FistOfTheNorthStar_Resolution/945d9672d0114248_0000000000000000_vs.txt b/Resolutions/FistOfTheNorthStar_Resolution/945d9672d0114248_0000000000000000_vs.txt index bd02b86b..3cb596d4 100644 --- a/Resolutions/FistOfTheNorthStar_Resolution/945d9672d0114248_0000000000000000_vs.txt +++ b/Resolutions/FistOfTheNorthStar_Resolution/945d9672d0114248_0000000000000000_vs.txt @@ -2,14 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 945d9672d0114248 // Used for: Second horizontal and vertical bloom blur pass float resXScale = float($width)/float($gameWidth); float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_uniformRegisterVS[256]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_uniformRegisterVS[256]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -280,7 +304,7 @@ Ri[3].xyz = ivec3(Ri[14].x,Ri[14].y,Ri[14].z); Ri[3].w = Ri[14].w; } // export -gl_Position = vec4(intBitsToFloat(Ri[2].x), intBitsToFloat(Ri[2].y), intBitsToFloat(Ri[2].z), intBitsToFloat(Ri[2].w)); +SET_POSITION(vec4(intBitsToFloat(Ri[2].x), intBitsToFloat(Ri[2].y), intBitsToFloat(Ri[2].z), intBitsToFloat(Ri[2].w))); // export passParameterSem129 = vec4(intBitsToFloat(Ri[0].x), intBitsToFloat(Ri[0].y), intBitsToFloat(Ri[0].z), intBitsToFloat(Ri[0].w)); // export diff --git a/Resolutions/FistOfTheNorthStar_Resolution/b3609db7d1363f6a_0000000000000000_vs.txt b/Resolutions/FistOfTheNorthStar_Resolution/b3609db7d1363f6a_0000000000000000_vs.txt index 75f33194..db889269 100644 --- a/Resolutions/FistOfTheNorthStar_Resolution/b3609db7d1363f6a_0000000000000000_vs.txt +++ b/Resolutions/FistOfTheNorthStar_Resolution/b3609db7d1363f6a_0000000000000000_vs.txt @@ -2,14 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader b3609db7d1363f6a // Used for: Horizontal and vertical blur float resXScale = float($width)/float($gameWidth); float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_uniformRegisterVS[256]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_uniformRegisterVS[256]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -302,7 +326,7 @@ Ri[8].xyz = ivec3(Ri[28].x,Ri[28].y,Ri[28].z); Ri[8].w = Ri[28].w; } // export -gl_Position = vec4(intBitsToFloat(Ri[0].x), intBitsToFloat(Ri[0].y), intBitsToFloat(Ri[0].z), intBitsToFloat(Ri[0].w)); +SET_POSITION(vec4(intBitsToFloat(Ri[0].x), intBitsToFloat(Ri[0].y), intBitsToFloat(Ri[0].z), intBitsToFloat(Ri[0].w))); // export passParameterSem128 = vec4(intBitsToFloat(Ri[1].x), intBitsToFloat(Ri[1].y), intBitsToFloat(Ri[1].z), intBitsToFloat(Ri[1].w)); // export diff --git a/Resolutions/FistOfTheNorthStar_Resolution/f9feadb214b483b7_0000000000000000_vs.txt b/Resolutions/FistOfTheNorthStar_Resolution/f9feadb214b483b7_0000000000000000_vs.txt index 8af994e9..97ff193b 100644 --- a/Resolutions/FistOfTheNorthStar_Resolution/f9feadb214b483b7_0000000000000000_vs.txt +++ b/Resolutions/FistOfTheNorthStar_Resolution/f9feadb214b483b7_0000000000000000_vs.txt @@ -2,14 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader f9feadb214b483b7 // Used for: First horizontal and vertical bloom blur pass float resXScale = float($width)/float($gameWidth); float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_uniformRegisterVS[256]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_uniformRegisterVS[256]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -301,7 +325,7 @@ Ri[6].xyz = ivec3(Ri[23].x,Ri[23].y,Ri[23].z); Ri[6].w = Ri[23].w; } // export -gl_Position = vec4(intBitsToFloat(Ri[2].x), intBitsToFloat(Ri[2].y), intBitsToFloat(Ri[2].z), intBitsToFloat(Ri[2].w)); +SET_POSITION(vec4(intBitsToFloat(Ri[2].x), intBitsToFloat(Ri[2].y), intBitsToFloat(Ri[2].z), intBitsToFloat(Ri[2].w))); // export passParameterSem129 = vec4(intBitsToFloat(Ri[0].x), intBitsToFloat(Ri[0].y), intBitsToFloat(Ri[0].z), intBitsToFloat(Ri[0].w)); // export diff --git a/Resolutions/FistOfTheNorthStar_Resolution/rules.txt b/Resolutions/FistOfTheNorthStar_Resolution/rules.txt index 4c6a6f38..2f002473 100644 --- a/Resolutions/FistOfTheNorthStar_Resolution/rules.txt +++ b/Resolutions/FistOfTheNorthStar_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 000500001012B800,000500001012B900,0005000010116600 name = Resolution path = "Fist of the North Star: Ken's Rage 2/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] name = 1280x720 (Default) diff --git a/Resolutions/HyruleWarriors_Resolution/492839ddc5f8f43e_0000000000000000_vs.txt b/Resolutions/HyruleWarriors_Resolution/492839ddc5f8f43e_0000000000000000_vs.txt index 49ad10a0..1070aac1 100644 --- a/Resolutions/HyruleWarriors_Resolution/492839ddc5f8f43e_0000000000000000_vs.txt +++ b/Resolutions/HyruleWarriors_Resolution/492839ddc5f8f43e_0000000000000000_vs.txt @@ -2,13 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 492839ddc5f8f43e //3rd level dof const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_uniformRegisterVS[256]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_uniformRegisterVS[256]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -259,7 +284,7 @@ Ri[2].xyz = ivec3(Ri[10].x,Ri[10].y,Ri[10].z); Ri[2].w = Ri[10].w; } // export -gl_Position = vec4(intBitsToFloat(Ri[0].x), intBitsToFloat(Ri[0].y), intBitsToFloat(Ri[0].z), intBitsToFloat(Ri[0].w)); +SET_POSITION(vec4(intBitsToFloat(Ri[0].x), intBitsToFloat(Ri[0].y), intBitsToFloat(Ri[0].z), intBitsToFloat(Ri[0].w))); // export passParameterSem128 = vec4(intBitsToFloat(Ri[1].x), intBitsToFloat(Ri[1].y), intBitsToFloat(Ri[1].z), intBitsToFloat(Ri[1].w)); // export diff --git a/Resolutions/HyruleWarriors_Resolution/945d9672d0114248_0000000000000000_vs.txt b/Resolutions/HyruleWarriors_Resolution/945d9672d0114248_0000000000000000_vs.txt index 46342191..b433f9b7 100644 --- a/Resolutions/HyruleWarriors_Resolution/945d9672d0114248_0000000000000000_vs.txt +++ b/Resolutions/HyruleWarriors_Resolution/945d9672d0114248_0000000000000000_vs.txt @@ -2,13 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 945d9672d0114248 const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_uniformRegisterVS[256]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_uniformRegisterVS[256]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -279,7 +304,7 @@ Ri[3].xyz = ivec3(Ri[14].x,Ri[14].y,Ri[14].z); Ri[3].w = Ri[14].w; } // export -gl_Position = vec4(intBitsToFloat(Ri[2].x), intBitsToFloat(Ri[2].y), intBitsToFloat(Ri[2].z), intBitsToFloat(Ri[2].w)); +SET_POSITION(vec4(intBitsToFloat(Ri[2].x), intBitsToFloat(Ri[2].y), intBitsToFloat(Ri[2].z), intBitsToFloat(Ri[2].w))); // export passParameterSem129 = vec4(intBitsToFloat(Ri[0].x), intBitsToFloat(Ri[0].y), intBitsToFloat(Ri[0].z), intBitsToFloat(Ri[0].w)); // export diff --git a/Resolutions/HyruleWarriors_Resolution/b3609db7d1363f6a_0000000000000000_vs.txt b/Resolutions/HyruleWarriors_Resolution/b3609db7d1363f6a_0000000000000000_vs.txt index a9aecbbd..f000c70d 100644 --- a/Resolutions/HyruleWarriors_Resolution/b3609db7d1363f6a_0000000000000000_vs.txt +++ b/Resolutions/HyruleWarriors_Resolution/b3609db7d1363f6a_0000000000000000_vs.txt @@ -2,14 +2,39 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader b3609db7d1363f6a //cutscene dof boxes const float resXScale = (float($width)/float($gameWidth))*float($internalRes); const float resYScale = (float($height)/float($gameHeight))*float($internalRes); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_uniformRegisterVS[256]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_uniformRegisterVS[256]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -302,7 +327,7 @@ Ri[8].xyz = ivec3(Ri[28].x,Ri[28].y,Ri[28].z); Ri[8].w = Ri[28].w; } // export -gl_Position = vec4(intBitsToFloat(Ri[0].x), intBitsToFloat(Ri[0].y), intBitsToFloat(Ri[0].z), intBitsToFloat(Ri[0].w)); +SET_POSITION(vec4(intBitsToFloat(Ri[0].x), intBitsToFloat(Ri[0].y), intBitsToFloat(Ri[0].z), intBitsToFloat(Ri[0].w))); // export passParameterSem128 = vec4(intBitsToFloat(Ri[1].x), intBitsToFloat(Ri[1].y), intBitsToFloat(Ri[1].z), intBitsToFloat(Ri[1].w)); // export diff --git a/Resolutions/HyruleWarriors_Resolution/f9feadb214b483b7_0000000000000000_vs.txt b/Resolutions/HyruleWarriors_Resolution/f9feadb214b483b7_0000000000000000_vs.txt index e784e0ff..290a4ef9 100644 --- a/Resolutions/HyruleWarriors_Resolution/f9feadb214b483b7_0000000000000000_vs.txt +++ b/Resolutions/HyruleWarriors_Resolution/f9feadb214b483b7_0000000000000000_vs.txt @@ -2,13 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader f9feadb214b483b7 const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_uniformRegisterVS[256]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_uniformRegisterVS[256]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -300,7 +325,7 @@ Ri[6].xyz = ivec3(Ri[23].x,Ri[23].y,Ri[23].z); Ri[6].w = Ri[23].w; } // export -gl_Position = vec4(intBitsToFloat(Ri[2].x), intBitsToFloat(Ri[2].y), intBitsToFloat(Ri[2].z), intBitsToFloat(Ri[2].w)); +SET_POSITION(vec4(intBitsToFloat(Ri[2].x), intBitsToFloat(Ri[2].y), intBitsToFloat(Ri[2].z), intBitsToFloat(Ri[2].w))); // export passParameterSem129 = vec4(intBitsToFloat(Ri[0].x), intBitsToFloat(Ri[0].y), intBitsToFloat(Ri[0].z), intBitsToFloat(Ri[0].w)); // export diff --git a/Resolutions/HyruleWarriors_Resolution/rules.txt b/Resolutions/HyruleWarriors_Resolution/rules.txt index 88f222e2..63f16ac8 100644 --- a/Resolutions/HyruleWarriors_Resolution/rules.txt +++ b/Resolutions/HyruleWarriors_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 000500001017D800,000500001017D900,000500001017CD00 name = Resolution path = "Hyrule Warriors/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 #Resolutions |Aspect ratio #2560×1080, 5120×2160, 8192×3456 |64:27 (2.370) diff --git a/Resolutions/KirbyRainbow_Resolution/2258c1c082f929aa_0000000000000000_vs.txt b/Resolutions/KirbyRainbow_Resolution/2258c1c082f929aa_0000000000000000_vs.txt index 1e4cf0d7..a7c72266 100644 --- a/Resolutions/KirbyRainbow_Resolution/2258c1c082f929aa_0000000000000000_vs.txt +++ b/Resolutions/KirbyRainbow_Resolution/2258c1c082f929aa_0000000000000000_vs.txt @@ -2,14 +2,39 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 2258c1c082f929aa // Used for: Stage Background Blur, Clay Texture Blur const float resXScale = ($width/$gameWidth); const float resYScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_uniformRegisterVS[256]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; +}; +#else +uniform ivec4 uf_uniformRegisterVS[256]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; out gl_PerVertex { vec4 gl_Position; @@ -74,7 +99,7 @@ R2i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[5].y)/resYScale + int R3i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[6].x)/resXScale + intBitsToFloat(uf_uniformRegisterVS[ARi.x+7].x)); R3i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[6].y)/resYScale + intBitsToFloat(uf_uniformRegisterVS[ARi.x+7].y)); // export -gl_Position = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); +SET_POSITION(vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.z)); // export diff --git a/Resolutions/KirbyRainbow_Resolution/rules.txt b/Resolutions/KirbyRainbow_Resolution/rules.txt index 720970bd..3511988b 100644 --- a/Resolutions/KirbyRainbow_Resolution/rules.txt +++ b/Resolutions/KirbyRainbow_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101ABC00,00050000101B5100 name = Resolution path = "Kirby and the Rainbow Curse & Paintbrush/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] name = 1280x720 (Default) diff --git a/Resolutions/LegoStarWars_Resolution/66681ef93c67091e_0000000000000000_vs.txt b/Resolutions/LegoStarWars_Resolution/66681ef93c67091e_0000000000000000_vs.txt index 2b329517..78d48216 100644 --- a/Resolutions/LegoStarWars_Resolution/66681ef93c67091e_0000000000000000_vs.txt +++ b/Resolutions/LegoStarWars_Resolution/66681ef93c67091e_0000000000000000_vs.txt @@ -2,16 +2,41 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 66681ef93c67091e // Used for: Bloom and motion blur const float resXScale = ($width/$gameWidth); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[7]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem5; +}; +#else +uniform ivec4 uf_remappedVS[7]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem5; out gl_PerVertex { vec4 gl_Position; @@ -123,7 +148,7 @@ R5f.y = (mul_nonIEEE(R125f.w,intBitsToFloat(uf_remappedVS[6].y)) + intBitsToFloa // 11 R5f.z = intBitsToFloat(uf_remappedVS[5].z) * (intBitsToFloat(0x3e4cc000)/resXScale); // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem128 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/LegoStarWars_Resolution/rules.txt b/Resolutions/LegoStarWars_Resolution/rules.txt index 87639e24..47d60f28 100644 --- a/Resolutions/LegoStarWars_Resolution/rules.txt +++ b/Resolutions/LegoStarWars_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101DAA00,00050000101DAB00,00050000101EA000 name = Resolution path = "LEGO Star Wars: The Force Awakens/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] name = 1280x720 (Default) diff --git a/Resolutions/MarioKart8_Resolution/2e78a0d0a0aa66bb_0000000000000000_vs.txt b/Resolutions/MarioKart8_Resolution/2e78a0d0a0aa66bb_0000000000000000_vs.txt index 4faeadd7..eafe4644 100644 --- a/Resolutions/MarioKart8_Resolution/2e78a0d0a0aa66bb_0000000000000000_vs.txt +++ b/Resolutions/MarioKart8_Resolution/2e78a0d0a0aa66bb_0000000000000000_vs.txt @@ -2,14 +2,39 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 2e78a0d0a0aa66bb // Used for: Horizontal (Menu) Bloom Blur const float resScale = float($width)/float($gameWidth); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -90,7 +115,7 @@ R2f.y = backupReg0f + -(R126f.y); R2f.z = backupReg0f + R126f.y; R2f.w = backupReg0f; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem1 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/MarioKart8_Resolution/74126253134563de_0000000000000000_vs.txt b/Resolutions/MarioKart8_Resolution/74126253134563de_0000000000000000_vs.txt index e42115e7..c437d520 100644 --- a/Resolutions/MarioKart8_Resolution/74126253134563de_0000000000000000_vs.txt +++ b/Resolutions/MarioKart8_Resolution/74126253134563de_0000000000000000_vs.txt @@ -2,13 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 74126253134563de // Used for: Vertical Menu Background Blur const float resScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; +}; +#else +uniform ivec4 uf_remappedVS[5]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; out gl_PerVertex { vec4 gl_Position; @@ -101,7 +126,7 @@ R1f.y = PV1f.y + -(R126f.x); R1f.z = PV1f.y + R126f.x; R1f.w = PV1f.y; // export -gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +SET_POSITION(vec4(R0f.x, R0f.y, R0f.z, R0f.w)); // export passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); // 0 diff --git a/Resolutions/MarioKart8_Resolution/ad3014302e0e49bf_0000000000000000_vs.txt b/Resolutions/MarioKart8_Resolution/ad3014302e0e49bf_0000000000000000_vs.txt index 258b1fc8..ecca62da 100644 --- a/Resolutions/MarioKart8_Resolution/ad3014302e0e49bf_0000000000000000_vs.txt +++ b/Resolutions/MarioKart8_Resolution/ad3014302e0e49bf_0000000000000000_vs.txt @@ -2,13 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader ad3014302e0e49bf // Used for: Stage Select & Menu Background Horizontal Blur const float resScale = float($width)/float($gameWidth); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; +}; +#else +uniform ivec4 uf_remappedVS[5]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; out gl_PerVertex { vec4 gl_Position; @@ -104,7 +129,7 @@ R1f.y = PV1f.z + -(R126f.x); R1f.z = PV1f.z + R126f.x; R1f.w = PV1f.z; // export -gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +SET_POSITION(vec4(R0f.x, R0f.y, R0f.z, R0f.w)); // export passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); // 0 diff --git a/Resolutions/MarioKart8_Resolution/dd7a19be01b7b1aa_0000000000000000_vs.txt b/Resolutions/MarioKart8_Resolution/dd7a19be01b7b1aa_0000000000000000_vs.txt index 68c93205..98acf713 100644 --- a/Resolutions/MarioKart8_Resolution/dd7a19be01b7b1aa_0000000000000000_vs.txt +++ b/Resolutions/MarioKart8_Resolution/dd7a19be01b7b1aa_0000000000000000_vs.txt @@ -2,14 +2,39 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader dd7a19be01b7b1aa // Used for: Vertical (Menu) Bloom Blur const float resScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -92,7 +117,7 @@ PS1f = R2f.z; // 4 R4f.xzw = vec3(R2f.x,PS1f,R2f.y); // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/MarioKart8_Resolution/rules.txt b/Resolutions/MarioKart8_Resolution/rules.txt index 74dfbd37..39ee235a 100644 --- a/Resolutions/MarioKart8_Resolution/rules.txt +++ b/Resolutions/MarioKart8_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 000500001010ec00,000500001010ed00,000500001010eb00 name = Resolution path = "Mario Kart 8/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] name = 1280x720 (Default) diff --git a/Resolutions/MarioParty10_Resolution/5ce4bcf08c2aa688_0000000000000000_vs.txt b/Resolutions/MarioParty10_Resolution/5ce4bcf08c2aa688_0000000000000000_vs.txt index 1de6a9fa..32d240e1 100644 --- a/Resolutions/MarioParty10_Resolution/5ce4bcf08c2aa688_0000000000000000_vs.txt +++ b/Resolutions/MarioParty10_Resolution/5ce4bcf08c2aa688_0000000000000000_vs.txt @@ -2,16 +2,41 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 5ce4bcf08c2aa688 // Used for: Bloom const float resXScale = ($width/$gameWidth); const float resYScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[6]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[6]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -243,7 +268,7 @@ PV1i.x = tempResulti; R4i.x = ((ARi.x==0)?R9i.x:(ARi.x==24)?R33i.x:(ARi.x==25)?R34i.x:(ARi.x==26)?R35i.x:(ARi.x==27)?R36i.x:(ARi.x==118)?R127i.x:0); R4i.y = ((ARi.x==0)?R9i.y:(ARi.x==24)?R33i.y:(ARi.x==25)?R34i.y:(ARi.x==26)?R35i.y:(ARi.x==27)?R36i.y:(ARi.x==118)?R127i.y:0); // export -gl_Position = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); +SET_POSITION(vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); // 0 R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z)/resXScale,intBitsToFloat(uf_remappedVS[4].x)) + intBitsToFloat(R4i.x))); R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w)/resYScale,intBitsToFloat(uf_remappedVS[4].y)) + intBitsToFloat(R4i.y))); diff --git a/Resolutions/MarioParty10_Resolution/rules.txt b/Resolutions/MarioParty10_Resolution/rules.txt index e60cd20c..213ef1c4 100644 --- a/Resolutions/MarioParty10_Resolution/rules.txt +++ b/Resolutions/MarioParty10_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010162D00,0005000010162E00,0005000E10161F00 name = Resolution path = "Mario Party 10/Graphics/Resolution" description = Changes the resolution of the game. Note: Missing videos in minigame screen is currently a Cemu/Cemuhook issue. -version = 3 +version = 4 [Preset] name = 1280x720 (Default) diff --git a/Resolutions/NewSuperMarioBrosU_Resolution/50e29e8929cea348_00000000000003c9_ps.txt b/Resolutions/NewSuperMarioBrosU_Resolution/50e29e8929cea348_00000000000003c9_ps.txt index 4477497f..b1bf9100 100644 --- a/Resolutions/NewSuperMarioBrosU_Resolution/50e29e8929cea348_00000000000003c9_ps.txt +++ b/Resolutions/NewSuperMarioBrosU_Resolution/50e29e8929cea348_00000000000003c9_ps.txt @@ -1,17 +1,42 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 50e29e8929cea348 // Used for: Scaling Anti-Aliasing solution of game +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ 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 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4240800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c5000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem1; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; float resScale = (1.0 / uf_fragCoordScale.x); int clampFI32(int v) diff --git a/Resolutions/NewSuperMarioBrosU_Resolution/70b82af4d17024d2_0000000000000000_vs.txt b/Resolutions/NewSuperMarioBrosU_Resolution/70b82af4d17024d2_0000000000000000_vs.txt index 64cd4d83..a6f777f2 100644 --- a/Resolutions/NewSuperMarioBrosU_Resolution/70b82af4d17024d2_0000000000000000_vs.txt +++ b/Resolutions/NewSuperMarioBrosU_Resolution/70b82af4d17024d2_0000000000000000_vs.txt @@ -2,15 +2,40 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 70b82af4d17024d2 //AA fix float resScale = float($width)/float($gameWidth); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -70,7 +95,7 @@ R2f.z = PS0f; // 2 R2f.w = PV1f.x; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem1 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); // 0 diff --git a/Resolutions/NewSuperMarioBrosU_Resolution/8d638f35cebd14dc_00000000000007f9_ps.txt b/Resolutions/NewSuperMarioBrosU_Resolution/8d638f35cebd14dc_00000000000007f9_ps.txt index 98e7efae..1f1aea07 100644 --- a/Resolutions/NewSuperMarioBrosU_Resolution/8d638f35cebd14dc_00000000000007f9_ps.txt +++ b/Resolutions/NewSuperMarioBrosU_Resolution/8d638f35cebd14dc_00000000000007f9_ps.txt @@ -1,9 +1,26 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 8d638f35cebd14dc //banding fix -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x48ab0000 res 8x256x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 0 border: 0 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x48ab0000 res 8x256x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x9 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem2; @@ -19,7 +36,14 @@ highp float lineRand(vec2 co) highp float sn = mod(dt, 3.14); return fract(sin(sn) * c); } +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; +#endif int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/NewSuperMarioBrosU_Resolution/ec4a85d51e778437_0000000000000000_vs.txt b/Resolutions/NewSuperMarioBrosU_Resolution/ec4a85d51e778437_0000000000000000_vs.txt index edafa8e6..7107acef 100644 --- a/Resolutions/NewSuperMarioBrosU_Resolution/ec4a85d51e778437_0000000000000000_vs.txt +++ b/Resolutions/NewSuperMarioBrosU_Resolution/ec4a85d51e778437_0000000000000000_vs.txt @@ -2,15 +2,40 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader ec4a85d51e778437 //box blur fix float resScale = float($width)/float($gameWidth); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -73,7 +98,7 @@ PS1f = R2f.x; // 2 R2f.w = PV1f.x; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem3 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); // 0 diff --git a/Resolutions/NewSuperMarioBrosU_Resolution/rules.txt b/Resolutions/NewSuperMarioBrosU_Resolution/rules.txt index 64fdb69c..1f54163b 100644 --- a/Resolutions/NewSuperMarioBrosU_Resolution/rules.txt +++ b/Resolutions/NewSuperMarioBrosU_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010101D00,0005000010101E00,000500001014B700,000500001014B800,0 name = Resolution path = "New Super Mario Bros. U/Graphics/Resolution" #and luigi description = Changes the resolution of the game. -version = 3 +version = 4 //compatible resolutions [Preset] diff --git a/Resolutions/NinjaGaiden3_Resolution/7a641a67c4009f7f_0000000000000000_vs.txt b/Resolutions/NinjaGaiden3_Resolution/7a641a67c4009f7f_0000000000000000_vs.txt index d630c453..2adcf94b 100644 --- a/Resolutions/NinjaGaiden3_Resolution/7a641a67c4009f7f_0000000000000000_vs.txt +++ b/Resolutions/NinjaGaiden3_Resolution/7a641a67c4009f7f_0000000000000000_vs.txt @@ -2,16 +2,41 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 7a641a67c4009f7f //Blur const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[8]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem5; +}; +#else +uniform ivec4 uf_remappedVS[8]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem5; out gl_PerVertex { vec4 gl_Position; @@ -129,7 +154,7 @@ R8f.w = R125f.z; R10f.x = R2f.x + intBitsToFloat(uf_remappedVS[6].x)/resXScale; PS0f = R10f.x; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem128 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/NinjaGaiden3_Resolution/fd6c2e800481a180_0000000000000000_vs.txt b/Resolutions/NinjaGaiden3_Resolution/fd6c2e800481a180_0000000000000000_vs.txt index 8df93c97..d920337a 100644 --- a/Resolutions/NinjaGaiden3_Resolution/fd6c2e800481a180_0000000000000000_vs.txt +++ b/Resolutions/NinjaGaiden3_Resolution/fd6c2e800481a180_0000000000000000_vs.txt @@ -2,16 +2,41 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader fd6c2e800481a180 //Cinematic bloom const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[8]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem5; +}; +#else +uniform ivec4 uf_remappedVS[8]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem5; out gl_PerVertex { vec4 gl_Position; @@ -133,7 +158,7 @@ R8f.w = R125f.z; R10f.x = R2f.x + intBitsToFloat(uf_remappedVS[6].x)/resXScale; PS0f = R10f.x; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem128 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/NinjaGaiden3_Resolution/rules.txt b/Resolutions/NinjaGaiden3_Resolution/rules.txt index 6a88fe0d..b2457ca1 100644 --- a/Resolutions/NinjaGaiden3_Resolution/rules.txt +++ b/Resolutions/NinjaGaiden3_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010110900,0005000010110A00,0005000010110B00 name = Resolution path = "Ninja Gaiden 3: Razors Edge/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] name = 1280x720 (Default) diff --git a/Resolutions/Pikmin3_Resolution/263a134082e695a0_0000000000000000_vs.txt b/Resolutions/Pikmin3_Resolution/263a134082e695a0_0000000000000000_vs.txt index b46a4448..310ac01e 100644 --- a/Resolutions/Pikmin3_Resolution/263a134082e695a0_0000000000000000_vs.txt +++ b/Resolutions/Pikmin3_Resolution/263a134082e695a0_0000000000000000_vs.txt @@ -2,15 +2,40 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 263a134082e695a0 // Used for: Scaling Horizontal Bloom Pass const float resXScale = ($width/$gameWidth); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -93,7 +118,7 @@ PS1f = R2f.z; // 4 R2f.x = R3f.x; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem1 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/Pikmin3_Resolution/4313ad4062c8d8f6_0000000000000000_vs.txt b/Resolutions/Pikmin3_Resolution/4313ad4062c8d8f6_0000000000000000_vs.txt index da7242be..50022f00 100644 --- a/Resolutions/Pikmin3_Resolution/4313ad4062c8d8f6_0000000000000000_vs.txt +++ b/Resolutions/Pikmin3_Resolution/4313ad4062c8d8f6_0000000000000000_vs.txt @@ -2,15 +2,40 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 4313ad4062c8d8f6 // Used for: Scaling Vertical Bloom Pass const float resYScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -102,7 +127,7 @@ R3f.w = PV1f.w; R2f.w = backupReg0f; PS0f = R2f.w; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/Pikmin3_Resolution/ec4a85d51e778437_0000000000000000_vs.txt b/Resolutions/Pikmin3_Resolution/ec4a85d51e778437_0000000000000000_vs.txt index a1033cde..223f0b47 100644 --- a/Resolutions/Pikmin3_Resolution/ec4a85d51e778437_0000000000000000_vs.txt +++ b/Resolutions/Pikmin3_Resolution/ec4a85d51e778437_0000000000000000_vs.txt @@ -2,16 +2,41 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader ec4a85d51e778437 // Used for: Scaling Blur Pass const float resXScale = ($width/$gameWidth); const float resYScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -74,7 +99,7 @@ PS1f = R2f.x; // 2 R2f.w = PV1f.x; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem3 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); // 0 diff --git a/Resolutions/Pikmin3_Resolution/rules.txt b/Resolutions/Pikmin3_Resolution/rules.txt index 8e52c984..df08f19c 100644 --- a/Resolutions/Pikmin3_Resolution/rules.txt +++ b/Resolutions/Pikmin3_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 000500001012BC00,000500001012BD00,000500001012BE00,000500021012BD01,0 name = Resolution path = "Pikmin 3/Graphics/Resolution" description = "Changes the resolution of the game." -version = 3 +version = 4 [Preset] name = 1280x720 (Default) diff --git a/Resolutions/PokkenTournament_Resolution/b2fecd8319ee0096_0000000000079249_ps.txt b/Resolutions/PokkenTournament_Resolution/b2fecd8319ee0096_0000000000079249_ps.txt index 426f2c27..b145d25c 100644 --- a/Resolutions/PokkenTournament_Resolution/b2fecd8319ee0096_0000000000079249_ps.txt +++ b/Resolutions/PokkenTournament_Resolution/b2fecd8319ee0096_0000000000079249_ps.txt @@ -1,20 +1,45 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader b2fecd8319ee0096 // Used for: DoF In-game const float resXScale = ($width*($gameWidth/$renderWidth)/$gameWidth); const float resYScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 5) uniform ufBlock +{ uniform ivec4 uf_remappedPS[4]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4603800 res 960x720x1 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(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf413c800 res 120x72x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf41f9800 res 480x288x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf415c000 res 128x72x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf4166800 res 128x72x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[4]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4603800 res 960x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf413c800 res 120x72x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(4, 1, 2) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf41f9800 res 480x288x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(5, 1, 3) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf415c000 res 128x72x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(6, 1, 4) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf4166800 res 128x72x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem130; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/PokkenTournament_Resolution/fe05aca8e186a5fd_0000000000000079_ps.txt b/Resolutions/PokkenTournament_Resolution/fe05aca8e186a5fd_0000000000000079_ps.txt index c1f21720..c149ad6e 100644 --- a/Resolutions/PokkenTournament_Resolution/fe05aca8e186a5fd_0000000000000079_ps.txt +++ b/Resolutions/PokkenTournament_Resolution/fe05aca8e186a5fd_0000000000000079_ps.txt @@ -1,21 +1,45 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader fe05aca8e186a5fd // Used for: DoF backgrounds const float resXScale = ($width/$gameWidth); const float resYScale = ($height/$gameHeight); -layout(binding = 38, std140) uniform uniformBlockPS6 +UNIFORM_BUFFER_LAYOUT(38, 1, 2) uniform uniformBlockPS6 { vec4 uf_blockPS6[1024]; }; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x33659800 res 640x360x1 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: 0 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x33659800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem136; layout(location = 1) in vec4 passParameterSem130; layout(location = 0) out vec4 passPixelColor0; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; +#endif int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/PokkenTournament_Resolution/rules.txt b/Resolutions/PokkenTournament_Resolution/rules.txt index a31da60b..6bb7cc9f 100644 --- a/Resolutions/PokkenTournament_Resolution/rules.txt +++ b/Resolutions/PokkenTournament_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101DF400,00050002101DF401,00050000101DF500 name = Resolution path = "Pokken Tournament/Graphics/Resolution" description = Changes the resolution of the game. Native Render means that instead of the game rendering at 960x720, it is at a native 1280x720. Known issues: Bloom needs shader edits. -version = 3 +version = 4 [Preset] name = 1280x720 (Default) diff --git a/Resolutions/Runner2_Resolution/4fe1bb2bc0611f15_0000000000000079_ps.txt b/Resolutions/Runner2_Resolution/4fe1bb2bc0611f15_0000000000000079_ps.txt index 87083851..19c93c15 100644 --- a/Resolutions/Runner2_Resolution/4fe1bb2bc0611f15_0000000000000079_ps.txt +++ b/Resolutions/Runner2_Resolution/4fe1bb2bc0611f15_0000000000000079_ps.txt @@ -1,13 +1,38 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 4fe1bb2bc0611f15 // Used for: Horizontal and vertical background blur float resScale = float($width)/float($gameWidth); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[1]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[1]; uniform vec2 uf_fragCoordScale; -layout(binding = 0) uniform sampler2D textureUnitPS0; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; layout(location = 0) out vec4 passPixelColor0; int clampFI32(int v) { @@ -47,7 +72,7 @@ ivec4 ARi = ivec4(0); bool predResult = true; vec3 cubeMapSTM; int cubeMapFaceId; -R0f = vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw); +R0f = GET_FRAGCOORD(); // 0 PV0f.z = R0f.x + 0.5; PV0f.w = R0f.y + 0.5; diff --git a/Resolutions/Runner2_Resolution/rules.txt b/Resolutions/Runner2_Resolution/rules.txt index fc602a2f..c6bf29e6 100644 --- a/Resolutions/Runner2_Resolution/rules.txt +++ b/Resolutions/Runner2_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 000500001011AF00,0005000010136300,00050000101DD600 name = Resolution path = "BIT.TRIP Presents... Runner2: Future Legend of Rhythm Alien/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] name = 1280x720 (Default) diff --git a/Resolutions/SkylandersImaginators_Resolution/3fd22273e2306b43_0000000000000000_vs.txt b/Resolutions/SkylandersImaginators_Resolution/3fd22273e2306b43_0000000000000000_vs.txt index 3589d774..419aabbb 100644 --- a/Resolutions/SkylandersImaginators_Resolution/3fd22273e2306b43_0000000000000000_vs.txt +++ b/Resolutions/SkylandersImaginators_Resolution/3fd22273e2306b43_0000000000000000_vs.txt @@ -2,13 +2,37 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 3fd22273e2306b43 // Used for: Horizontal shadow edge smoothing float resXScale = float($width)/float($gameWidth); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem5; +}; +#else +uniform ivec4 uf_remappedVS[5]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem5; out gl_PerVertex { vec4 gl_Position; @@ -130,7 +154,7 @@ backupReg1f = R2f.y; R2f.xyz = vec3(backupReg0f,backupReg0f,backupReg0f) + vec3(R127f.w,R125f.x,R127f.z); R2f.w = backupReg1f + R125f.y; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem133 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/SkylandersImaginators_Resolution/73111ccc2ffa1907_0000000000000000_vs.txt b/Resolutions/SkylandersImaginators_Resolution/73111ccc2ffa1907_0000000000000000_vs.txt index 275dce30..f32669b0 100644 --- a/Resolutions/SkylandersImaginators_Resolution/73111ccc2ffa1907_0000000000000000_vs.txt +++ b/Resolutions/SkylandersImaginators_Resolution/73111ccc2ffa1907_0000000000000000_vs.txt @@ -2,13 +2,37 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 73111ccc2ffa1907 // Used for: Fixing shadow smoothing resolution float resXScale = float($width)/float($gameWidth); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[6]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem5; +}; +#else +uniform ivec4 uf_remappedVS[6]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem5; out gl_PerVertex { vec4 gl_Position; @@ -105,7 +129,7 @@ R2f.x /= 2.0; R2f.y = intBitsToFloat(uf_remappedVS[5].w); R2f.y /= 2.0; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem134 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/SkylandersImaginators_Resolution/bc5cb1edf2b7da65_0000000000000000_vs.txt b/Resolutions/SkylandersImaginators_Resolution/bc5cb1edf2b7da65_0000000000000000_vs.txt index ea3b57b2..ceba7c6f 100644 --- a/Resolutions/SkylandersImaginators_Resolution/bc5cb1edf2b7da65_0000000000000000_vs.txt +++ b/Resolutions/SkylandersImaginators_Resolution/bc5cb1edf2b7da65_0000000000000000_vs.txt @@ -2,13 +2,37 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader bc5cb1edf2b7da65 // Used for: Vertical shadow edge smoothing float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem5; +}; +#else +uniform ivec4 uf_remappedVS[5]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem5; out gl_PerVertex { vec4 gl_Position; @@ -127,7 +151,7 @@ PS0f = R4f.y; R4f.z = R125f.x + R2f.y; R4f.w = R126f.y + R2f.y; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem133 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/SkylandersImaginators_Resolution/rules.txt b/Resolutions/SkylandersImaginators_Resolution/rules.txt index 6f4db84c..012c84f4 100644 --- a/Resolutions/SkylandersImaginators_Resolution/rules.txt +++ b/Resolutions/SkylandersImaginators_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101F4D00,00050000101FB100 name = Resolution path = "Skylanders Imaginators/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] name = 1280x720 (Default) diff --git a/Resolutions/SkylandersTrapTeam_Resolution/4f04d8903ea4256a_0000000000000079_ps.txt b/Resolutions/SkylandersTrapTeam_Resolution/4f04d8903ea4256a_0000000000000079_ps.txt index 459a5802..9c0541c0 100644 --- a/Resolutions/SkylandersTrapTeam_Resolution/4f04d8903ea4256a_0000000000000079_ps.txt +++ b/Resolutions/SkylandersTrapTeam_Resolution/4f04d8903ea4256a_0000000000000079_ps.txt @@ -1,13 +1,38 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 4f04d8903ea4256a // Used for: Horizontal bloom blur float resXScale = float($width)/float($gameWidth); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[1]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[1]; uniform vec2 uf_fragCoordScale; -layout(binding = 0) uniform sampler2D textureUnitPS0; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; layout(location = 0) in vec4 passParameterSem133; layout(location = 0) out vec4 passPixelColor0; int clampFI32(int v) diff --git a/Resolutions/SkylandersTrapTeam_Resolution/52c4522be0df98da_0000000000000000_vs.txt b/Resolutions/SkylandersTrapTeam_Resolution/52c4522be0df98da_0000000000000000_vs.txt index 3c7625fc..475757f1 100644 --- a/Resolutions/SkylandersTrapTeam_Resolution/52c4522be0df98da_0000000000000000_vs.txt +++ b/Resolutions/SkylandersTrapTeam_Resolution/52c4522be0df98da_0000000000000000_vs.txt @@ -2,13 +2,37 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 52c4522be0df98da // Used for: Fixing shadow resolution float resScale = float($width)/float($gameWidth); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[6]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem5; +}; +#else +uniform ivec4 uf_remappedVS[6]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem5; out gl_PerVertex { vec4 gl_Position; @@ -109,7 +133,7 @@ R3f.x /= 2.0; R3f.y = intBitsToFloat(uf_remappedVS[5].w); R3f.y /= 2.0; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem133 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); // export diff --git a/Resolutions/SkylandersTrapTeam_Resolution/74681a5c2af57975_0000000000000079_ps.txt b/Resolutions/SkylandersTrapTeam_Resolution/74681a5c2af57975_0000000000000079_ps.txt index 92399fba..bff3aba6 100644 --- a/Resolutions/SkylandersTrapTeam_Resolution/74681a5c2af57975_0000000000000079_ps.txt +++ b/Resolutions/SkylandersTrapTeam_Resolution/74681a5c2af57975_0000000000000079_ps.txt @@ -1,13 +1,38 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 74681a5c2af57975 // Used for: Vertical bloom blur float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[1]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[1]; uniform vec2 uf_fragCoordScale; -layout(binding = 0) uniform sampler2D textureUnitPS0; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; layout(location = 0) in vec4 passParameterSem133; layout(location = 0) out vec4 passPixelColor0; int clampFI32(int v) diff --git a/Resolutions/SkylandersTrapTeam_Resolution/b262de99418ca791_0000000000000000_vs.txt b/Resolutions/SkylandersTrapTeam_Resolution/b262de99418ca791_0000000000000000_vs.txt index 3c7625fc..475757f1 100644 --- a/Resolutions/SkylandersTrapTeam_Resolution/b262de99418ca791_0000000000000000_vs.txt +++ b/Resolutions/SkylandersTrapTeam_Resolution/b262de99418ca791_0000000000000000_vs.txt @@ -2,13 +2,37 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 52c4522be0df98da // Used for: Fixing shadow resolution float resScale = float($width)/float($gameWidth); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[6]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem5; +}; +#else +uniform ivec4 uf_remappedVS[6]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem5; out gl_PerVertex { vec4 gl_Position; @@ -109,7 +133,7 @@ R3f.x /= 2.0; R3f.y = intBitsToFloat(uf_remappedVS[5].w); R3f.y /= 2.0; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem133 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); // export diff --git a/Resolutions/SkylandersTrapTeam_Resolution/b6bb4d6527f56601_0000000000000000_vs.txt b/Resolutions/SkylandersTrapTeam_Resolution/b6bb4d6527f56601_0000000000000000_vs.txt index 6b9c66b4..25be0d63 100644 --- a/Resolutions/SkylandersTrapTeam_Resolution/b6bb4d6527f56601_0000000000000000_vs.txt +++ b/Resolutions/SkylandersTrapTeam_Resolution/b6bb4d6527f56601_0000000000000000_vs.txt @@ -2,13 +2,37 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader b6bb4d6527f56601 // Used for: Vertical shadow edge smoothing float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem5; +}; +#else +uniform ivec4 uf_remappedVS[5]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem5; out gl_PerVertex { vec4 gl_Position; @@ -127,7 +151,7 @@ PS0f = R4f.y; R4f.z = R125f.x + R2f.y; R4f.w = R126f.y + R2f.y; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem133 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/SkylandersTrapTeam_Resolution/e2a33ddb22abbc43_0000000000000000_vs.txt b/Resolutions/SkylandersTrapTeam_Resolution/e2a33ddb22abbc43_0000000000000000_vs.txt index a9ebd350..035f5809 100644 --- a/Resolutions/SkylandersTrapTeam_Resolution/e2a33ddb22abbc43_0000000000000000_vs.txt +++ b/Resolutions/SkylandersTrapTeam_Resolution/e2a33ddb22abbc43_0000000000000000_vs.txt @@ -2,13 +2,37 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader e2a33ddb22abbc43 // Used for: Horizontal shadow edge smoothing float resXScale = float($width)/float($gameWidth); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem5; +}; +#else +uniform ivec4 uf_remappedVS[5]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem5; out gl_PerVertex { vec4 gl_Position; @@ -130,7 +154,7 @@ backupReg1f = R2f.y; R2f.xyz = vec3(backupReg0f,backupReg0f,backupReg0f) + vec3(R127f.w,R125f.x,R127f.z); R2f.w = backupReg1f + R125f.y; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem133 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/SkylandersTrapTeam_Resolution/rules.txt b/Resolutions/SkylandersTrapTeam_Resolution/rules.txt index c50e2dbf..8fb32774 100644 --- a/Resolutions/SkylandersTrapTeam_Resolution/rules.txt +++ b/Resolutions/SkylandersTrapTeam_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 000500001017C600,0005000010181F00 name = Resolution path = "Skylanders Trap Team/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] name = 1280x720 (Default) diff --git a/Resolutions/SonicLostWorld_Resolution/2fc311c50a4dab95_0000000000000000_vs.txt b/Resolutions/SonicLostWorld_Resolution/2fc311c50a4dab95_0000000000000000_vs.txt index 1ad34c41..54e61fef 100644 --- a/Resolutions/SonicLostWorld_Resolution/2fc311c50a4dab95_0000000000000000_vs.txt +++ b/Resolutions/SonicLostWorld_Resolution/2fc311c50a4dab95_0000000000000000_vs.txt @@ -2,17 +2,42 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 2fc311c50a4dab95 // text shader 1 float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[9]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem3; -layout(location = 2) in uvec4 attrDataSem4; -layout(location = 3) in uvec4 attrDataSem8; -layout(location = 4) in uvec4 attrDataSem9; +}; +#else +uniform ivec4 uf_remappedVS[9]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem9; out gl_PerVertex { vec4 gl_Position; @@ -147,7 +172,7 @@ R1f.y = mul_nonIEEE(intBitsToFloat(uf_remappedVS[8].z), backupReg0f); R1f.z = mul_nonIEEE(intBitsToFloat(uf_remappedVS[8].w), backupReg1f); R1f.w = mul_nonIEEE(intBitsToFloat(uf_remappedVS[8].x), backupReg2f); // export -gl_Position = vec4(R5f.x*(origRatio/newRatio), R5f.y, R5f.z, R5f.w); +SET_POSITION(vec4(R5f.x*(origRatio/newRatio), R5f.y, R5f.z, R5f.w)); // export passParameterSem131 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); // export diff --git a/Resolutions/SonicLostWorld_Resolution/384f98693cb9d036_0000000000000000_vs.txt b/Resolutions/SonicLostWorld_Resolution/384f98693cb9d036_0000000000000000_vs.txt index f10d08f7..a2938a19 100644 --- a/Resolutions/SonicLostWorld_Resolution/384f98693cb9d036_0000000000000000_vs.txt +++ b/Resolutions/SonicLostWorld_Resolution/384f98693cb9d036_0000000000000000_vs.txt @@ -2,17 +2,42 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 384f98693cb9d036 // ui shader 2 float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[4]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem3; -layout(location = 2) in uvec4 attrDataSem4; -layout(location = 3) in uvec4 attrDataSem8; -layout(location = 4) in uvec4 attrDataSem9; +}; +#else +uniform ivec4 uf_remappedVS[4]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem9; out gl_PerVertex { vec4 gl_Position; @@ -112,7 +137,7 @@ PS1f = R0f.w; R4f.z = R5f.x; R4f.w = R5f.y; // export -gl_Position = vec4(R3f.x*(origRatio/newRatio), R3f.y, R3f.z, R3f.w); +SET_POSITION(vec4(R3f.x*(origRatio/newRatio), R3f.y, R3f.z, R3f.w)); // export passParameterSem131 = vec4(R1f.w, R1f.x, R1f.y, R1f.z); // export diff --git a/Resolutions/SonicLostWorld_Resolution/384f98696d1a1236_0000000000000000_vs.txt b/Resolutions/SonicLostWorld_Resolution/384f98696d1a1236_0000000000000000_vs.txt index df0ee6c9..7c76b054 100644 --- a/Resolutions/SonicLostWorld_Resolution/384f98696d1a1236_0000000000000000_vs.txt +++ b/Resolutions/SonicLostWorld_Resolution/384f98696d1a1236_0000000000000000_vs.txt @@ -2,17 +2,42 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 384f98696d1a1236 // ui shader 1 float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[4]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem3; -layout(location = 2) in uvec4 attrDataSem4; -layout(location = 3) in uvec4 attrDataSem8; -layout(location = 4) in uvec4 attrDataSem9; +}; +#else +uniform ivec4 uf_remappedVS[4]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem9; out gl_PerVertex { vec4 gl_Position; @@ -113,7 +138,7 @@ PS1f = R0f.w; R4f.z = R5f.x; R4f.w = R5f.y; // export -gl_Position = vec4(R3f.x*(origRatio/newRatio), R3f.y, R3f.z, R3f.w); +SET_POSITION(vec4(R3f.x*(origRatio/newRatio), R3f.y, R3f.z, R3f.w)); // export passParameterSem131 = vec4(R1f.w, R1f.x, R1f.y, R1f.z); // export diff --git a/Resolutions/SonicLostWorld_Resolution/3952c3a52c87ad30_0000000000000000_vs.txt b/Resolutions/SonicLostWorld_Resolution/3952c3a52c87ad30_0000000000000000_vs.txt index 086756ca..49d4180f 100644 --- a/Resolutions/SonicLostWorld_Resolution/3952c3a52c87ad30_0000000000000000_vs.txt +++ b/Resolutions/SonicLostWorld_Resolution/3952c3a52c87ad30_0000000000000000_vs.txt @@ -2,13 +2,37 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 3952c3a52c87ad30 // video shader float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem8; +}; +#else +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -54,7 +78,7 @@ backupReg1f = R2f.y; R2f.x = backupReg0f; R2f.y = backupReg1f; // export -gl_Position = vec4(R1f.x*(origRatio/newRatio), R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x*(origRatio/newRatio), R1f.y, R1f.z, R1f.w)); // export passParameterSem136 = vec4(R2f.x, R2f.y, R2f.z, R2f.z); // 0 diff --git a/Resolutions/SonicLostWorld_Resolution/419dbf0c732a4fe2_0000000000000000_vs.txt b/Resolutions/SonicLostWorld_Resolution/419dbf0c732a4fe2_0000000000000000_vs.txt index cf9c694d..5e2f1ca1 100644 --- a/Resolutions/SonicLostWorld_Resolution/419dbf0c732a4fe2_0000000000000000_vs.txt +++ b/Resolutions/SonicLostWorld_Resolution/419dbf0c732a4fe2_0000000000000000_vs.txt @@ -2,17 +2,42 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 419dbf0c732a4fe2 // ui shader 3 float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem3; -layout(location = 2) in uvec4 attrDataSem4; -layout(location = 3) in uvec4 attrDataSem8; -layout(location = 4) in uvec4 attrDataSem9; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem9; out gl_PerVertex { vec4 gl_Position; @@ -95,7 +120,7 @@ PV1f.w *= 2.0; R3f.x = PV1f.w + -(1.0); R3f.y = -(PV1f.x); // export -gl_Position = vec4(R3f.x*(origRatio/newRatio), R3f.y, R3f.z, R3f.w); +SET_POSITION(vec4(R3f.x*(origRatio/newRatio), R3f.y, R3f.z, R3f.w)); // export passParameterSem131 = vec4(R1f.w, R1f.x, R1f.y, R1f.z); // export diff --git a/Resolutions/SonicLostWorld_Resolution/419dbf0c732a51e2_0000000000000000_vs.txt b/Resolutions/SonicLostWorld_Resolution/419dbf0c732a51e2_0000000000000000_vs.txt index 1ea08c91..685b1e1a 100644 --- a/Resolutions/SonicLostWorld_Resolution/419dbf0c732a51e2_0000000000000000_vs.txt +++ b/Resolutions/SonicLostWorld_Resolution/419dbf0c732a51e2_0000000000000000_vs.txt @@ -2,17 +2,42 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 419dbf0c732a51e2 // text shader 3 float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem3; -layout(location = 2) in uvec4 attrDataSem4; -layout(location = 3) in uvec4 attrDataSem8; -layout(location = 4) in uvec4 attrDataSem9; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem9; out gl_PerVertex { vec4 gl_Position; @@ -95,7 +120,7 @@ PV1f.w *= 2.0; R3f.x = PV1f.w + -(1.0); R3f.y = -(PV1f.x); // export -gl_Position = vec4(R3f.x*(origRatio/newRatio), R3f.y, R3f.z, R3f.w); +SET_POSITION(vec4(R3f.x*(origRatio/newRatio), R3f.y, R3f.z, R3f.w)); // export passParameterSem131 = vec4(R1f.w, R1f.x, R1f.y, R1f.z); // export diff --git a/Resolutions/SonicLostWorld_Resolution/419dbf0c732a91e2_0000000000000000_vs.txt b/Resolutions/SonicLostWorld_Resolution/419dbf0c732a91e2_0000000000000000_vs.txt index 1cc4bc97..7715f7ae 100644 --- a/Resolutions/SonicLostWorld_Resolution/419dbf0c732a91e2_0000000000000000_vs.txt +++ b/Resolutions/SonicLostWorld_Resolution/419dbf0c732a91e2_0000000000000000_vs.txt @@ -2,17 +2,42 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 419dbf0c732a91e2 // text shader 2 float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem3; -layout(location = 2) in uvec4 attrDataSem4; -layout(location = 3) in uvec4 attrDataSem8; -layout(location = 4) in uvec4 attrDataSem9; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem9; out gl_PerVertex { vec4 gl_Position; @@ -95,7 +120,7 @@ PV1f.w *= 2.0; R3f.x = PV1f.w + -(1.0); R3f.y = -(PV1f.x); // export -gl_Position = vec4(R3f.x*(origRatio/newRatio), R3f.y, R3f.z, R3f.w); +SET_POSITION(vec4(R3f.x*(origRatio/newRatio), R3f.y, R3f.z, R3f.w)); // export // skipped export to semanticId 255 // export diff --git a/Resolutions/SonicLostWorld_Resolution/419dbf0ca38a91e2_0000000000000000_vs.txt b/Resolutions/SonicLostWorld_Resolution/419dbf0ca38a91e2_0000000000000000_vs.txt index 8694a490..5e052496 100644 --- a/Resolutions/SonicLostWorld_Resolution/419dbf0ca38a91e2_0000000000000000_vs.txt +++ b/Resolutions/SonicLostWorld_Resolution/419dbf0ca38a91e2_0000000000000000_vs.txt @@ -2,17 +2,42 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 419dbf0ca38a91e2 // ui shader 4 float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem3; -layout(location = 2) in uvec4 attrDataSem4; -layout(location = 3) in uvec4 attrDataSem8; -layout(location = 4) in uvec4 attrDataSem9; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem9; out gl_PerVertex { vec4 gl_Position; @@ -96,7 +121,7 @@ PV1f.w *= 2.0; R3f.x = PV1f.w + -(1.0); R3f.y = -(PV1f.x); // export -gl_Position = vec4(R3f.x*(origRatio/newRatio), R3f.y, R3f.z, R3f.w); +SET_POSITION(vec4(R3f.x*(origRatio/newRatio), R3f.y, R3f.z, R3f.w)); // export passParameterSem131 = vec4(R1f.w, R1f.x, R1f.y, R1f.z); // export diff --git a/Resolutions/SonicLostWorld_Resolution/58cf1eb8946f4b3c_0000000000000079_ps.txt b/Resolutions/SonicLostWorld_Resolution/58cf1eb8946f4b3c_0000000000000079_ps.txt index 0495805f..8b3e9372 100644 --- a/Resolutions/SonicLostWorld_Resolution/58cf1eb8946f4b3c_0000000000000079_ps.txt +++ b/Resolutions/SonicLostWorld_Resolution/58cf1eb8946f4b3c_0000000000000079_ps.txt @@ -1,14 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 58cf1eb8946f4b3c const float resXScale = ($width/$gameWidth); const float resYScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[3]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4aec000 res 640x360x1 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: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4aec000 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem136; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/SonicLostWorld_Resolution/79183302695ea935_0000000000000079_ps.txt b/Resolutions/SonicLostWorld_Resolution/79183302695ea935_0000000000000079_ps.txt index 44c92454..f06ac04e 100644 --- a/Resolutions/SonicLostWorld_Resolution/79183302695ea935_0000000000000079_ps.txt +++ b/Resolutions/SonicLostWorld_Resolution/79183302695ea935_0000000000000079_ps.txt @@ -1,14 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 79183302695ea935 const float resXScale = ($width/$gameWidth); const float resYScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem136; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/SonicLostWorld_Resolution/92e5b6dffd1d9b9b_0000000000000079_ps.txt b/Resolutions/SonicLostWorld_Resolution/92e5b6dffd1d9b9b_0000000000000079_ps.txt index 58b1920b..c94c9844 100644 --- a/Resolutions/SonicLostWorld_Resolution/92e5b6dffd1d9b9b_0000000000000079_ps.txt +++ b/Resolutions/SonicLostWorld_Resolution/92e5b6dffd1d9b9b_0000000000000079_ps.txt @@ -1,14 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 92e5b6dffd1d9b9b const float resXScale = ($width/$gameWidth); const float resYScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[30]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x18fda000 res 160x90x1 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: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[30]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x18fda000 res 160x90x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem136; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/SonicLostWorld_Resolution/a455fc196032912c_0000000000000079_ps.txt b/Resolutions/SonicLostWorld_Resolution/a455fc196032912c_0000000000000079_ps.txt index bad2db3b..02990461 100644 --- a/Resolutions/SonicLostWorld_Resolution/a455fc196032912c_0000000000000079_ps.txt +++ b/Resolutions/SonicLostWorld_Resolution/a455fc196032912c_0000000000000079_ps.txt @@ -1,14 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader a455fc196032912c const float resXScale = ($width/$gameWidth); const float resYScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e48000 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e48000 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem136; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/SonicLostWorld_Resolution/rules.txt b/Resolutions/SonicLostWorld_Resolution/rules.txt index 184da0cc..80749bba 100644 --- a/Resolutions/SonicLostWorld_Resolution/rules.txt +++ b/Resolutions/SonicLostWorld_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010135700,000500001012B100,0005000010128F00 name = Resolution path = "Sonic Lost World/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] name = 1280x720 (Default) diff --git a/Resolutions/Splatoon_Resolution/0b9b8f5dfa16ad58_0000000000000000_vs.txt b/Resolutions/Splatoon_Resolution/0b9b8f5dfa16ad58_0000000000000000_vs.txt index b92d6169..27c26d1a 100644 --- a/Resolutions/Splatoon_Resolution/0b9b8f5dfa16ad58_0000000000000000_vs.txt +++ b/Resolutions/Splatoon_Resolution/0b9b8f5dfa16ad58_0000000000000000_vs.txt @@ -1,14 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 0b9b8f5dfa16ad58 // Used for: Horizontal Menu Blur Pass const float resXScale = ($width/$gameWidth); const float resYScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; +}; +#else +uniform ivec4 uf_remappedVS[5]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; out gl_PerVertex { vec4 gl_Position; @@ -104,7 +129,7 @@ R1f.y = PV1f.z + -(R126f.x); R1f.z = PV1f.z + R126f.x; R1f.w = PV1f.z; // export -gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +SET_POSITION(vec4(R0f.x, R0f.y, R0f.z, R0f.w)); // export passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); } diff --git a/Resolutions/Splatoon_Resolution/5c1761d13feccdff_0000000000000000_vs.txt b/Resolutions/Splatoon_Resolution/5c1761d13feccdff_0000000000000000_vs.txt index d3534025..21eaa1cf 100644 --- a/Resolutions/Splatoon_Resolution/5c1761d13feccdff_0000000000000000_vs.txt +++ b/Resolutions/Splatoon_Resolution/5c1761d13feccdff_0000000000000000_vs.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 5c1761d13feccdff // Used for: Background DoF const float resXScale = ($width/$gameWidth); const float resYScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -72,7 +97,7 @@ PS1f = R2f.x; // 2 R2f.w = PV1f.x; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem3 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); } diff --git a/Resolutions/Splatoon_Resolution/6f5412f28bd716e8_0000000000000000_vs.txt b/Resolutions/Splatoon_Resolution/6f5412f28bd716e8_0000000000000000_vs.txt index 65412af6..9d7a2059 100644 --- a/Resolutions/Splatoon_Resolution/6f5412f28bd716e8_0000000000000000_vs.txt +++ b/Resolutions/Splatoon_Resolution/6f5412f28bd716e8_0000000000000000_vs.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 6f5412f28bd716e8 // Used for: Horizontal Bloom Pass const float resXScale = ($width/$gameWidth); const float resYScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -92,7 +117,7 @@ PS1f = R2f.z; // 4 R4f.xzw = vec3(R2f.x,PS1f,R2f.y); // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/Splatoon_Resolution/a0bda935c83e6f2a_0000000000000000_vs.txt b/Resolutions/Splatoon_Resolution/a0bda935c83e6f2a_0000000000000000_vs.txt index 462de81a..2837e024 100644 --- a/Resolutions/Splatoon_Resolution/a0bda935c83e6f2a_0000000000000000_vs.txt +++ b/Resolutions/Splatoon_Resolution/a0bda935c83e6f2a_0000000000000000_vs.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader a0bda935c83e6f2a // Used for: Vertical Bloom Pass const float resXScale = ($width/$gameWidth); const float resYScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -90,7 +115,7 @@ R2f.y = backupReg0f + -(R126f.y); R2f.z = backupReg0f + R126f.y; R2f.w = backupReg0f; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem1 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/Splatoon_Resolution/ae5bf21625f134f3_0000000000000000_vs.txt b/Resolutions/Splatoon_Resolution/ae5bf21625f134f3_0000000000000000_vs.txt index 42804037..4feb6aed 100644 --- a/Resolutions/Splatoon_Resolution/ae5bf21625f134f3_0000000000000000_vs.txt +++ b/Resolutions/Splatoon_Resolution/ae5bf21625f134f3_0000000000000000_vs.txt @@ -2,13 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader ae5bf21625f134f3 // Used for: Squid Sisters TV float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[7]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; +}; +#else +uniform ivec4 uf_remappedVS[7]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; out gl_PerVertex { vec4 gl_Position; @@ -121,7 +146,7 @@ PV1f.z = R123f.z; // 10 R1f.y = (mul_nonIEEE(PV1f.z,intBitsToFloat(uf_remappedVS[6].y)) + 0.5); // export -gl_Position = vec4(R0f.x/(origRatio/newRatio), R0f.y, R0f.z, R0f.w); +SET_POSITION(vec4(R0f.x/(origRatio/newRatio), R0f.y, R0f.z, R0f.w)); // export passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.z); } diff --git a/Resolutions/Splatoon_Resolution/fc3e63a2007625f8_0000000000000000_vs.txt b/Resolutions/Splatoon_Resolution/fc3e63a2007625f8_0000000000000000_vs.txt index e5813743..08234d0b 100644 --- a/Resolutions/Splatoon_Resolution/fc3e63a2007625f8_0000000000000000_vs.txt +++ b/Resolutions/Splatoon_Resolution/fc3e63a2007625f8_0000000000000000_vs.txt @@ -1,14 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader fc3e63a2007625f8 // Used for: Vertical Menu Blur Pass const float resXScale = ($width/$gameWidth); const float resYScale = ($height/$gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; +}; +#else +uniform ivec4 uf_remappedVS[5]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; out gl_PerVertex { vec4 gl_Position; @@ -101,7 +126,7 @@ R1f.y = PV1f.y + -(R126f.x); R1f.z = PV1f.y + R126f.x; R1f.w = PV1f.y; // export -gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +SET_POSITION(vec4(R0f.x, R0f.y, R0f.z, R0f.w)); // export passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); } diff --git a/Resolutions/Splatoon_Resolution/rules.txt b/Resolutions/Splatoon_Resolution/rules.txt index a0b4dc07..1259ca90 100644 --- a/Resolutions/Splatoon_Resolution/rules.txt +++ b/Resolutions/Splatoon_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010176900,0005000010176A00,0005000010162B00 name = Resolution path = "Splatoon/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] name = 1280x720 (Default) diff --git a/Resolutions/StarFoxZero_Resolution/43b6693ca98767b2_0000000000000079_ps.txt b/Resolutions/StarFoxZero_Resolution/43b6693ca98767b2_0000000000000079_ps.txt index 3e35dc6e..3ba29db8 100644 --- a/Resolutions/StarFoxZero_Resolution/43b6693ca98767b2_0000000000000079_ps.txt +++ b/Resolutions/StarFoxZero_Resolution/43b6693ca98767b2_0000000000000079_ps.txt @@ -1,11 +1,35 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 43b6693ca98767b2 - Gamepad AA -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4fa8800 res 854x480x1 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: 0 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4fa8800 res 854x480x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem133; layout(location = 0) out vec4 passPixelColor0; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; +#endif int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/StarFoxZero_Resolution/78a2659662685d55_0000000000000079_ps.txt b/Resolutions/StarFoxZero_Resolution/78a2659662685d55_0000000000000079_ps.txt index 07fe96c4..c63daed0 100644 --- a/Resolutions/StarFoxZero_Resolution/78a2659662685d55_0000000000000079_ps.txt +++ b/Resolutions/StarFoxZero_Resolution/78a2659662685d55_0000000000000079_ps.txt @@ -1,11 +1,35 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 78a2659662685d55 - TV AA -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4fa8800 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: 0 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4fa8800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem133; layout(location = 0) out vec4 passPixelColor0; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; +#endif int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/StarFoxZero_Resolution/rules.txt b/Resolutions/StarFoxZero_Resolution/rules.txt index 5c78098e..4998b2cc 100644 --- a/Resolutions/StarFoxZero_Resolution/rules.txt +++ b/Resolutions/StarFoxZero_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101B0400,00050000101B0500 name = Resolution path = "Star Fox Zero/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] name = 1280x720 (Default) diff --git a/Resolutions/SuperMario3DWorld_Resolution/1f83c0d47b1c4c34_0000000000000000_vs.txt b/Resolutions/SuperMario3DWorld_Resolution/1f83c0d47b1c4c34_0000000000000000_vs.txt index c1971947..b66d9b74 100644 --- a/Resolutions/SuperMario3DWorld_Resolution/1f83c0d47b1c4c34_0000000000000000_vs.txt +++ b/Resolutions/SuperMario3DWorld_Resolution/1f83c0d47b1c4c34_0000000000000000_vs.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 1f83c0d47b1c4c34 // Used for: Background Blur const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -72,7 +97,7 @@ PS1f = R2f.x; // 2 R2f.w = PV1f.x; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem3 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); // 0 diff --git a/Resolutions/SuperMario3DWorld_Resolution/280351fcf8e5949f_0000000000000000_vs.txt b/Resolutions/SuperMario3DWorld_Resolution/280351fcf8e5949f_0000000000000000_vs.txt index 9e39197b..412f355a 100644 --- a/Resolutions/SuperMario3DWorld_Resolution/280351fcf8e5949f_0000000000000000_vs.txt +++ b/Resolutions/SuperMario3DWorld_Resolution/280351fcf8e5949f_0000000000000000_vs.txt @@ -2,15 +2,40 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 280351fcf8e5949f // Used for: Another vertical blur const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -71,7 +96,7 @@ R2f.y = backupReg0f + -(PS0f); R2f.z = backupReg0f + PS0f; R2f.w = backupReg0f; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); // 0 diff --git a/Resolutions/SuperMario3DWorld_Resolution/470eee1bb25ab50d_0000000000000000_vs.txt b/Resolutions/SuperMario3DWorld_Resolution/470eee1bb25ab50d_0000000000000000_vs.txt index 9f012afb..fc174b88 100644 --- a/Resolutions/SuperMario3DWorld_Resolution/470eee1bb25ab50d_0000000000000000_vs.txt +++ b/Resolutions/SuperMario3DWorld_Resolution/470eee1bb25ab50d_0000000000000000_vs.txt @@ -9,14 +9,38 @@ #else #define SET_POSITION(_v) gl_Position = _v #endif +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 470eee1bb25ab50d // low res reflection const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; diff --git a/Resolutions/SuperMario3DWorld_Resolution/4c426260188ace42_0000000000000000_vs.txt b/Resolutions/SuperMario3DWorld_Resolution/4c426260188ace42_0000000000000000_vs.txt index 83ac0b2c..95007027 100644 --- a/Resolutions/SuperMario3DWorld_Resolution/4c426260188ace42_0000000000000000_vs.txt +++ b/Resolutions/SuperMario3DWorld_Resolution/4c426260188ace42_0000000000000000_vs.txt @@ -9,13 +9,37 @@ #else #define SET_POSITION(_v) gl_Position = _v #endif +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 4c426260188ace42 //switch palace reflection vertical const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; -layout(location = 0) in uvec4 attrDataSem0; +}; +#else +uniform ivec4 uf_remappedVS[5]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; out gl_PerVertex { vec4 gl_Position; diff --git a/Resolutions/SuperMario3DWorld_Resolution/5661793d88425685_0000000007fffff9_ps.txt b/Resolutions/SuperMario3DWorld_Resolution/5661793d88425685_0000000007fffff9_ps.txt index 2bd0a3ca..46ad6f92 100644 --- a/Resolutions/SuperMario3DWorld_Resolution/5661793d88425685_0000000007fffff9_ps.txt +++ b/Resolutions/SuperMario3DWorld_Resolution/5661793d88425685_0000000007fffff9_ps.txt @@ -1,12 +1,38 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 5661793d88425685 // Used for: First glitter bloom pass const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[7]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4f48800 res 320x180x1 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: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[7]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4f48800 res 320x180x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; @@ -14,7 +40,6 @@ layout(location = 2) out vec4 passPixelColor2; layout(location = 3) out vec4 passPixelColor3; layout(location = 4) out vec4 passPixelColor4; layout(location = 5) out vec4 passPixelColor5; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/SuperMario3DWorld_Resolution/6d9067fd20086bc0_0000000000000000_vs.txt b/Resolutions/SuperMario3DWorld_Resolution/6d9067fd20086bc0_0000000000000000_vs.txt index 4f1fad66..541d9d5d 100644 --- a/Resolutions/SuperMario3DWorld_Resolution/6d9067fd20086bc0_0000000000000000_vs.txt +++ b/Resolutions/SuperMario3DWorld_Resolution/6d9067fd20086bc0_0000000000000000_vs.txt @@ -2,15 +2,40 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 6d9067fd20086bc0 // Used for: Vertical blur const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -77,7 +102,7 @@ PS1f = R4f.x; R3f.x = PV1f.z; R4f.y = R2f.y; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.z); // export diff --git a/Resolutions/SuperMario3DWorld_Resolution/842a19b509f8b91a_0000000000000000_vs.txt b/Resolutions/SuperMario3DWorld_Resolution/842a19b509f8b91a_0000000000000000_vs.txt index 81cdee3b..a39dcf44 100644 --- a/Resolutions/SuperMario3DWorld_Resolution/842a19b509f8b91a_0000000000000000_vs.txt +++ b/Resolutions/SuperMario3DWorld_Resolution/842a19b509f8b91a_0000000000000000_vs.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 842a19b509f8b91a // Used for: General Blur vertical const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -92,7 +117,7 @@ PS1f = R2f.z; // 4 R4f.xzw = vec3(R2f.x,PS1f,R2f.y); // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/SuperMario3DWorld_Resolution/8d68a0e3561ff525_0000000000000000_vs.txt b/Resolutions/SuperMario3DWorld_Resolution/8d68a0e3561ff525_0000000000000000_vs.txt index 17a68cce..a05c21ae 100644 --- a/Resolutions/SuperMario3DWorld_Resolution/8d68a0e3561ff525_0000000000000000_vs.txt +++ b/Resolutions/SuperMario3DWorld_Resolution/8d68a0e3561ff525_0000000000000000_vs.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 8d68a0e3561ff525 // Used for: Horizontal Gameplay Blur const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -90,7 +115,7 @@ R2f.y = backupReg0f + -(R126f.y); R2f.z = backupReg0f + R126f.y; R2f.w = backupReg0f; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem1 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/SuperMario3DWorld_Resolution/b727c08e3b534992_0000000007fffffd_ps.txt b/Resolutions/SuperMario3DWorld_Resolution/b727c08e3b534992_0000000007fffffd_ps.txt index 01879f11..fdb29a26 100644 --- a/Resolutions/SuperMario3DWorld_Resolution/b727c08e3b534992_0000000007fffffd_ps.txt +++ b/Resolutions/SuperMario3DWorld_Resolution/b727c08e3b534992_0000000007fffffd_ps.txt @@ -1,12 +1,38 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader b727c08e3b534992 // Used for: Second glitter bloom pass const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[10]; -layout(binding = 1) uniform sampler2DArray textureUnitPS1;// Tex1 addr 0xf50ed800 res 320x180x6 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x6) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[10]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2DArray textureUnitPS1;// Tex1 addr 0xf50ed800 res 320x180x6 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; @@ -14,7 +40,6 @@ layout(location = 2) out vec4 passPixelColor2; layout(location = 3) out vec4 passPixelColor3; layout(location = 4) out vec4 passPixelColor4; layout(location = 5) out vec4 passPixelColor5; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/SuperMario3DWorld_Resolution/be99d80628d31127_00000000000003c9_ps.txt b/Resolutions/SuperMario3DWorld_Resolution/be99d80628d31127_00000000000003c9_ps.txt index 0f5f7a25..035e0a78 100644 --- a/Resolutions/SuperMario3DWorld_Resolution/be99d80628d31127_00000000000003c9_ps.txt +++ b/Resolutions/SuperMario3DWorld_Resolution/be99d80628d31127_00000000000003c9_ps.txt @@ -1,17 +1,42 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader be99d80628d31127 //AA PS // Used for: Another vertical blur const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[4]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5800800 res 1280x720x1 dim 1 tm: 4 format 0019 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 0xf4341000 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 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[4]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5800800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4341000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem2; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/SuperMario3DWorld_Resolution/c27612e2f7126ebf_0000000000000000_vs.txt b/Resolutions/SuperMario3DWorld_Resolution/c27612e2f7126ebf_0000000000000000_vs.txt index a8301553..1f950c45 100644 --- a/Resolutions/SuperMario3DWorld_Resolution/c27612e2f7126ebf_0000000000000000_vs.txt +++ b/Resolutions/SuperMario3DWorld_Resolution/c27612e2f7126ebf_0000000000000000_vs.txt @@ -9,13 +9,37 @@ #else #define SET_POSITION(_v) gl_Position = _v #endif +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader c27612e2f7126ebf //switch palace low res reflection 256x240 / 240x240 hz const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; -layout(location = 0) in uvec4 attrDataSem0; +}; +#else +uniform ivec4 uf_remappedVS[5]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; out gl_PerVertex { vec4 gl_Position; diff --git a/Resolutions/SuperMario3DWorld_Resolution/c4eaec09897d525e_0000000000000000_vs.txt b/Resolutions/SuperMario3DWorld_Resolution/c4eaec09897d525e_0000000000000000_vs.txt index f3f9061e..603acb20 100644 --- a/Resolutions/SuperMario3DWorld_Resolution/c4eaec09897d525e_0000000000000000_vs.txt +++ b/Resolutions/SuperMario3DWorld_Resolution/c4eaec09897d525e_0000000000000000_vs.txt @@ -9,14 +9,38 @@ #else #define SET_POSITION(_v) gl_Position = _v #endif +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader c4eaec09897d525e //reflection const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; diff --git a/Resolutions/SuperMario3DWorld_Resolution/d9c81460d6984bb2_0000000000000000_vs.txt b/Resolutions/SuperMario3DWorld_Resolution/d9c81460d6984bb2_0000000000000000_vs.txt index 2682e18e..a1010ae8 100644 --- a/Resolutions/SuperMario3DWorld_Resolution/d9c81460d6984bb2_0000000000000000_vs.txt +++ b/Resolutions/SuperMario3DWorld_Resolution/d9c81460d6984bb2_0000000000000000_vs.txt @@ -9,13 +9,37 @@ #else #define SET_POSITION(_v) gl_Position = _v #endif +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader d9c81460d6984bb2 //switch palace reflection hz const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; -layout(location = 0) in uvec4 attrDataSem0; +}; +#else +uniform ivec4 uf_remappedVS[5]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; out gl_PerVertex { vec4 gl_Position; diff --git a/Resolutions/SuperMario3DWorld_Resolution/e4e4a60266119f75_0000000000000000_vs.txt b/Resolutions/SuperMario3DWorld_Resolution/e4e4a60266119f75_0000000000000000_vs.txt index d7d03d58..bb2d6b45 100644 --- a/Resolutions/SuperMario3DWorld_Resolution/e4e4a60266119f75_0000000000000000_vs.txt +++ b/Resolutions/SuperMario3DWorld_Resolution/e4e4a60266119f75_0000000000000000_vs.txt @@ -9,15 +9,39 @@ #else #define SET_POSITION(_v) gl_Position = _v #endif +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader e4e4a60266119f75 //reflection const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; diff --git a/Resolutions/SuperMario3DWorld_Resolution/fa47a4b5f1304f51_0000000000000000_vs.txt b/Resolutions/SuperMario3DWorld_Resolution/fa47a4b5f1304f51_0000000000000000_vs.txt index 4084b0e4..15861ad5 100644 --- a/Resolutions/SuperMario3DWorld_Resolution/fa47a4b5f1304f51_0000000000000000_vs.txt +++ b/Resolutions/SuperMario3DWorld_Resolution/fa47a4b5f1304f51_0000000000000000_vs.txt @@ -9,13 +9,37 @@ #else #define SET_POSITION(_v) gl_Position = _v #endif +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader fa47a4b5f1304f51 // low res reflection const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; -layout(location = 0) in uvec4 attrDataSem0; +}; +#else +uniform ivec4 uf_remappedVS[5]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; out gl_PerVertex { vec4 gl_Position; diff --git a/Resolutions/SuperMario3DWorld_Resolution/rules.txt b/Resolutions/SuperMario3DWorld_Resolution/rules.txt index 2cf44e6a..65d34d60 100644 --- a/Resolutions/SuperMario3DWorld_Resolution/rules.txt +++ b/Resolutions/SuperMario3DWorld_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010145D00,0005000010145C00,0005000010106100 name = Resolution path = "Super Mario 3D World/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] name = 1280x720 (Default) diff --git a/Resolutions/SuperMarioMaker_Resolution/37a4ec1a7dbc7391_00000000000003c9_ps.txt b/Resolutions/SuperMarioMaker_Resolution/37a4ec1a7dbc7391_00000000000003c9_ps.txt index 44aebf75..38fa6e56 100644 --- a/Resolutions/SuperMarioMaker_Resolution/37a4ec1a7dbc7391_00000000000003c9_ps.txt +++ b/Resolutions/SuperMarioMaker_Resolution/37a4ec1a7dbc7391_00000000000003c9_ps.txt @@ -1,17 +1,42 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 37a4ec1a7dbc7391 // Used for: Scaling Anti-Aliasing solution of game +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[4]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 0019 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 0x1d28c000 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 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[4]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x1d28c000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem2; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; float scaleAA = uf_fragCoordScale.x; int clampFI32(int v) diff --git a/Resolutions/SuperMarioMaker_Resolution/rules.txt b/Resolutions/SuperMarioMaker_Resolution/rules.txt index b9a8b2fd..68fefae1 100644 --- a/Resolutions/SuperMarioMaker_Resolution/rules.txt +++ b/Resolutions/SuperMarioMaker_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 000500001018DB00,000500001018DC00,000500001018DD00 name = Resolution path = "Super Mario Maker/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] name = 1280x720 (Default) diff --git a/Resolutions/SuperSmashBros_Resolution/315d61ad21f97614_0000000000000000_vs.txt b/Resolutions/SuperSmashBros_Resolution/315d61ad21f97614_0000000000000000_vs.txt index 4f6e942c..9171e823 100644 --- a/Resolutions/SuperSmashBros_Resolution/315d61ad21f97614_0000000000000000_vs.txt +++ b/Resolutions/SuperSmashBros_Resolution/315d61ad21f97614_0000000000000000_vs.txt @@ -1,16 +1,41 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 315d61ad21f97614 // Used for: Vertical blur pass end screen background const float resXScale = (float($width)/float($gameWidth)); const float resYScale = (float($height)/float($gameHeight)); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; -layout(location = 2) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[5]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -112,7 +137,7 @@ R0f.w = PV1f.z + R2f.y; R3f.w = PV1f.x + R2f.y; PS0f = R3f.w; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem130 = vec4(R0f.x, R0f.y, R0f.x, R0f.w); // export diff --git a/Resolutions/SuperSmashBros_Resolution/4b92e636153d6b54_0000000000000000_vs.txt b/Resolutions/SuperSmashBros_Resolution/4b92e636153d6b54_0000000000000000_vs.txt index 5f6d2131..72a68995 100644 --- a/Resolutions/SuperSmashBros_Resolution/4b92e636153d6b54_0000000000000000_vs.txt +++ b/Resolutions/SuperSmashBros_Resolution/4b92e636153d6b54_0000000000000000_vs.txt @@ -1,16 +1,41 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 4b92e636153d6b54 // Used for: Horizontal blur pass end screen background const float resXScale = (float($width)/float($gameWidth)); const float resYScale = (float($height)/float($gameHeight)); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; -layout(location = 2) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[5]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -112,7 +137,7 @@ R3f.w = R2f.x + PV1f.w; R3f.z = R2f.x + PV1f.x; PS0f = R3f.z; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem130 = vec4(R0f.x, R0f.y, R0f.z, R0f.y); // export diff --git a/Resolutions/SuperSmashBros_Resolution/rules.txt b/Resolutions/SuperSmashBros_Resolution/rules.txt index ac556de0..c259f217 100644 --- a/Resolutions/SuperSmashBros_Resolution/rules.txt +++ b/Resolutions/SuperSmashBros_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010110E00,0005000010145000,0005000010144F00 name = Resolution path = "Super Smash Bros. for Wii U/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] name = 1920x1080 (Default) diff --git a/Resolutions/TokyoMirage_Resolution/04d0827b9471eb22_0000000000000000_vs.txt b/Resolutions/TokyoMirage_Resolution/04d0827b9471eb22_0000000000000000_vs.txt index fb22be71..deda86f3 100644 --- a/Resolutions/TokyoMirage_Resolution/04d0827b9471eb22_0000000000000000_vs.txt +++ b/Resolutions/TokyoMirage_Resolution/04d0827b9471eb22_0000000000000000_vs.txt @@ -2,13 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 04d0827b9471eb22 const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -70,7 +95,7 @@ R0f.y = R2f.y + -(R127f.z); R0f.z = PV0f.y; R0f.w = PV0f.x; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem137 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/TokyoMirage_Resolution/201bd8dfd2a9e7d3_0000000000000000_vs.txt b/Resolutions/TokyoMirage_Resolution/201bd8dfd2a9e7d3_0000000000000000_vs.txt index 29837ec3..d1ef28fe 100644 --- a/Resolutions/TokyoMirage_Resolution/201bd8dfd2a9e7d3_0000000000000000_vs.txt +++ b/Resolutions/TokyoMirage_Resolution/201bd8dfd2a9e7d3_0000000000000000_vs.txt @@ -2,13 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 201bd8dfd2a9e7d3 const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -145,7 +170,7 @@ PV1f.y = R123f.y; R2f.z = PV1f.y; R2f.w = PV1f.x; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem141 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); // export diff --git a/Resolutions/TokyoMirage_Resolution/23c5bbfda0fc3b0f_0000000000000000_vs.txt b/Resolutions/TokyoMirage_Resolution/23c5bbfda0fc3b0f_0000000000000000_vs.txt index d130fe42..b535e559 100644 --- a/Resolutions/TokyoMirage_Resolution/23c5bbfda0fc3b0f_0000000000000000_vs.txt +++ b/Resolutions/TokyoMirage_Resolution/23c5bbfda0fc3b0f_0000000000000000_vs.txt @@ -2,13 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 23c5bbfda0fc3b0f const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -81,7 +106,7 @@ PV1f.y = R123f.y; R2f.z = PV1f.y; R2f.w = PV1f.x; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem137 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); // export diff --git a/Resolutions/TokyoMirage_Resolution/3259d3b3ca333bf3_0000000000000000_vs.txt b/Resolutions/TokyoMirage_Resolution/3259d3b3ca333bf3_0000000000000000_vs.txt index 70ccf0b2..3b93dcec 100644 --- a/Resolutions/TokyoMirage_Resolution/3259d3b3ca333bf3_0000000000000000_vs.txt +++ b/Resolutions/TokyoMirage_Resolution/3259d3b3ca333bf3_0000000000000000_vs.txt @@ -2,13 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 3259d3b3ca333bf3 const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -99,7 +124,7 @@ PV1f.y = R123f.y; R2f.z = PV1f.y; R2f.w = PV1f.x; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem138 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); // export diff --git a/Resolutions/TokyoMirage_Resolution/39863f29c6d85cb8_0000000000000000_vs.txt b/Resolutions/TokyoMirage_Resolution/39863f29c6d85cb8_0000000000000000_vs.txt index 32a78244..943486cc 100644 --- a/Resolutions/TokyoMirage_Resolution/39863f29c6d85cb8_0000000000000000_vs.txt +++ b/Resolutions/TokyoMirage_Resolution/39863f29c6d85cb8_0000000000000000_vs.txt @@ -2,13 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 39863f29c6d85cb8 const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -69,7 +94,7 @@ R2f.y = R127f.x + R127f.z; R2f.z = PV1f.y; R2f.w = PV1f.x; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem136 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); } diff --git a/Resolutions/TokyoMirage_Resolution/59fca914f0dcb060_0000000000000000_vs.txt b/Resolutions/TokyoMirage_Resolution/59fca914f0dcb060_0000000000000000_vs.txt index 2e752131..4064d6db 100644 --- a/Resolutions/TokyoMirage_Resolution/59fca914f0dcb060_0000000000000000_vs.txt +++ b/Resolutions/TokyoMirage_Resolution/59fca914f0dcb060_0000000000000000_vs.txt @@ -2,13 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 59fca914f0dcb060 const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -165,7 +190,7 @@ PV1f.w = R123f.w; R7f.z = PV1f.w; R7f.w = PV1f.z; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem138 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); // export diff --git a/Resolutions/TokyoMirage_Resolution/61b51be479ffa5dc_0000000000000000_vs.txt b/Resolutions/TokyoMirage_Resolution/61b51be479ffa5dc_0000000000000000_vs.txt index db10e19e..629d938a 100644 --- a/Resolutions/TokyoMirage_Resolution/61b51be479ffa5dc_0000000000000000_vs.txt +++ b/Resolutions/TokyoMirage_Resolution/61b51be479ffa5dc_0000000000000000_vs.txt @@ -2,14 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 61b51be479ffa5dc //text aspect const float UI = $UIAspectX; const float UIY = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[4]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem3; -layout(location = 2) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[4]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -104,7 +128,7 @@ R5i.x = ((R127i.y == 0)?(R2i.x):(R2i.x)); R5i.y = ((R127i.y == 0)?(R2i.y):(R2i.y)); R4i.z = ((R127i.y == 0)?(R1i.z):(R1i.z)); // export -gl_Position = vec4(intBitsToFloat(R0i.x)*UI, intBitsToFloat(R0i.y)*UIY, intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); +SET_POSITION(vec4(intBitsToFloat(R0i.x)*UI, intBitsToFloat(R0i.y)*UIY, intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); // export passParameterSem131 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); // export diff --git a/Resolutions/TokyoMirage_Resolution/88ae6940d510eea5_0000000000000000_vs.txt b/Resolutions/TokyoMirage_Resolution/88ae6940d510eea5_0000000000000000_vs.txt index 2fd63aa2..04f8f438 100644 --- a/Resolutions/TokyoMirage_Resolution/88ae6940d510eea5_0000000000000000_vs.txt +++ b/Resolutions/TokyoMirage_Resolution/88ae6940d510eea5_0000000000000000_vs.txt @@ -2,13 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 88ae6940d510eea5 const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -65,7 +90,7 @@ R2f.w = R2f.y + PV0f.w; R2f.z = PV0f.x; PS1f = R2f.z; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem136 = vec4(R0f.x, R0f.y, R0f.z, R0f.y); // export diff --git a/Resolutions/TokyoMirage_Resolution/8cdd68cf2a074404_0000000000000000_vs.txt b/Resolutions/TokyoMirage_Resolution/8cdd68cf2a074404_0000000000000000_vs.txt index c318ef9c..77642b32 100644 --- a/Resolutions/TokyoMirage_Resolution/8cdd68cf2a074404_0000000000000000_vs.txt +++ b/Resolutions/TokyoMirage_Resolution/8cdd68cf2a074404_0000000000000000_vs.txt @@ -2,13 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 8cdd68cf2a074404 const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -130,7 +155,7 @@ PV1f.y = R123f.y; R2f.z = PV1f.y; R2f.w = PV1f.x; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem140 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); // export diff --git a/Resolutions/TokyoMirage_Resolution/94986f08df872394_0000000000000000_vs.txt b/Resolutions/TokyoMirage_Resolution/94986f08df872394_0000000000000000_vs.txt index f5d9c23a..bdc9ed07 100644 --- a/Resolutions/TokyoMirage_Resolution/94986f08df872394_0000000000000000_vs.txt +++ b/Resolutions/TokyoMirage_Resolution/94986f08df872394_0000000000000000_vs.txt @@ -2,15 +2,39 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 94986f08df872394 //gui aspect const float UI = $UIAspectX; const float UIY = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[9]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem3; -layout(location = 2) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[9]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -126,7 +150,7 @@ R1f.y = mul_nonIEEE(backupReg1f, intBitsToFloat(uf_remappedVS[8].y)); R1f.z = mul_nonIEEE(backupReg2f, intBitsToFloat(uf_remappedVS[8].z)); R1f.w = mul_nonIEEE(backupReg3f, intBitsToFloat(uf_remappedVS[8].w)); // export -gl_Position = vec4(R2f.x*UI, R2f.y*UIY, R2f.z, R2f.w); +SET_POSITION(vec4(R2f.x*UI, R2f.y*UIY, R2f.z, R2f.w)); // export passParameterSem131 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); // export diff --git a/Resolutions/TokyoMirage_Resolution/aae570d2455724bc_0000000000000000_vs.txt b/Resolutions/TokyoMirage_Resolution/aae570d2455724bc_0000000000000000_vs.txt index 1f4685f7..aeea7049 100644 --- a/Resolutions/TokyoMirage_Resolution/aae570d2455724bc_0000000000000000_vs.txt +++ b/Resolutions/TokyoMirage_Resolution/aae570d2455724bc_0000000000000000_vs.txt @@ -2,14 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader aae570d2455724bc //BG fx const float UI = $UIAspectX; const float UIY = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[9]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem3; -layout(location = 2) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[9]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -134,7 +158,7 @@ PS0f = R3f.z; // 9 R3f.w = R127f.x; // export -gl_Position = vec4(R2f.x*UI, R2f.y*UIY, R2f.z, R2f.w); +SET_POSITION(vec4(R2f.x*UI, R2f.y*UIY, R2f.z, R2f.w)); // export passParameterSem131 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); // export diff --git a/Resolutions/TokyoMirage_Resolution/b181218b85619285_0000000000000000_vs.txt b/Resolutions/TokyoMirage_Resolution/b181218b85619285_0000000000000000_vs.txt index 0282e187..f7a71c15 100644 --- a/Resolutions/TokyoMirage_Resolution/b181218b85619285_0000000000000000_vs.txt +++ b/Resolutions/TokyoMirage_Resolution/b181218b85619285_0000000000000000_vs.txt @@ -2,13 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader b181218b85619285 const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -112,7 +137,7 @@ PV1f.y = R123f.y; R2f.z = PV1f.y; R2f.w = PV1f.x; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem139 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); // export diff --git a/Resolutions/TokyoMirage_Resolution/dda6656146476243_0000000000000000_vs.txt b/Resolutions/TokyoMirage_Resolution/dda6656146476243_0000000000000000_vs.txt index 4e531608..e97899bb 100644 --- a/Resolutions/TokyoMirage_Resolution/dda6656146476243_0000000000000000_vs.txt +++ b/Resolutions/TokyoMirage_Resolution/dda6656146476243_0000000000000000_vs.txt @@ -2,13 +2,37 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader dda6656146476243 //Video aspect const float UI = $UIAspectX; const float UIY = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[5]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[5]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -87,7 +111,7 @@ R0f.w = tempf.x; R1f.xyz = vec3(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z)); R1f.w = intBitsToFloat(uf_remappedVS[4].w); // export -gl_Position = vec4(R0f.x*UI, R0f.y*UIY, R0f.z, R0f.w); +SET_POSITION(vec4(R0f.x*UI, R0f.y*UIY, R0f.z, R0f.w)); // export passParameterSem131 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); // export diff --git a/Resolutions/TokyoMirage_Resolution/rules.txt b/Resolutions/TokyoMirage_Resolution/rules.txt index abb01c7a..f264ad79 100644 --- a/Resolutions/TokyoMirage_Resolution/rules.txt +++ b/Resolutions/TokyoMirage_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101ED700,00050000101ED800,0005000010131D00 name = Resolution path = "Tokyo Mirage Sessions FE/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] name = 1280x720 (Default) diff --git a/Resolutions/TwilightPrincessHD_Resolution/15e4acf324eb0912_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/15e4acf324eb0912_0000000000000000_vs.txt index 5c96f35d..24396a80 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/15e4acf324eb0912_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/15e4acf324eb0912_0000000000000000_vs.txt @@ -2,15 +2,39 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 15e4acf324eb0912 missing //map mission objectives missing const float UIx = $UIAspectX; const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[7]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; out gl_PerVertex { vec4 gl_Position; @@ -117,7 +141,7 @@ PV0f.z = tempf.x; PV0f.w = tempf.x; R1f.w = tempf.x; // export -gl_Position = vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); // export // skipped export to semanticId 255 // export diff --git a/Resolutions/TwilightPrincessHD_Resolution/18893ce415f2fcc7_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/18893ce415f2fcc7_0000000000000000_vs.txt index f919cc49..9aa7a347 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/18893ce415f2fcc7_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/18893ce415f2fcc7_0000000000000000_vs.txt @@ -2,14 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 18893ce415f2fcc7 //Map icon position const float UIx = $UIAspectX; const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[7]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; out gl_PerVertex { vec4 gl_Position; @@ -116,7 +140,7 @@ PV0f.z = tempf.x; PV0f.w = tempf.x; R1f.w = tempf.x; // export -gl_Position = vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); // export // skipped export to semanticId 255 // export diff --git a/Resolutions/TwilightPrincessHD_Resolution/1caed2ca3d14f36b_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/1caed2ca3d14f36b_0000000000000000_vs.txt index 0e6f672a..4c06ea74 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/1caed2ca3d14f36b_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/1caed2ca3d14f36b_0000000000000000_vs.txt @@ -2,14 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 1caed2ca3d14f36b //object box bg 2 const float UIx = $UIAspectX; const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[10]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; +}; +#else +uniform ivec4 uf_remappedVS[10]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem2; out gl_PerVertex { vec4 gl_Position; @@ -112,7 +136,7 @@ R1f.w = tempf.x; R0f.xyz = vec3(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z)); R0f.w = intBitsToFloat(uf_remappedVS[7].w); // export -gl_Position = vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // 0 diff --git a/Resolutions/TwilightPrincessHD_Resolution/24b09ef9b11b98d5_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/24b09ef9b11b98d5_0000000000000000_vs.txt index 1ba3f153..726b781e 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/24b09ef9b11b98d5_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/24b09ef9b11b98d5_0000000000000000_vs.txt @@ -2,16 +2,40 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 24b09ef9b11b98d5 //UI text front const float UIx = $UIAspectX; const float UIy = $UIAspectY; const float UItransp = $UItransp; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[7]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; out gl_PerVertex { vec4 gl_Position; @@ -117,7 +141,7 @@ PV0f.z = tempf.x; PV0f.w = tempf.x; R3f.w = tempf.x; // export -gl_Position = vec4(R3f.x*UIx, R3f.y*UIy, R3f.z, R3f.w); +SET_POSITION(vec4(R3f.x*UIx, R3f.y*UIy, R3f.z, R3f.w)); // export passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w*UItransp); // export diff --git a/Resolutions/TwilightPrincessHD_Resolution/27b429c755f71162_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/27b429c755f71162_0000000000000000_vs.txt index 2a072c2c..fdc1fe9a 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/27b429c755f71162_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/27b429c755f71162_0000000000000000_vs.txt @@ -2,14 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 27b429c755f71162 //Map arrows const float UIx = $UIAspectX; const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[11]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; +}; +#else +uniform ivec4 uf_remappedVS[11]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; out gl_PerVertex { vec4 gl_Position; @@ -122,7 +146,7 @@ R2f.w = tempf.x; R5f.z = R126f.w; PS0f = R5f.z; // export -gl_Position = vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w); +SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); // export passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); // export diff --git a/Resolutions/TwilightPrincessHD_Resolution/4f5f72f9eec53a90_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/4f5f72f9eec53a90_0000000000000000_vs.txt index 625616b6..75db23eb 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/4f5f72f9eec53a90_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/4f5f72f9eec53a90_0000000000000000_vs.txt @@ -2,14 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 4f5f72f9eec53a90 //BG box 3 const float UIx = $UIAspectX; const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[9]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; +}; +#else +uniform ivec4 uf_remappedVS[9]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; out gl_PerVertex { vec4 gl_Position; @@ -116,7 +140,7 @@ PV0f.z = tempf.x; PV0f.w = tempf.x; R2f.w = tempf.x; // export -gl_Position = vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w); +SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); // export passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); // export diff --git a/Resolutions/TwilightPrincessHD_Resolution/5f2ae4dbd2256d0c_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/5f2ae4dbd2256d0c_0000000000000000_vs.txt index 87aad91c..15d24d96 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/5f2ae4dbd2256d0c_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/5f2ae4dbd2256d0c_0000000000000000_vs.txt @@ -2,14 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 5f2ae4dbd2256d0c //minimap const float UIx = $UIAspectX; const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[7]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; out gl_PerVertex { vec4 gl_Position; @@ -115,7 +139,7 @@ PV0f.z = tempf.x; PV0f.w = tempf.x; R1f.w = tempf.x; // export -gl_Position = vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); // export passParameterSem1 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/TwilightPrincessHD_Resolution/6dc0977212eae7b3_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/6dc0977212eae7b3_0000000000000000_vs.txt index 55c9a54c..e419a2ff 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/6dc0977212eae7b3_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/6dc0977212eae7b3_0000000000000000_vs.txt @@ -2,16 +2,40 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 6dc0977212eae7b3 //hearts const float UIx = $UIAspectX; const float UIy = $UIAspectY; const float UItransp = $UItransp; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[7]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; out gl_PerVertex { vec4 gl_Position; @@ -120,7 +144,7 @@ PV0f.z = tempf.x; PV0f.w = tempf.x; R2f.w = tempf.x; // export -gl_Position = vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w); +SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); // export passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w*UItransp); // export diff --git a/Resolutions/TwilightPrincessHD_Resolution/70e776430cd020a9_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/70e776430cd020a9_0000000000000000_vs.txt index 53c6fcd1..b77bcdf2 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/70e776430cd020a9_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/70e776430cd020a9_0000000000000000_vs.txt @@ -2,13 +2,37 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 70e776430cd020a9 //box bg 5 const float UIx = $UIAspectX; const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[10]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; +}; +#else +uniform ivec4 uf_remappedVS[10]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem2; out gl_PerVertex { vec4 gl_Position; @@ -116,7 +140,7 @@ R1f.w = tempf.x; R0f.xyz = vec3(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z)); R0f.w = intBitsToFloat(uf_remappedVS[7].w); // export -gl_Position = vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/TwilightPrincessHD_Resolution/7674f1be5f1b1e0c_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/7674f1be5f1b1e0c_0000000000000000_vs.txt index ea6a78be..e0eb5185 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/7674f1be5f1b1e0c_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/7674f1be5f1b1e0c_0000000000000000_vs.txt @@ -2,14 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 7674f1be5f1b1e0c //object box BG const float UIx = $UIAspectX; const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[9]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; +}; +#else +uniform ivec4 uf_remappedVS[9]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; out gl_PerVertex { vec4 gl_Position; @@ -116,7 +140,7 @@ PV0f.z = tempf.x; PV0f.w = tempf.x; R2f.w = tempf.x; // export -gl_Position = vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w); +SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); // export passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); // export diff --git a/Resolutions/TwilightPrincessHD_Resolution/7c5a0f2532be049f_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/7c5a0f2532be049f_0000000000000000_vs.txt index 40b55fca..388af93a 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/7c5a0f2532be049f_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/7c5a0f2532be049f_0000000000000000_vs.txt @@ -2,15 +2,39 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 7c5a0f2532be049f //Map highlight const float UIx = $UIAspectX; const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[7]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; out gl_PerVertex { vec4 gl_Position; @@ -119,7 +143,7 @@ PV0f.z = tempf.x; PV0f.w = tempf.x; R2f.w = tempf.x; // export -gl_Position = vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w); +SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); // export passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); // export diff --git a/Resolutions/TwilightPrincessHD_Resolution/7fc573264230ed00_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/7fc573264230ed00_0000000000000000_vs.txt index d6a48db7..060bd5e4 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/7fc573264230ed00_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/7fc573264230ed00_0000000000000000_vs.txt @@ -2,13 +2,37 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 7fc573264230ed00 //lights bloom sensor const float UIx = $UIAspectX; const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[10]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; +}; +#else +uniform ivec4 uf_remappedVS[10]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem2; out gl_PerVertex { vec4 gl_Position; @@ -111,7 +135,7 @@ R1f.w = tempf.x; R0f.xyz = vec3(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z)); R0f.w = intBitsToFloat(uf_remappedVS[7].w); // export -gl_Position = vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // 0 diff --git a/Resolutions/TwilightPrincessHD_Resolution/827afe113fd67658_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/827afe113fd67658_0000000000000000_vs.txt index 8a27d4e9..1b0467bc 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/827afe113fd67658_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/827afe113fd67658_0000000000000000_vs.txt @@ -2,15 +2,39 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 827afe113fd67658 //lamp oil indicator const float UIx = $UIAspectX; const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[9]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; +}; +#else +uniform ivec4 uf_remappedVS[9]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; out gl_PerVertex { vec4 gl_Position; @@ -113,7 +137,7 @@ PV0f.z = tempf.x; PV0f.w = tempf.x; R2f.w = tempf.x; // export -gl_Position = vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w); +SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); // export passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); // 0 diff --git a/Resolutions/TwilightPrincessHD_Resolution/85b15b7fe92662bb_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/85b15b7fe92662bb_0000000000000000_vs.txt index 5733212e..004871dc 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/85b15b7fe92662bb_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/85b15b7fe92662bb_0000000000000000_vs.txt @@ -2,15 +2,39 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 85b15b7fe92662bb //map dungeon BG const float UIx = $UIAspectX; const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[7]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; out gl_PerVertex { vec4 gl_Position; @@ -116,7 +140,7 @@ PV0f.z = tempf.x; PV0f.w = tempf.x; R1f.w = tempf.x; // export -gl_Position = vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); // export passParameterSem1 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/TwilightPrincessHD_Resolution/95a5a89d62998e0d_0000000000000079_ps.txt b/Resolutions/TwilightPrincessHD_Resolution/95a5a89d62998e0d_0000000000000079_ps.txt index ad28ce48..e72cc436 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/95a5a89d62998e0d_0000000000000079_ps.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/95a5a89d62998e0d_0000000000000079_ps.txt @@ -1,12 +1,37 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 95a5a89d62998e0d // blur +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[3]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[3]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf59ff000 res 480x270x1 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: 0 -layout(location = 0) out vec4 passPixelColor0; uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf59ff000 res 480x270x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +layout(location = 0) out vec4 passPixelColor0; int clampFI32(int v) { if( v == 0x7FFFFFFF ) @@ -38,7 +63,7 @@ ivec4 ARi = ivec4(0); bool predResult = true; vec3 cubeMapSTM; int cubeMapFaceId; -R0f = vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw); +R0f = GET_FRAGCOORD(); scaler = uf_fragCoordScale.x; // 0 R7f.x = R0f.x * intBitsToFloat(0x3b088889); diff --git a/Resolutions/TwilightPrincessHD_Resolution/acbedb86f89efae4_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/acbedb86f89efae4_0000000000000000_vs.txt index a51c310d..c82e28ed 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/acbedb86f89efae4_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/acbedb86f89efae4_0000000000000000_vs.txt @@ -2,14 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader acbedb86f89efae4 //mapscreen bg const float UIx = $UIAspectX; const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[7]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; out gl_PerVertex { vec4 gl_Position; @@ -115,7 +139,7 @@ PV0f.z = tempf.x; PV0f.w = tempf.x; R1f.w = tempf.x; // export -gl_Position = vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); // export passParameterSem1 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/TwilightPrincessHD_Resolution/aebb1e76797684a2_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/aebb1e76797684a2_0000000000000000_vs.txt index 0c1e2dde..c650bddd 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/aebb1e76797684a2_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/aebb1e76797684a2_0000000000000000_vs.txt @@ -2,14 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader aebb1e76797684a2 //UI text bg const float UIx = $UIAspectX; const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[7]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; out gl_PerVertex { vec4 gl_Position; @@ -118,7 +142,7 @@ PV0f.z = tempf.x; PV0f.w = tempf.x; R2f.w = tempf.x; // export -gl_Position = vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w); +SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); // export passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); // export diff --git a/Resolutions/TwilightPrincessHD_Resolution/b5241d6db4feef42_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/b5241d6db4feef42_0000000000000000_vs.txt index d34e75de..2a4a551f 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/b5241d6db4feef42_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/b5241d6db4feef42_0000000000000000_vs.txt @@ -2,13 +2,37 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader b5241d6db4feef42 //selection highlight const float UIx = $UIAspectX; const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[10]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; +}; +#else +uniform ivec4 uf_remappedVS[10]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem2; out gl_PerVertex { vec4 gl_Position; @@ -116,7 +140,7 @@ R1f.w = tempf.x; R0f.xyz = vec3(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z)); R0f.w = intBitsToFloat(uf_remappedVS[7].w); // export -gl_Position = vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/TwilightPrincessHD_Resolution/c14019840473ff86_00000000000003c9_ps.txt b/Resolutions/TwilightPrincessHD_Resolution/c14019840473ff86_00000000000003c9_ps.txt index d3e787d2..a25db2ee 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/c14019840473ff86_00000000000003c9_ps.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/c14019840473ff86_00000000000003c9_ps.txt @@ -1,14 +1,38 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader c14019840473ff86 //scale boxblur fx -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4001000 res 1920x1080x1 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: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf5187000 res 1920x1080x1 dim 1 tm: 4 format 0011 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4001000 res 1920x1080x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf5187000 res 1920x1080x1 dim 1 tm: 4 format 0011 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; +#endif int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/TwilightPrincessHD_Resolution/c612390d4c70f430_0000000000000079_ps.txt b/Resolutions/TwilightPrincessHD_Resolution/c612390d4c70f430_0000000000000079_ps.txt index 7b584bb4..77d43256 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/c612390d4c70f430_0000000000000079_ps.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/c612390d4c70f430_0000000000000079_ps.txt @@ -1,12 +1,37 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader c612390d4c70f430 //cutscene focus n bloom +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[5]; +uniform vec4 uf_fragCoordScale; +}; +#else uniform ivec4 uf_remappedPS[5]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf597f000 res 480x270x1 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: 0 -layout(location = 0) out vec4 passPixelColor0; uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf597f000 res 480x270x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +layout(location = 0) out vec4 passPixelColor0; int clampFI32(int v) { if( v == 0x7FFFFFFF ) @@ -38,7 +63,7 @@ ivec4 ARi = ivec4(0); bool predResult = true; vec3 cubeMapSTM; int cubeMapFaceId; -R0f = vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw); +R0f = GET_FRAGCOORD(); scaler = uf_fragCoordScale.x; // 0 R7f.x = R0f.x * intBitsToFloat(0x3b088889); diff --git a/Resolutions/TwilightPrincessHD_Resolution/cac95df4d2d6f5b8_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/cac95df4d2d6f5b8_0000000000000000_vs.txt index 17d434e3..bc1d007b 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/cac95df4d2d6f5b8_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/cac95df4d2d6f5b8_0000000000000000_vs.txt @@ -2,12 +2,36 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader cac95df4d2d6f5b8 const float UIx = $UIAspectX; const float UIy = $UIAspectY; //Remove cutscene box +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[8]; -layout(location = 0) in uvec4 attrDataSem0; +}; +#else +uniform ivec4 uf_remappedVS[8]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; out gl_PerVertex { vec4 gl_Position; diff --git a/Resolutions/TwilightPrincessHD_Resolution/ce7aa5fffc34aab0_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/ce7aa5fffc34aab0_0000000000000000_vs.txt index c795378f..27560b2e 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/ce7aa5fffc34aab0_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/ce7aa5fffc34aab0_0000000000000000_vs.txt @@ -2,15 +2,39 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader ce7aa5fffc34aab0 //action buttons const float UIx = $UIAspectX; const float UIy = $UIAspectY; const float UItransp = $UItransp; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[7]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; out gl_PerVertex { vec4 gl_Position; @@ -116,7 +140,7 @@ PV0f.z = tempf.x; PV0f.w = tempf.x; R3f.w = tempf.x; // export -gl_Position = vec4(R3f.x*UIx, R3f.y*UIy, R3f.z, R3f.w); +SET_POSITION(vec4(R3f.x*UIx, R3f.y*UIy, R3f.z, R3f.w)); // export passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w*UItransp); // export diff --git a/Resolutions/TwilightPrincessHD_Resolution/e9d455979cba2505_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/e9d455979cba2505_0000000000000000_vs.txt index f805c551..9999e905 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/e9d455979cba2505_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/e9d455979cba2505_0000000000000000_vs.txt @@ -2,15 +2,39 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader e9d455979cba2505 //dungeon objects const float UIx = $UIAspectX; const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[7]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; out gl_PerVertex { vec4 gl_Position; @@ -117,7 +141,7 @@ PV0f.z = tempf.x; PV0f.w = tempf.x; R1f.w = tempf.x; // export -gl_Position = vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); // export // skipped export to semanticId 255 // export diff --git a/Resolutions/TwilightPrincessHD_Resolution/eec9403a9d54137e_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/eec9403a9d54137e_0000000000000000_vs.txt index d8edd868..83b97b45 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/eec9403a9d54137e_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/eec9403a9d54137e_0000000000000000_vs.txt @@ -2,14 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader eec9403a9d54137e //Map bg middle layer const float UIx = $UIAspectX; const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[7]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; out gl_PerVertex { vec4 gl_Position; @@ -118,7 +142,7 @@ PV0f.z = tempf.x; PV0f.w = tempf.x; R2f.w = tempf.x; // export -gl_Position = vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w); +SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); // export passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); // export diff --git a/Resolutions/TwilightPrincessHD_Resolution/f017fcfaf1bd28ab_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/f017fcfaf1bd28ab_0000000000000000_vs.txt index 5afb080e..4ac75f5c 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/f017fcfaf1bd28ab_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/f017fcfaf1bd28ab_0000000000000000_vs.txt @@ -2,14 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader f017fcfaf1bd28ab const float UIx = $UIAspectX; const float UIy = $UIAspectY; //amiibo +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[7]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -114,7 +138,7 @@ PV0f.z = tempf.x; PV0f.w = tempf.x; R1f.w = tempf.x; // export -gl_Position = vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); // export passParameterSem1 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/TwilightPrincessHD_Resolution/f5034fe4aa1fec23_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/f5034fe4aa1fec23_0000000000000000_vs.txt index 3d3529e2..209dfbf6 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/f5034fe4aa1fec23_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/f5034fe4aa1fec23_0000000000000000_vs.txt @@ -2,15 +2,39 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader f5034fe4aa1fec23 //map fade const float UIx = $UIAspectX; const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[7]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; out gl_PerVertex { vec4 gl_Position; @@ -119,7 +143,7 @@ PV0f.z = tempf.x; PV0f.w = tempf.x; R2f.w = tempf.x; // export -gl_Position = vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w); +SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); // export passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); // export diff --git a/Resolutions/TwilightPrincessHD_Resolution/fc148873ef522f50_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/fc148873ef522f50_0000000000000000_vs.txt index cf954f5d..afa07413 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/fc148873ef522f50_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/fc148873ef522f50_0000000000000000_vs.txt @@ -2,14 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader fc148873ef522f50 // objective shadow const float UIx = $UIAspectX; const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[7]; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; out gl_PerVertex { vec4 gl_Position; @@ -119,7 +143,7 @@ PV0f.z = tempf.x; PV0f.w = tempf.x; R2f.w = tempf.x; // export -gl_Position = vec4(R2f.x*UIx, R2f.y, R2f.z, R2f.w); +SET_POSITION(vec4(R2f.x*UIx, R2f.y, R2f.z, R2f.w)); // export passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); // export diff --git a/Resolutions/TwilightPrincessHD_Resolution/rules.txt b/Resolutions/TwilightPrincessHD_Resolution/rules.txt index 307b0fa5..9315cc6a 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/rules.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 000500001019C800,000500001019E600,000500001019E500 name = Resolution path = "The Legend of Zelda: Twilight Princess HD/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] name = 1920x1080 (Native) diff --git a/Resolutions/WindWakerHD_Resolution/1f83c0d47b1c4c34_0000000000000000_vs.txt b/Resolutions/WindWakerHD_Resolution/1f83c0d47b1c4c34_0000000000000000_vs.txt index faf6e4bb..f1f896bb 100644 --- a/Resolutions/WindWakerHD_Resolution/1f83c0d47b1c4c34_0000000000000000_vs.txt +++ b/Resolutions/WindWakerHD_Resolution/1f83c0d47b1c4c34_0000000000000000_vs.txt @@ -2,15 +2,40 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 1f83c0d47b1c4c34 //box downscale const float resXScale = (float($height)/float($gameHeight)); const float resYScale = (float($width)/float($gameWidth)); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -73,7 +98,7 @@ PS1f = R2f.x; // 2 R2f.w = PV1f.x; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem3 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); // 0 diff --git a/Resolutions/WindWakerHD_Resolution/4ffa96d07cd53c34_0000000000000000_vs.txt b/Resolutions/WindWakerHD_Resolution/4ffa96d07cd53c34_0000000000000000_vs.txt index 8134bcc5..588fb56c 100644 --- a/Resolutions/WindWakerHD_Resolution/4ffa96d07cd53c34_0000000000000000_vs.txt +++ b/Resolutions/WindWakerHD_Resolution/4ffa96d07cd53c34_0000000000000000_vs.txt @@ -2,6 +2,23 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 4ffa96d07cd53c34 const float resXScale = (float($height)/float($gameHeight)); @@ -9,10 +26,18 @@ const float resYScale = (float($height)/float($gameHeight)); //box low res (bloom?) +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -81,7 +106,7 @@ R0f.y = R127f.x; R0f.z = PV1f.z; R2f.w = PV1f.z; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R2f.x, R2f.y, R2f.x, R2f.w); // export diff --git a/Resolutions/WindWakerHD_Resolution/842a19b509f8b91a_0000000000000000_vs.txt b/Resolutions/WindWakerHD_Resolution/842a19b509f8b91a_0000000000000000_vs.txt index 7d2178c7..9e34f20c 100644 --- a/Resolutions/WindWakerHD_Resolution/842a19b509f8b91a_0000000000000000_vs.txt +++ b/Resolutions/WindWakerHD_Resolution/842a19b509f8b91a_0000000000000000_vs.txt @@ -2,14 +2,39 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 842a19b509f8b91a //vertical pass bloom const float resYScale = (float($height)/float($gameHeight)); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -92,7 +117,7 @@ PS1f = R2f.z; // 4 R4f.xzw = vec3(R2f.x,PS1f,R2f.y); // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/WindWakerHD_Resolution/8d68a0e3561ff525_0000000000000000_vs.txt b/Resolutions/WindWakerHD_Resolution/8d68a0e3561ff525_0000000000000000_vs.txt index cb9973e2..0bf7b2a8 100644 --- a/Resolutions/WindWakerHD_Resolution/8d68a0e3561ff525_0000000000000000_vs.txt +++ b/Resolutions/WindWakerHD_Resolution/8d68a0e3561ff525_0000000000000000_vs.txt @@ -2,14 +2,39 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 8d68a0e3561ff525 //horiztontal bloom pass const float resXScale = (float($width)/float($gameWidth)); +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -90,7 +115,7 @@ R2f.y = backupReg0f + -(R126f.y); R2f.z = backupReg0f + R126f.y; R2f.w = backupReg0f; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem1 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Resolutions/WindWakerHD_Resolution/rules.txt b/Resolutions/WindWakerHD_Resolution/rules.txt index 2075a1d8..1aa186de 100644 --- a/Resolutions/WindWakerHD_Resolution/rules.txt +++ b/Resolutions/WindWakerHD_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010143400,0005000010143600,0005000010143500 name = Resolution path = "The Legend of Zelda: The Wind Waker HD/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] name = 1920x1080 Default diff --git a/Resolutions/XenobladeX_Resolution/007148d1db7f78e7_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/007148d1db7f78e7_0000000000000000_vs.txt index 7dce6f86..6628c698 100644 --- a/Resolutions/XenobladeX_Resolution/007148d1db7f78e7_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/007148d1db7f78e7_0000000000000000_vs.txt @@ -2,22 +2,47 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 007148d1db7f78e7 //fog clouds +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[27]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -layout(location = 11) in uvec4 attrDataSem11; +}; +#else +uniform ivec4 uf_remappedVS[27]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; +ATTR_LAYOUT(0, 11) in uvec4 attrDataSem11; out gl_PerVertex { vec4 gl_Position; @@ -1397,7 +1422,7 @@ R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_re float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R4i.x)*(origRatio / newRatio), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); +SET_POSITION(vec4(intBitsToFloat(R4i.x)*(origRatio / newRatio), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/0b8b33c2f133a514_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/0b8b33c2f133a514_0000000000000000_vs.txt index 1ba1395b..f6412669 100644 --- a/Resolutions/XenobladeX_Resolution/0b8b33c2f133a514_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/0b8b33c2f133a514_0000000000000000_vs.txt @@ -1,21 +1,46 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 0b8b33c2f133a514 //transport flame 3 *dumped* +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[27]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; +}; +#else +uniform ivec4 uf_remappedVS[27]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; out gl_PerVertex { vec4 gl_Position; @@ -1367,7 +1392,7 @@ R1i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[2 float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); +SET_POSITION(vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/0dbac1e3ebdc5c02_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/0dbac1e3ebdc5c02_0000000000000000_vs.txt index 43ec7bba..742a78ee 100644 --- a/Resolutions/XenobladeX_Resolution/0dbac1e3ebdc5c02_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/0dbac1e3ebdc5c02_0000000000000000_vs.txt @@ -1,20 +1,45 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 0dbac1e3ebdc5c02 // float arrow ingame *dumped* +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[27]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; +}; +#else +uniform ivec4 uf_remappedVS[27]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; out gl_PerVertex { vec4 gl_Position; @@ -1350,7 +1375,7 @@ R1i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[2 float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R0i.x) *(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); +SET_POSITION(vec4(intBitsToFloat(R0i.x) *(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/14f760ff4d6b05f5_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/14f760ff4d6b05f5_0000000000000000_vs.txt index fd30aef7..a5866465 100644 --- a/Resolutions/XenobladeX_Resolution/14f760ff4d6b05f5_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/14f760ff4d6b05f5_0000000000000000_vs.txt @@ -2,18 +2,43 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 14f760ff4d6b05f5 //muzzle flash +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[24]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem6; -layout(location = 6) in uvec4 attrDataSem7; -layout(location = 7) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[24]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -289,7 +314,7 @@ PS1i = R6i.x; float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R2i.x)*(origRatio / newRatio), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); +SET_POSITION(vec4(intBitsToFloat(R2i.x)*(origRatio / newRatio), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w))); // 0 tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R5i.z),0.0))); PV0i.x = tempi.x; diff --git a/Resolutions/XenobladeX_Resolution/1f915b133a255dab_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/1f915b133a255dab_0000000000000000_vs.txt index e7b1247e..2ee2b48f 100644 --- a/Resolutions/XenobladeX_Resolution/1f915b133a255dab_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/1f915b133a255dab_0000000000000000_vs.txt @@ -1,12 +1,38 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 1f915b133a255dab //battle graph, dumped +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_uniformRegisterVS[256]; uniform vec2 uf_windowSpaceToClipSpaceTransform; uniform float uf_alphaTestRef; -layout(location = 0) in uvec4 attrDataSem0; +}; +#else +uniform ivec4 uf_uniformRegisterVS[256]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +uniform float uf_alphaTestRef; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; out gl_PerVertex { vec4 gl_Position; @@ -198,7 +224,7 @@ R2i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBit float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R1i.x)*(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); +SET_POSITION(vec4(intBitsToFloat(R1i.x)*(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/20075cc6cf058a84_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/20075cc6cf058a84_0000000000000000_vs.txt index 51401071..9721988b 100644 --- a/Resolutions/XenobladeX_Resolution/20075cc6cf058a84_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/20075cc6cf058a84_0000000000000000_vs.txt @@ -1,19 +1,44 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 20075cc6cf058a84 // skell intro smoke +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[26]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[26]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -1270,7 +1295,7 @@ float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)); // *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R10i.x)*(origRatio / newRatio), intBitsToFloat(R10i.y), intBitsToFloat(R10i.z), intBitsToFloat(R10i.w)); +SET_POSITION(vec4(intBitsToFloat(R10i.x)*(origRatio / newRatio), intBitsToFloat(R10i.y), intBitsToFloat(R10i.z), intBitsToFloat(R10i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/21eafb6c514a4b35_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/21eafb6c514a4b35_0000000000000000_vs.txt index 28a7a2ac..fcf97611 100644 --- a/Resolutions/XenobladeX_Resolution/21eafb6c514a4b35_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/21eafb6c514a4b35_0000000000000000_vs.txt @@ -2,22 +2,47 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 21eafb6c514a4b35 //flash creature +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[27]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -layout(location = 11) in uvec4 attrDataSem11; +}; +#else +uniform ivec4 uf_remappedVS[27]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; +ATTR_LAYOUT(0, 11) in uvec4 attrDataSem11; out gl_PerVertex { vec4 gl_Position; @@ -1384,7 +1409,7 @@ float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R4i.x)*(origRatio / newRatio), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); +SET_POSITION(vec4(intBitsToFloat(R4i.x)*(origRatio / newRatio), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/2716141e287247da_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/2716141e287247da_0000000000000000_vs.txt index c88c57d2..b19b34de 100644 --- a/Resolutions/XenobladeX_Resolution/2716141e287247da_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/2716141e287247da_0000000000000000_vs.txt @@ -1,21 +1,46 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 2716141e287247da //transport heat waves, desert +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[21]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; +}; +#else +uniform ivec4 uf_remappedVS[21]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; out gl_PerVertex { vec4 gl_Position; @@ -1284,7 +1309,7 @@ R0i.w = ((PV0i.x == 0)?(backupReg1i):(0x3f800000)); float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); +SET_POSITION(vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/330acac562ddee2b_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/330acac562ddee2b_0000000000000000_vs.txt index 628d3c62..b8d90485 100644 --- a/Resolutions/XenobladeX_Resolution/330acac562ddee2b_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/330acac562ddee2b_0000000000000000_vs.txt @@ -1,20 +1,45 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 330acac562ddee2b // waterfall splash closeup +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[27]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; +}; +#else +uniform ivec4 uf_remappedVS[27]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; out gl_PerVertex { vec4 gl_Position; @@ -1378,7 +1403,7 @@ R1i.w = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[19 float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; -gl_Position = vec4(intBitsToFloat(R4i.x)*(origRatio / newRatio), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); +SET_POSITION(vec4(intBitsToFloat(R4i.x)*(origRatio / newRatio), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/3fae14064195391b_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/3fae14064195391b_0000000000000000_vs.txt index 3bb7d981..69b3789a 100644 --- a/Resolutions/XenobladeX_Resolution/3fae14064195391b_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/3fae14064195391b_0000000000000000_vs.txt @@ -2,21 +2,46 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 3fae14064195391b //ockserve engine late game +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[21]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; +}; +#else +uniform ivec4 uf_remappedVS[21]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; out gl_PerVertex { vec4 gl_Position; @@ -1286,7 +1311,7 @@ float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) // export -gl_Position = vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); +SET_POSITION(vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/4c66e611ad14aabe_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/4c66e611ad14aabe_0000000000000000_vs.txt index d61b30cc..a69fa7c0 100644 --- a/Resolutions/XenobladeX_Resolution/4c66e611ad14aabe_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/4c66e611ad14aabe_0000000000000000_vs.txt @@ -2,17 +2,42 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 4c66e611ad14aabe //intro dive splash +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[24]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem5; -layout(location = 5) in uvec4 attrDataSem6; -layout(location = 6) in uvec4 attrDataSem7; +}; +#else +uniform ivec4 uf_remappedVS[24]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem7; out gl_PerVertex { vec4 gl_Position; @@ -280,7 +305,7 @@ PS1i = R8i.z; float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R2i.x)*(origRatio / newRatio), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); +SET_POSITION(vec4(intBitsToFloat(R2i.x)*(origRatio / newRatio), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w))); // 0 tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R4i.z),0.0))); PV0i.x = tempi.x; diff --git a/Resolutions/XenobladeX_Resolution/5a41baf724c1cff3_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/5a41baf724c1cff3_0000000000000000_vs.txt index 72f99085..dc42657e 100644 --- a/Resolutions/XenobladeX_Resolution/5a41baf724c1cff3_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/5a41baf724c1cff3_0000000000000000_vs.txt @@ -1,20 +1,45 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 5a41baf724c1cff3 // reflection water crystal +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[27]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; +}; +#else +uniform ivec4 uf_remappedVS[27]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; out gl_PerVertex { vec4 gl_Position; @@ -1379,7 +1404,7 @@ float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) // export -gl_Position = vec4(intBitsToFloat(R4i.x) *(origRatio / newRatio), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); +SET_POSITION(vec4(intBitsToFloat(R4i.x) *(origRatio / newRatio), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/6093720c5ca6289c_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/6093720c5ca6289c_0000000000000000_vs.txt index 7db7bff5..4b6636c0 100644 --- a/Resolutions/XenobladeX_Resolution/6093720c5ca6289c_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/6093720c5ca6289c_0000000000000000_vs.txt @@ -2,16 +2,41 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 6093720c5ca6289c //lensflare +#ifdef VULKAN +layout(set = 0, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedVS[8]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(binding = 32) uniform sampler2D textureUnitVS0;// Tex0 addr 0xf5f0a000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler18 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; +}; +#else +uniform ivec4 uf_remappedVS[8]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +TEXTURE_LAYOUT(32, 0, 0) uniform sampler2D textureUnitVS0;// Tex0 addr 0xf5f0a000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; out gl_PerVertex { vec4 gl_Position; @@ -508,7 +533,7 @@ R0i.w = ((PV1i.z == 0)?(R9i.y):(0x3f800000)); float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); +SET_POSITION(vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/610a9c4cb60b0bdf_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/610a9c4cb60b0bdf_0000000000000000_vs.txt index 72d48423..ce9fd831 100644 --- a/Resolutions/XenobladeX_Resolution/610a9c4cb60b0bdf_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/610a9c4cb60b0bdf_0000000000000000_vs.txt @@ -2,17 +2,42 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 610a9c4cb60b0bdf //flashlight +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[13]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem5; -layout(location = 5) in uvec4 attrDataSem6; -layout(location = 6) in uvec4 attrDataSem7; +}; +#else +uniform ivec4 uf_remappedVS[13]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem7; out gl_PerVertex { vec4 gl_Position; @@ -266,7 +291,7 @@ float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R1i.x)*(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); +SET_POSITION(vec4(intBitsToFloat(R1i.x)*(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/622450648ddbf1b2_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/622450648ddbf1b2_0000000000000000_vs.txt index 17867313..d87e864c 100644 --- a/Resolutions/XenobladeX_Resolution/622450648ddbf1b2_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/622450648ddbf1b2_0000000000000000_vs.txt @@ -1,18 +1,43 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 622450648ddbf1b2 //car lights (float vs?) +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[10]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[10]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -449,7 +474,7 @@ R2i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x))); float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; -gl_Position = vec4(intBitsToFloat(R3i.x)*(origRatio / newRatio), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); +SET_POSITION(vec4(intBitsToFloat(R3i.x)*(origRatio / newRatio), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/738c509776f2c113_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/738c509776f2c113_0000000000000000_vs.txt index 616e4bd1..878ef842 100644 --- a/Resolutions/XenobladeX_Resolution/738c509776f2c113_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/738c509776f2c113_0000000000000000_vs.txt @@ -1,18 +1,43 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 738c509776f2c113 // front lights +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[10]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[10]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -451,7 +476,7 @@ R2i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x))); float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; -gl_Position = vec4(intBitsToFloat(R3i.x)*(origRatio / newRatio), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); +SET_POSITION(vec4(intBitsToFloat(R3i.x)*(origRatio / newRatio), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/7d2d26ba00a66735_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/7d2d26ba00a66735_0000000000000000_vs.txt index b307682b..902ecf15 100644 --- a/Resolutions/XenobladeX_Resolution/7d2d26ba00a66735_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/7d2d26ba00a66735_0000000000000000_vs.txt @@ -2,23 +2,48 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 7d2d26ba00a66735 // waterfall cascade +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[27]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -layout(location = 11) in uvec4 attrDataSem11; -layout(location = 12) in uvec4 attrDataSem12; +}; +#else +uniform ivec4 uf_remappedVS[27]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; +ATTR_LAYOUT(0, 11) in uvec4 attrDataSem11; +ATTR_LAYOUT(0, 12) in uvec4 attrDataSem12; out gl_PerVertex { vec4 gl_Position; @@ -1398,7 +1423,7 @@ float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); +SET_POSITION(vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/7ec11ebc6ad99936_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/7ec11ebc6ad99936_0000000000000000_vs.txt index bb26088d..5a8a84e2 100644 --- a/Resolutions/XenobladeX_Resolution/7ec11ebc6ad99936_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/7ec11ebc6ad99936_0000000000000000_vs.txt @@ -1,23 +1,48 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 7ec11ebc6ad99936 //Raindrops opening scene +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[27]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -layout(location = 11) in uvec4 attrDataSem11; -layout(location = 12) in uvec4 attrDataSem12; +}; +#else +uniform ivec4 uf_remappedVS[27]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; +ATTR_LAYOUT(0, 11) in uvec4 attrDataSem11; +ATTR_LAYOUT(0, 12) in uvec4 attrDataSem12; out gl_PerVertex { vec4 gl_Position; @@ -1393,7 +1418,7 @@ R1i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[2 float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); +SET_POSITION(vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/8236d4df96d36e25_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/8236d4df96d36e25_0000000000000000_vs.txt index 28b30940..38878ff8 100644 --- a/Resolutions/XenobladeX_Resolution/8236d4df96d36e25_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/8236d4df96d36e25_0000000000000000_vs.txt @@ -2,18 +2,43 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 8236d4df96d36e25 //invation cutscene skell weapons +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[13]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem6; -layout(location = 6) in uvec4 attrDataSem7; -layout(location = 7) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[13]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -276,7 +301,7 @@ R3i.z = floatBitsToInt(max(intBitsToFloat(R4i.z), 0.0)); float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R1i.x)*(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); +SET_POSITION(vec4(intBitsToFloat(R1i.x)*(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/90bdbafc1c764ae6_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/90bdbafc1c764ae6_0000000000000000_vs.txt index f3036805..314deaf1 100644 --- a/Resolutions/XenobladeX_Resolution/90bdbafc1c764ae6_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/90bdbafc1c764ae6_0000000000000000_vs.txt @@ -2,21 +2,46 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 90bdbafc1c764ae6 //sand storm clouds pot +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[27]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; +}; +#else +uniform ivec4 uf_remappedVS[27]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; out gl_PerVertex { vec4 gl_Position; @@ -1380,7 +1405,7 @@ float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) // export -gl_Position = vec4(intBitsToFloat(R4i.x)*(origRatio / newRatio), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); +SET_POSITION(vec4(intBitsToFloat(R4i.x)*(origRatio / newRatio), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/948500d0191d1ed8_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/948500d0191d1ed8_0000000000000000_vs.txt index 2401d2b7..6fe0e182 100644 --- a/Resolutions/XenobladeX_Resolution/948500d0191d1ed8_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/948500d0191d1ed8_0000000000000000_vs.txt @@ -2,19 +2,44 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 948500d0191d1ed8 // invation cutscene skell lights +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[13]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem6; -layout(location = 6) in uvec4 attrDataSem7; -layout(location = 7) in uvec4 attrDataSem8; -layout(location = 8) in uvec4 attrDataSem9; +}; +#else +uniform ivec4 uf_remappedVS[13]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem9; out gl_PerVertex { vec4 gl_Position; @@ -288,7 +313,7 @@ PS0i = R1i.z; float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R9i.x)*(origRatio / newRatio), intBitsToFloat(R9i.y), intBitsToFloat(R9i.z), intBitsToFloat(R9i.w)); +SET_POSITION(vec4(intBitsToFloat(R9i.x)*(origRatio / newRatio), intBitsToFloat(R9i.y), intBitsToFloat(R9i.z), intBitsToFloat(R9i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/9bc5e526132c9534_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/9bc5e526132c9534_0000000000000000_vs.txt index 87251b20..3f40297c 100644 --- a/Resolutions/XenobladeX_Resolution/9bc5e526132c9534_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/9bc5e526132c9534_0000000000000000_vs.txt @@ -1,13 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 9bc5e526132c9534 // selection fill *dumped* +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[11]; uniform vec2 uf_windowSpaceToClipSpaceTransform; uniform float uf_alphaTestRef; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[11]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +uniform float uf_alphaTestRef; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -131,7 +157,7 @@ R2f.w = (R127f.w * intBitsToFloat(uf_remappedVS[10].w) + PV1f.x); float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) -gl_Position = vec4(R2f.x*(origRatio / newRatio), R2f.y, R2f.z, R2f.w); +SET_POSITION(vec4(R2f.x*(origRatio / newRatio), R2f.y, R2f.z, R2f.w)); // export passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); // 0 diff --git a/Resolutions/XenobladeX_Resolution/9dc2d340255dee89_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/9dc2d340255dee89_0000000000000000_vs.txt index 67eb354c..f81beff6 100644 --- a/Resolutions/XenobladeX_Resolution/9dc2d340255dee89_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/9dc2d340255dee89_0000000000000000_vs.txt @@ -2,13 +2,38 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); // shader 9dc2d340255dee89 +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -54,7 +79,7 @@ backupReg1f = R2f.y; R2f.x = (backupReg0f * intBitsToFloat(uf_remappedVS[0].x) + intBitsToFloat(uf_remappedVS[0].z) /resXScale); R2f.y = (backupReg1f * intBitsToFloat(uf_remappedVS[0].y) + intBitsToFloat(uf_remappedVS[0].w) /resXScale); // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R2f.x, R2f.y, R2f.z, R2f.z); // 0 diff --git a/Resolutions/XenobladeX_Resolution/a225baec4db6d89e_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/a225baec4db6d89e_0000000000000000_vs.txt index d099dd6d..f6f6ae87 100644 --- a/Resolutions/XenobladeX_Resolution/a225baec4db6d89e_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/a225baec4db6d89e_0000000000000000_vs.txt @@ -2,21 +2,46 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader a225baec4db6d89e //flying trails desert +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[27]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; +}; +#else +uniform ivec4 uf_remappedVS[27]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; out gl_PerVertex { vec4 gl_Position; @@ -1379,7 +1404,7 @@ float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) // export -gl_Position = vec4(intBitsToFloat(R4i.x) *(origRatio / newRatio), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); +SET_POSITION(vec4(intBitsToFloat(R4i.x) *(origRatio / newRatio), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/ba529c2c3078fff0_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/ba529c2c3078fff0_0000000000000000_vs.txt index 5896ccab..af979ef2 100644 --- a/Resolutions/XenobladeX_Resolution/ba529c2c3078fff0_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/ba529c2c3078fff0_0000000000000000_vs.txt @@ -1,16 +1,41 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader ba529c2c3078fff0 // rain engine glow // drop frame blend? +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[13]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem5; -layout(location = 5) in uvec4 attrDataSem6; -layout(location = 6) in uvec4 attrDataSem7; +}; +#else +uniform ivec4 uf_remappedVS[13]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem7; out gl_PerVertex { vec4 gl_Position; @@ -265,7 +290,7 @@ float newRatio = (float($width)/float($height)) ; // export -gl_Position = vec4(intBitsToFloat(R1i.x)*(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); +SET_POSITION(vec4(intBitsToFloat(R1i.x)*(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/c01cc5b7af21f689_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/c01cc5b7af21f689_0000000000000000_vs.txt index 88b33abc..62c51726 100644 --- a/Resolutions/XenobladeX_Resolution/c01cc5b7af21f689_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/c01cc5b7af21f689_0000000000000000_vs.txt @@ -2,21 +2,46 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader c01cc5b7af21f689 //fog skell flight +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[27]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; +}; +#else +uniform ivec4 uf_remappedVS[27]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; out gl_PerVertex { vec4 gl_Position; @@ -1370,7 +1395,7 @@ float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) // export -gl_Position = vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); +SET_POSITION(vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/ccc475eb7e537add_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/ccc475eb7e537add_0000000000000000_vs.txt index b8507d1e..3ae5e976 100644 --- a/Resolutions/XenobladeX_Resolution/ccc475eb7e537add_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/ccc475eb7e537add_0000000000000000_vs.txt @@ -2,17 +2,42 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader ccc475eb7e537add //motion streaks sword +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[22]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; +}; +#else +uniform ivec4 uf_remappedVS[22]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; out gl_PerVertex { vec4 gl_Position; @@ -524,7 +549,7 @@ float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) // export -gl_Position = vec4(intBitsToFloat(R9i.x)*(origRatio / newRatio), intBitsToFloat(R9i.y), intBitsToFloat(R9i.z), intBitsToFloat(R9i.w)); +SET_POSITION(vec4(intBitsToFloat(R9i.x)*(origRatio / newRatio), intBitsToFloat(R9i.y), intBitsToFloat(R9i.z), intBitsToFloat(R9i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/ccc6fb8b53f5f651_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/ccc6fb8b53f5f651_0000000000000000_vs.txt index 33737511..60fcef8c 100644 --- a/Resolutions/XenobladeX_Resolution/ccc6fb8b53f5f651_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/ccc6fb8b53f5f651_0000000000000000_vs.txt @@ -2,22 +2,47 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader ccc6fb8b53f5f651 //flying enemies trails 2 +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[27]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -layout(location = 11) in uvec4 attrDataSem11; +}; +#else +uniform ivec4 uf_remappedVS[27]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; +ATTR_LAYOUT(0, 11) in uvec4 attrDataSem11; out gl_PerVertex { vec4 gl_Position; @@ -1385,7 +1410,7 @@ float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) // export -gl_Position = vec4(intBitsToFloat(R4i.x)*(origRatio / newRatio), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); +SET_POSITION(vec4(intBitsToFloat(R4i.x)*(origRatio / newRatio), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/d0664898dbf28dfa_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/d0664898dbf28dfa_0000000000000000_vs.txt index 54cbb21d..4618b4ba 100644 --- a/Resolutions/XenobladeX_Resolution/d0664898dbf28dfa_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/d0664898dbf28dfa_0000000000000000_vs.txt @@ -1,11 +1,36 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader d0664898dbf28dfa// Pillarbox cutscene fmvs 16:9 -> 21:9 +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -65,7 +90,7 @@ R1f.w = 1.0; float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) -gl_Position = vec4(R1f.x*(origRatio / newRatio), R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x*(origRatio / newRatio), R1f.y, R1f.z, R1f.w)); // export passParameterSem0 = vec4(R2f.x, R2f.y, R2f.z, R2f.z); // 0 diff --git a/Resolutions/XenobladeX_Resolution/d321199dc854621f_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/d321199dc854621f_0000000000000000_vs.txt index 25ee46fc..0aa7272f 100644 --- a/Resolutions/XenobladeX_Resolution/d321199dc854621f_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/d321199dc854621f_0000000000000000_vs.txt @@ -2,19 +2,44 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader d321199dc854621f //flying enemies trails +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[26]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[26]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -1257,7 +1282,7 @@ float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) // export -gl_Position = vec4(intBitsToFloat(R10i.x)*(origRatio / newRatio), intBitsToFloat(R10i.y), intBitsToFloat(R10i.z), intBitsToFloat(R10i.w)); +SET_POSITION(vec4(intBitsToFloat(R10i.x)*(origRatio / newRatio), intBitsToFloat(R10i.y), intBitsToFloat(R10i.z), intBitsToFloat(R10i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/d7074f19f5ca3b20_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/d7074f19f5ca3b20_0000000000000000_vs.txt index 93458756..0cafe04e 100644 --- a/Resolutions/XenobladeX_Resolution/d7074f19f5ca3b20_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/d7074f19f5ca3b20_0000000000000000_vs.txt @@ -1,14 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader d7074f19f5ca3b20 //tower counter +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[14]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; +}; +#else +uniform ivec4 uf_remappedVS[14]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; out gl_PerVertex { vec4 gl_Position; @@ -246,7 +271,7 @@ PS1i = R2i.x; float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R1i.x) *(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); +SET_POSITION(vec4(intBitsToFloat(R1i.x) *(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w))); // export passParameterSem1 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.z)); // 0 diff --git a/Resolutions/XenobladeX_Resolution/df832bc2e6d22e45_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/df832bc2e6d22e45_0000000000000000_vs.txt index 47621a45..57a9c4bf 100644 --- a/Resolutions/XenobladeX_Resolution/df832bc2e6d22e45_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/df832bc2e6d22e45_0000000000000000_vs.txt @@ -1,20 +1,45 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader df832bc2e6d22e45 // water splash drinking +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[27]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; +}; +#else +uniform ivec4 uf_remappedVS[27]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; out gl_PerVertex { vec4 gl_Position; @@ -1365,7 +1390,7 @@ float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) // export -gl_Position = vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); +SET_POSITION(vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/dfacd3f8f448aeaa_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/dfacd3f8f448aeaa_0000000000000000_vs.txt index 42ad5b9e..87827e53 100644 --- a/Resolutions/XenobladeX_Resolution/dfacd3f8f448aeaa_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/dfacd3f8f448aeaa_0000000000000000_vs.txt @@ -1,17 +1,42 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader dfacd3f8f448aeaa // car lights streaks +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[26]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; +}; +#else +uniform ivec4 uf_remappedVS[26]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; out gl_PerVertex { vec4 gl_Position; @@ -1251,7 +1276,7 @@ R0i.z = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[2 float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; -gl_Position = vec4(intBitsToFloat(R12i.x)*(origRatio / newRatio), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); +SET_POSITION(vec4(intBitsToFloat(R12i.x)*(origRatio / newRatio), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/e082c1f638f8e81e_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/e082c1f638f8e81e_0000000000000000_vs.txt index 6a0eb05e..00b88ed6 100644 --- a/Resolutions/XenobladeX_Resolution/e082c1f638f8e81e_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/e082c1f638f8e81e_0000000000000000_vs.txt @@ -1,24 +1,49 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader e082c1f638f8e81e //mask is probably scaled and fixed transparency // transport flame, fog and quest marking, waterfall, computer login float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[27]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; +}; +#else +uniform ivec4 uf_remappedVS[27]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; out gl_PerVertex { vec4 gl_Position; @@ -1354,7 +1379,7 @@ R1i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[2 // *(origRatio / newRatio) // export -gl_Position = vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); +SET_POSITION(vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/e99ed318f647e1cf_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/e99ed318f647e1cf_0000000000000000_vs.txt index dd821b2b..1d117eda 100644 --- a/Resolutions/XenobladeX_Resolution/e99ed318f647e1cf_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/e99ed318f647e1cf_0000000000000000_vs.txt @@ -1,20 +1,45 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader e99ed318f647e1cf // skell lights opening +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[27]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; +}; +#else +uniform ivec4 uf_remappedVS[27]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; out gl_PerVertex { vec4 gl_Position; @@ -1365,7 +1390,7 @@ float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); +SET_POSITION(vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/ec248df3384d3d18_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/ec248df3384d3d18_0000000000000000_vs.txt index c1424ab2..64af0564 100644 --- a/Resolutions/XenobladeX_Resolution/ec248df3384d3d18_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/ec248df3384d3d18_0000000000000000_vs.txt @@ -2,19 +2,44 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader ec248df3384d3d18 //run dust and shadows intro +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[27]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem9; +}; +#else +uniform ivec4 uf_remappedVS[27]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem9; out gl_PerVertex { vec4 gl_Position; @@ -1310,7 +1335,7 @@ float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) // export -gl_Position = vec4(intBitsToFloat(R0i.x) *(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); +SET_POSITION(vec4(intBitsToFloat(R0i.x) *(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/eec2c2cee7a1d42f_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/eec2c2cee7a1d42f_0000000000000000_vs.txt index 7e2a16bc..c57b9b9c 100644 --- a/Resolutions/XenobladeX_Resolution/eec2c2cee7a1d42f_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/eec2c2cee7a1d42f_0000000000000000_vs.txt @@ -1,21 +1,46 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader eec2c2cee7a1d42f //waterfall splashes cutscene, rain *dumped* +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[27]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; +}; +#else +uniform ivec4 uf_remappedVS[27]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; out gl_PerVertex { vec4 gl_Position; @@ -1378,7 +1403,7 @@ R1i.w = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[19 float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R4i.x)*(origRatio / newRatio), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); +SET_POSITION(vec4(intBitsToFloat(R4i.x)*(origRatio / newRatio), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); // export diff --git a/Resolutions/XenobladeX_Resolution/fa7054d25fd49999_0000000000000000_vs.txt b/Resolutions/XenobladeX_Resolution/fa7054d25fd49999_0000000000000000_vs.txt index a2dae5b3..9057471b 100644 --- a/Resolutions/XenobladeX_Resolution/fa7054d25fd49999_0000000000000000_vs.txt +++ b/Resolutions/XenobladeX_Resolution/fa7054d25fd49999_0000000000000000_vs.txt @@ -2,12 +2,37 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader fa7054d25fd49999 //lock line combat +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[4]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; +}; +#else +uniform ivec4 uf_remappedVS[4]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; out gl_PerVertex { vec4 gl_Position; @@ -99,7 +124,7 @@ float origRatio = (float(1280)/float(720)); float newRatio = (float($width)/float($height)) ; // *(origRatio / newRatio) // export -gl_Position = vec4(R0f.x*(origRatio / newRatio), R0f.y, R0f.z, R0f.w); +SET_POSITION(vec4(R0f.x*(origRatio / newRatio), R0f.y, R0f.z, R0f.w)); // export passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); // export diff --git a/Resolutions/XenobladeX_Resolution/fdb5a87dd0368c6b_000000000000f249_ps.txt b/Resolutions/XenobladeX_Resolution/fdb5a87dd0368c6b_000000000000f249_ps.txt index 5cc60f0e..dca40aea 100644 --- a/Resolutions/XenobladeX_Resolution/fdb5a87dd0368c6b_000000000000f249_ps.txt +++ b/Resolutions/XenobladeX_Resolution/fdb5a87dd0368c6b_000000000000f249_ps.txt @@ -1,18 +1,43 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); // shader fdb5a87dd0368c6b //shadow scaling +#ifdef VULKAN +layout(set = 1, binding = 4) uniform ufBlock +{ uniform ivec4 uf_remappedPS[23]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4386000 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: 0 -layout(binding = 1) uniform sampler2DShadow textureUnitPS1;// Tex1 addr 0xf551a000 res 1024x1024x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 2) uniform sampler2DShadow textureUnitPS2;// Tex2 addr 0xf571a000 res 1024x1024x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 3) uniform sampler2DShadow textureUnitPS3;// Tex3 addr 0xf591a000 res 512x512x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 6 6 6 border: 2 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[23]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4386000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2DShadow textureUnitPS1;// Tex1 addr 0xf551a000 res 1024x1024x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2DShadow textureUnitPS2;// Tex2 addr 0xf571a000 res 1024x1024x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(3, 1, 3) uniform sampler2DShadow textureUnitPS3;// Tex3 addr 0xf591a000 res 512x512x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/XenobladeX_Resolution/rules.txt b/Resolutions/XenobladeX_Resolution/rules.txt index 97fb2c71..2ab01ca1 100644 --- a/Resolutions/XenobladeX_Resolution/rules.txt +++ b/Resolutions/XenobladeX_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 name = Resolution path = "Xenoblade Chronicles X/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] diff --git a/Resolutions/YoshisWoollyWorld_Resolution/b5082db8c1a44514_0000000000000079_ps.txt b/Resolutions/YoshisWoollyWorld_Resolution/b5082db8c1a44514_0000000000000079_ps.txt index b9bdfb75..831d0828 100644 --- a/Resolutions/YoshisWoollyWorld_Resolution/b5082db8c1a44514_0000000000000079_ps.txt +++ b/Resolutions/YoshisWoollyWorld_Resolution/b5082db8c1a44514_0000000000000079_ps.txt @@ -1,14 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader b5082db8c1a44514 //BGblur vert const float dither = $dither ; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_uniformRegisterPS[256]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e14800 res 640x360x1 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: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_uniformRegisterPS[256]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e14800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; highp float lineRand(vec2 co) { diff --git a/Resolutions/YoshisWoollyWorld_Resolution/f1f99f18ae69719b_0000000000000079_ps.txt b/Resolutions/YoshisWoollyWorld_Resolution/f1f99f18ae69719b_0000000000000079_ps.txt index 70c6504f..886c28c8 100644 --- a/Resolutions/YoshisWoollyWorld_Resolution/f1f99f18ae69719b_0000000000000079_ps.txt +++ b/Resolutions/YoshisWoollyWorld_Resolution/f1f99f18ae69719b_0000000000000079_ps.txt @@ -1,14 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader f1f99f18ae69719b //Bg horizontal const float dither = $dither ; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_uniformRegisterPS[256]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf59d2000 res 640x360x1 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: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_uniformRegisterPS[256]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf59d2000 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; highp float lineRand(vec2 co) diff --git a/Resolutions/YoshisWoollyWorld_Resolution/rules.txt b/Resolutions/YoshisWoollyWorld_Resolution/rules.txt index 2d71272e..905d48a9 100644 --- a/Resolutions/YoshisWoollyWorld_Resolution/rules.txt +++ b/Resolutions/YoshisWoollyWorld_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010131F00,0005000010184E00,0005000010184D00 name = Resolution path = "Yoshi's Woolly World/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] name = 1280x720 (Default) diff --git a/Resolutions/ZombiU_Resolution/9993b65e9eb6bb1d_0000000000000079_ps.txt b/Resolutions/ZombiU_Resolution/9993b65e9eb6bb1d_0000000000000079_ps.txt index b1490410..70232ce3 100644 --- a/Resolutions/ZombiU_Resolution/9993b65e9eb6bb1d_0000000000000079_ps.txt +++ b/Resolutions/ZombiU_Resolution/9993b65e9eb6bb1d_0000000000000079_ps.txt @@ -1,16 +1,41 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 9993b65e9eb6bb1d //aa const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4385000 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4385000 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem130; layout(location = 1) in vec4 passParameterSem134; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/ZombiU_Resolution/d121b990e877579c_0000000000079249_ps.txt b/Resolutions/ZombiU_Resolution/d121b990e877579c_0000000000079249_ps.txt index 7ddedc76..26753ae6 100644 --- a/Resolutions/ZombiU_Resolution/d121b990e877579c_0000000000079249_ps.txt +++ b/Resolutions/ZombiU_Resolution/d121b990e877579c_0000000000079249_ps.txt @@ -1,22 +1,47 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader d121b990e877579c //shadow penumbra const float resXScale = float($width)/float($gameWidth); const float resYScale = float($height)/float($gameHeight); +#ifdef VULKAN +layout(set = 1, binding = 5) uniform ufBlock +{ uniform ivec4 uf_remappedPS[11]; -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf4001000 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 12) uniform sampler2DShadow textureUnitPS12;// Tex12 addr 0x28638000 res 512x512x1 dim 1 tm: 4 format 0005 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0xf4385000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf4e12000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x1407d800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 2 2 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[11]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(11, 1, 0) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf4001000 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(12, 1, 1) uniform sampler2DShadow textureUnitPS12;// Tex12 addr 0x28638000 res 512x512x1 dim 1 tm: 4 format 0005 compSel: 0 0 0 0 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(13, 1, 2) uniform sampler2D textureUnitPS13;// Tex13 addr 0xf4385000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(14, 1, 3) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf4e12000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(15, 1, 4) uniform sampler2D textureUnitPS15;// Tex15 addr 0x1407d800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem130; layout(location = 1) in vec4 passParameterSem131; layout(location = 2) in vec4 passParameterSem132; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Resolutions/ZombiU_Resolution/rules.txt b/Resolutions/ZombiU_Resolution/rules.txt index da8255e5..8538d33d 100644 --- a/Resolutions/ZombiU_Resolution/rules.txt +++ b/Resolutions/ZombiU_Resolution/rules.txt @@ -3,7 +3,7 @@ titleIds = 000500001010DD00,000500001010EF00,0005000010112300,000500001011A700,0 name = Resolution path = "ZombiU/Graphics/Resolution" description = Changes the resolution of the game. -version = 3 +version = 4 [Preset] name = 1280x720 (Default) diff --git a/Workarounds/Bayonetta2_Portal/e1e83a29eef8fee8_0000000000000000_vs.txt b/Workarounds/Bayonetta2_Portal/e1e83a29eef8fee8_0000000000000000_vs.txt index 8f9386f7..77b2fca9 100644 --- a/Workarounds/Bayonetta2_Portal/e1e83a29eef8fee8_0000000000000000_vs.txt +++ b/Workarounds/Bayonetta2_Portal/e1e83a29eef8fee8_0000000000000000_vs.txt @@ -2,14 +2,40 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader e1e83a29eef8fee8 // Used for: Hiding the blue layer behind the portal that doesn't appear on the Wii U. +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[7]; uniform vec2 uf_windowSpaceToClipSpaceTransform; uniform float uf_alphaTestRef; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem5; +}; +#else +uniform ivec4 uf_remappedVS[7]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +uniform float uf_alphaTestRef; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem5; out gl_PerVertex { vec4 gl_Position; @@ -218,7 +244,7 @@ R1f.y = PV0f.x + 0.5; R1f.z = R0f.z; R1f.w = R0f.w; // export -gl_Position = vec4(0.0, 0.0, 0.0, 0.0); +SET_POSITION(vec4(0.0, 0.0, 0.0, 0.0)); // export passParameterSem133 = vec4(0.0, 0.0, 0.0, 0.0); // export diff --git a/Workarounds/Bayonetta2_Portal/rules.txt b/Workarounds/Bayonetta2_Portal/rules.txt index 975ea65e..f6724ae1 100644 --- a/Workarounds/Bayonetta2_Portal/rules.txt +++ b/Workarounds/Bayonetta2_Portal/rules.txt @@ -3,6 +3,6 @@ titleIds = 0005000010172600,0005000010172700,000500001011B900 name = Hides weird blue texture by blue portals. path = "Bayonetta 2/Workarounds/Portal" description = Hides a weird blue layer by the blue portals that's also not visible on the original console. -version = 3 +version = 4 # For a visual comparison, see this album: https://imgur.com/a/4e3HMS2 \ No newline at end of file diff --git a/Workarounds/BreathOfTheWild_!ShadowFix/09085793b5a9f364_00001ffe492e9249_ps.txt b/Workarounds/BreathOfTheWild_!ShadowFix/09085793b5a9f364_00001ffe492e9249_ps.txt index ca874969..f8e35155 100644 --- a/Workarounds/BreathOfTheWild_!ShadowFix/09085793b5a9f364_00001ffe492e9249_ps.txt +++ b/Workarounds/BreathOfTheWild_!ShadowFix/09085793b5a9f364_00001ffe492e9249_ps.txt @@ -1,32 +1,49 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader d2cb8f8abc8a00bc -layout(binding = 33, std140) uniform uniformBlockPS1 +UNIFORM_BUFFER_LAYOUT(33, 1, 12) uniform uniformBlockPS1 { vec4 uf_blockPS1[1024]; }; -layout(binding = 38, std140) uniform uniformBlockPS6 +UNIFORM_BUFFER_LAYOUT(38, 1, 13) uniform uniformBlockPS6 { vec4 uf_blockPS6[1024]; }; -layout(binding = 42, std140) uniform uniformBlockPS10 +UNIFORM_BUFFER_LAYOUT(42, 1, 14) uniform uniformBlockPS10 { vec4 uf_blockPS10[1024]; }; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30fe6000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x2448b000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 0 border: 1 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 6) uniform samplerCubeArray textureUnitPS6;// Tex6 addr 0x3db62800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform sampler2DArray textureUnitPS7;// Tex7 addr 0xf58a8000 res 360x360x3 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x3) Sampler7 ClampX/Y/Z: 6 6 2 border: 2 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x3da22000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0x3db3e800 res 96x96x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x30fe8000 res 2000x1600x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 1 1 1 border: 1 -layout(binding = 16) uniform sampler2D textureUnitPS16;// Tex16 addr 0x3db87000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30fe6000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(4, 1, 2) uniform sampler2D textureUnitPS4;// Tex4 addr 0x2448b000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb +TEXTURE_LAYOUT(5, 1, 3) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(6, 1, 4) uniform samplerCubeArray textureUnitPS6;// Tex6 addr 0x3db62800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4 +TEXTURE_LAYOUT(7, 1, 5) uniform sampler2DArray textureUnitPS7;// Tex7 addr 0xf58a8000 res 360x360x3 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(10, 1, 6) uniform sampler2D textureUnitPS10;// Tex10 addr 0x3da22000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(11, 1, 7) uniform sampler2D textureUnitPS11;// Tex11 addr 0x3db3e800 res 96x96x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(14, 1, 8) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(15, 1, 9) uniform sampler2D textureUnitPS15;// Tex15 addr 0x30fe8000 res 2000x1600x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x2 +TEXTURE_LAYOUT(16, 1, 10) uniform sampler2D textureUnitPS16;// Tex16 addr 0x3db87000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem2; layout(location = 2) in vec4 passParameterSem5; @@ -34,7 +51,14 @@ layout(location = 3) in vec4 passParameterSem6; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 2) out vec4 passPixelColor2; +#ifdef VULKAN +layout(set = 1, binding = 11) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; +#endif void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) { // stm -> x .. s, y .. t, z .. MajorAxis*2.0 diff --git a/Workarounds/BreathOfTheWild_!ShadowFix/45e72a252caba763_000003c000009269_ps.txt b/Workarounds/BreathOfTheWild_!ShadowFix/45e72a252caba763_000003c000009269_ps.txt index 383c6e01..2d479ace 100644 --- a/Workarounds/BreathOfTheWild_!ShadowFix/45e72a252caba763_000003c000009269_ps.txt +++ b/Workarounds/BreathOfTheWild_!ShadowFix/45e72a252caba763_000003c000009269_ps.txt @@ -1,32 +1,56 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader cbbcf83b05c6d921 -layout(binding = 33, std140) uniform uniformBlockPS1 +UNIFORM_BUFFER_LAYOUT(33, 1, 7) uniform uniformBlockPS1 { vec4 uf_blockPS1[1024]; }; -layout(binding = 38, std140) uniform uniformBlockPS6 +UNIFORM_BUFFER_LAYOUT(38, 1, 8) uniform uniformBlockPS6 { vec4 uf_blockPS6[1024]; }; -layout(binding = 42, std140) uniform uniformBlockPS10 +UNIFORM_BUFFER_LAYOUT(42, 1, 9) uniform uniformBlockPS10 { vec4 uf_blockPS10[1024]; }; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x30fe6800 res 32x32x1 dim 1 tm: 2 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x6) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform sampler2DArray textureUnitPS7;// Tex7 addr 0xf557c800 res 720x720x3 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x3) Sampler7 ClampX/Y/Z: 6 6 2 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x30fe8000 res 2000x1600x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 1 1 1 border: 1 +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1;// Tex1 addr 0x30fe6800 res 32x32x1 dim 1 tm: 2 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x6 +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(6, 1, 3) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(7, 1, 4) uniform sampler2DArray textureUnitPS7;// Tex7 addr 0xf557c800 res 720x720x3 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(14, 1, 5) uniform sampler2D textureUnitPS14;// Tex14 addr 0x30fe8000 res 2000x1600x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x2 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem5; layout(location = 2) in vec4 passParameterSem6; layout(location = 5) out vec4 passPixelColor5; +#ifdef VULKAN +layout(set = 1, binding = 6) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; +#endif int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Workarounds/BreathOfTheWild_!ShadowFix/59cba7eb9a9c1df6_00000007f924d249_ps.txt b/Workarounds/BreathOfTheWild_!ShadowFix/59cba7eb9a9c1df6_00000007f924d249_ps.txt index 467ba550..bf98e1e2 100644 --- a/Workarounds/BreathOfTheWild_!ShadowFix/59cba7eb9a9c1df6_00000007f924d249_ps.txt +++ b/Workarounds/BreathOfTheWild_!ShadowFix/59cba7eb9a9c1df6_00000007f924d249_ps.txt @@ -1,37 +1,61 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 9c98a67271f8cc75 -layout(binding = 33, std140) uniform uniformBlockPS1 +UNIFORM_BUFFER_LAYOUT(33, 1, 10) uniform uniformBlockPS1 { vec4 uf_blockPS1[1024]; }; -layout(binding = 38, std140) uniform uniformBlockPS6 +UNIFORM_BUFFER_LAYOUT(38, 1, 11) uniform uniformBlockPS6 { vec4 uf_blockPS6[1024]; }; -layout(binding = 42, std140) uniform uniformBlockPS10 +UNIFORM_BUFFER_LAYOUT(42, 1, 12) uniform uniformBlockPS10 { vec4 uf_blockPS10[1024]; }; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30fe6000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x2448b000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 0 border: 1 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform sampler2DArray textureUnitPS7;// Tex7 addr 0xf58a8000 res 360x360x3 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x3) Sampler7 ClampX/Y/Z: 6 6 2 border: 2 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x3da22000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0x3db3e800 res 96x96x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x30fe8000 res 2000x1600x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 1 1 1 border: 1 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30fe6000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(4, 1, 2) uniform sampler2D textureUnitPS4;// Tex4 addr 0x2448b000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb +TEXTURE_LAYOUT(5, 1, 3) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(7, 1, 4) uniform sampler2DArray textureUnitPS7;// Tex7 addr 0xf58a8000 res 360x360x3 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(10, 1, 5) uniform sampler2D textureUnitPS10;// Tex10 addr 0x3da22000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(11, 1, 6) uniform sampler2D textureUnitPS11;// Tex11 addr 0x3db3e800 res 96x96x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(14, 1, 7) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(15, 1, 8) uniform sampler2D textureUnitPS15;// Tex15 addr 0x30fe8000 res 2000x1600x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x2 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem2; layout(location = 2) in vec4 passParameterSem5; layout(location = 3) in vec4 passParameterSem6; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; +#ifdef VULKAN +layout(set = 1, binding = 9) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; +#endif int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Workarounds/BreathOfTheWild_!ShadowFix/808ba0411f6f526e_0000007ff9249a49_ps.txt b/Workarounds/BreathOfTheWild_!ShadowFix/808ba0411f6f526e_0000007ff9249a49_ps.txt index d4929cc6..9deabc76 100644 --- a/Workarounds/BreathOfTheWild_!ShadowFix/808ba0411f6f526e_0000007ff9249a49_ps.txt +++ b/Workarounds/BreathOfTheWild_!ShadowFix/808ba0411f6f526e_0000007ff9249a49_ps.txt @@ -1,30 +1,47 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader a73d770e3204e2e6 -layout(binding = 33, std140) uniform uniformBlockPS1 +UNIFORM_BUFFER_LAYOUT(33, 1, 10) uniform uniformBlockPS1 { vec4 uf_blockPS1[1024]; }; -layout(binding = 38, std140) uniform uniformBlockPS6 +UNIFORM_BUFFER_LAYOUT(38, 1, 11) uniform uniformBlockPS6 { vec4 uf_blockPS6[1024]; }; -layout(binding = 42, std140) uniform uniformBlockPS10 +UNIFORM_BUFFER_LAYOUT(42, 1, 12) uniform uniformBlockPS10 { vec4 uf_blockPS10[1024]; }; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30fe6000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x2448b000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 0 border: 1 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 6) uniform sampler2DArray textureUnitPS6;// Tex6 addr 0xf58a8000 res 360x360x3 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x3) Sampler6 ClampX/Y/Z: 6 6 2 border: 2 -layout(binding = 9) uniform sampler2D textureUnitPS9;// Tex9 addr 0x3da22000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler9 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x30fe8000 res 2000x1600x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 1 1 1 border: 1 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30fe6000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4;// Tex4 addr 0x2448b000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb +TEXTURE_LAYOUT(5, 1, 4) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(6, 1, 5) uniform sampler2DArray textureUnitPS6;// Tex6 addr 0xf58a8000 res 360x360x3 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(9, 1, 6) uniform sampler2D textureUnitPS9;// Tex9 addr 0x3da22000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(12, 1, 7) uniform sampler2D textureUnitPS12;// Tex12 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(13, 1, 8) uniform sampler2D textureUnitPS13;// Tex13 addr 0x30fe8000 res 2000x1600x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x2 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem2; layout(location = 2) in vec4 passParameterSem5; @@ -32,7 +49,14 @@ layout(location = 3) in vec4 passParameterSem6; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 2) out vec4 passPixelColor2; +#ifdef VULKAN +layout(set = 1, binding = 9) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; +#endif int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Workarounds/BreathOfTheWild_!ShadowFix/88133ee405eaae28_000003c000009269_ps.txt b/Workarounds/BreathOfTheWild_!ShadowFix/88133ee405eaae28_000003c000009269_ps.txt index 910ead73..4f1e51bb 100644 --- a/Workarounds/BreathOfTheWild_!ShadowFix/88133ee405eaae28_000003c000009269_ps.txt +++ b/Workarounds/BreathOfTheWild_!ShadowFix/88133ee405eaae28_000003c000009269_ps.txt @@ -1,32 +1,56 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader ffe0e8c84f6e8da9 -layout(binding = 33, std140) uniform uniformBlockPS1 +UNIFORM_BUFFER_LAYOUT(33, 1, 7) uniform uniformBlockPS1 { vec4 uf_blockPS1[1024]; }; -layout(binding = 38, std140) uniform uniformBlockPS6 +UNIFORM_BUFFER_LAYOUT(38, 1, 8) uniform uniformBlockPS6 { vec4 uf_blockPS6[1024]; }; -layout(binding = 42, std140) uniform uniformBlockPS10 +UNIFORM_BUFFER_LAYOUT(42, 1, 9) uniform uniformBlockPS10 { vec4 uf_blockPS10[1024]; }; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30fe6800 res 4x4x1 dim 1 tm: 2 format 0007 compSel: 0 0 0 1 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x30fe6800 res 32x32x1 dim 1 tm: 2 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x6) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 8) uniform sampler2DArray textureUnitPS8;// Tex8 addr 0xf557c800 res 720x720x3 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x3) Sampler8 ClampX/Y/Z: 6 6 2 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x30fe8000 res 2000x1600x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 1 1 1 border: 1 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30fe6800 res 4x4x1 dim 1 tm: 2 format 0007 compSel: 0 0 0 1 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x30fe6800 res 32x32x1 dim 1 tm: 2 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x6 +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(6, 1, 3) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(8, 1, 4) uniform sampler2DArray textureUnitPS8;// Tex8 addr 0xf557c800 res 720x720x3 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(15, 1, 5) uniform sampler2D textureUnitPS15;// Tex15 addr 0x30fe8000 res 2000x1600x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x2 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem5; layout(location = 2) in vec4 passParameterSem6; layout(location = 5) out vec4 passPixelColor5; +#ifdef VULKAN +layout(set = 1, binding = 6) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; +#endif int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Workarounds/BreathOfTheWild_!ShadowFix/9c0b7031078fba88_0000007800001269_ps.txt b/Workarounds/BreathOfTheWild_!ShadowFix/9c0b7031078fba88_0000007800001269_ps.txt index 6e0385c7..b4d81c14 100644 --- a/Workarounds/BreathOfTheWild_!ShadowFix/9c0b7031078fba88_0000007800001269_ps.txt +++ b/Workarounds/BreathOfTheWild_!ShadowFix/9c0b7031078fba88_0000007800001269_ps.txt @@ -1,31 +1,55 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader b8a18eeb20759bfd -layout(binding = 33, std140) uniform uniformBlockPS1 +UNIFORM_BUFFER_LAYOUT(33, 1, 6) uniform uniformBlockPS1 { vec4 uf_blockPS1[1024]; }; -layout(binding = 38, std140) uniform uniformBlockPS6 +UNIFORM_BUFFER_LAYOUT(38, 1, 7) uniform uniformBlockPS6 { vec4 uf_blockPS6[1024]; }; -layout(binding = 42, std140) uniform uniformBlockPS10 +UNIFORM_BUFFER_LAYOUT(42, 1, 8) uniform uniformBlockPS10 { vec4 uf_blockPS10[1024]; }; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform sampler2DArray textureUnitPS7;// Tex7 addr 0xf557c800 res 720x720x3 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x3) Sampler7 ClampX/Y/Z: 6 6 2 border: 2 -layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0x39659800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 2 2 2 border: 1 +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(5, 1, 2) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(7, 1, 3) uniform sampler2DArray textureUnitPS7;// Tex7 addr 0xf557c800 res 720x720x3 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(12, 1, 4) uniform sampler2D textureUnitPS12;// Tex12 addr 0x39659800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem5; layout(location = 2) in vec4 passParameterSem6; layout(location = 5) out vec4 passPixelColor5; +#ifdef VULKAN +layout(set = 1, binding = 5) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; +#endif int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Workarounds/BreathOfTheWild_!ShadowFix/rules.txt b/Workarounds/BreathOfTheWild_!ShadowFix/rules.txt index f3a8b7c6..dd3db26d 100644 --- a/Workarounds/BreathOfTheWild_!ShadowFix/rules.txt +++ b/Workarounds/BreathOfTheWild_!ShadowFix/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 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 +version = 4 # Made by ethrillo # Updated by Cypher to support BotW 1.4.0+ diff --git a/Workarounds/BreathOfTheWild_AMD_ShaderCrash/15bc7edf9de2ed30_0000000000000000_vs.txt b/Workarounds/BreathOfTheWild_AMD_ShaderCrash/15bc7edf9de2ed30_0000000000000000_vs.txt index 22770bc8..ded12333 100644 --- a/Workarounds/BreathOfTheWild_AMD_ShaderCrash/15bc7edf9de2ed30_0000000000000000_vs.txt +++ b/Workarounds/BreathOfTheWild_AMD_ShaderCrash/15bc7edf9de2ed30_0000000000000000_vs.txt @@ -2,44 +2,61 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 15bc7edf9de2ed30 -layout(binding = 6, std140) +UNIFORM_BUFFER_LAYOUT(6, 0, 1) uniform uniformBlockVS6 { vec4 uf_blockVS6[1024]; }; -layout(binding = 7, std140) +UNIFORM_BUFFER_LAYOUT(7, 0, 2) uniform uniformBlockVS7 { vec4 uf_blockVS7[1024]; }; -layout(binding = 8, std140) +UNIFORM_BUFFER_LAYOUT(8, 0, 3) uniform uniformBlockVS8 { vec4 uf_blockVS8[1024]; }; -layout(binding = 11, std140) +UNIFORM_BUFFER_LAYOUT(11, 0, 4) uniform uniformBlockVS11 { vec4 uf_blockVS11[1024]; }; -layout(binding = 45) uniform sampler2D textureUnitVS13; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; +TEXTURE_LAYOUT(45, 0, 0) uniform sampler2D textureUnitVS13; +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; out gl_PerVertex { vec4 gl_Position; @@ -57,5 +74,5 @@ float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,a void main() { // export -gl_Position = vec4(0.0); +SET_POSITION(vec4(0.0)); } diff --git a/Workarounds/BreathOfTheWild_AMD_ShaderCrash/24838b84d15a1da1_0000000000000000_vs.txt b/Workarounds/BreathOfTheWild_AMD_ShaderCrash/24838b84d15a1da1_0000000000000000_vs.txt index f64ec631..cbaa4d83 100644 --- a/Workarounds/BreathOfTheWild_AMD_ShaderCrash/24838b84d15a1da1_0000000000000000_vs.txt +++ b/Workarounds/BreathOfTheWild_AMD_ShaderCrash/24838b84d15a1da1_0000000000000000_vs.txt @@ -2,55 +2,72 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 24838b84d15a1da1 -layout(binding = 6, std140) +UNIFORM_BUFFER_LAYOUT(6, 0, 2) uniform uniformBlockVS6 { vec4 uf_blockVS6[1024]; }; -layout(binding = 7, std140) +UNIFORM_BUFFER_LAYOUT(7, 0, 3) uniform uniformBlockVS7 { vec4 uf_blockVS7[1024]; }; -layout(binding = 8, std140) +UNIFORM_BUFFER_LAYOUT(8, 0, 4) uniform uniformBlockVS8 { vec4 uf_blockVS8[1024]; }; -layout(binding = 11, std140) +UNIFORM_BUFFER_LAYOUT(11, 0, 5) uniform uniformBlockVS11 { vec4 uf_blockVS11[1024]; }; -layout(binding = 13, std140) +UNIFORM_BUFFER_LAYOUT(13, 0, 6) uniform uniformBlockVS13 { vec4 uf_blockVS13[1024]; }; -layout(binding = 40) uniform sampler2D textureUnitVS8; -layout(binding = 45) uniform sampler2D textureUnitVS13; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; +TEXTURE_LAYOUT(40, 0, 0) uniform sampler2D textureUnitVS8; +TEXTURE_LAYOUT(45, 0, 1) uniform sampler2D textureUnitVS13; +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; out gl_PerVertex { vec4 gl_Position; @@ -68,5 +85,5 @@ float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,a void main() { // export -gl_Position = vec4(0.0); +SET_POSITION(vec4(0.0)); } diff --git a/Workarounds/BreathOfTheWild_AMD_ShaderCrash/83a697d61a3b9202_0000000000000000_vs.txt b/Workarounds/BreathOfTheWild_AMD_ShaderCrash/83a697d61a3b9202_0000000000000000_vs.txt index bcb568e3..d323b2ab 100644 --- a/Workarounds/BreathOfTheWild_AMD_ShaderCrash/83a697d61a3b9202_0000000000000000_vs.txt +++ b/Workarounds/BreathOfTheWild_AMD_ShaderCrash/83a697d61a3b9202_0000000000000000_vs.txt @@ -2,44 +2,61 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 83a697d61a3b9202 -layout(binding = 6, std140) +UNIFORM_BUFFER_LAYOUT(6, 0, 1) uniform uniformBlockVS6 { vec4 uf_blockVS6[1024]; }; -layout(binding = 7, std140) +UNIFORM_BUFFER_LAYOUT(7, 0, 2) uniform uniformBlockVS7 { vec4 uf_blockVS7[1024]; }; -layout(binding = 8, std140) +UNIFORM_BUFFER_LAYOUT(8, 0, 3) uniform uniformBlockVS8 { vec4 uf_blockVS8[1024]; }; -layout(binding = 11, std140) +UNIFORM_BUFFER_LAYOUT(11, 0, 4) uniform uniformBlockVS11 { vec4 uf_blockVS11[1024]; }; -layout(binding = 45) uniform sampler2D textureUnitVS13; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; +TEXTURE_LAYOUT(45, 0, 0) uniform sampler2D textureUnitVS13; +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; out gl_PerVertex { vec4 gl_Position; @@ -57,5 +74,5 @@ float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,a void main() { // export -gl_Position = vec4(0.0); +SET_POSITION(vec4(0.0)); } diff --git a/Workarounds/BreathOfTheWild_AMD_ShaderCrash/97bc44a5028381c6_0000000000000000_vs.txt b/Workarounds/BreathOfTheWild_AMD_ShaderCrash/97bc44a5028381c6_0000000000000000_vs.txt index 21afbf7e..c18be443 100644 --- a/Workarounds/BreathOfTheWild_AMD_ShaderCrash/97bc44a5028381c6_0000000000000000_vs.txt +++ b/Workarounds/BreathOfTheWild_AMD_ShaderCrash/97bc44a5028381c6_0000000000000000_vs.txt @@ -2,10 +2,27 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 24838b84d15a1da1 void main() { // export -gl_Position = vec4(0.0); +SET_POSITION(vec4(0.0)); } diff --git a/Workarounds/BreathOfTheWild_AMD_ShaderCrash/rules.txt b/Workarounds/BreathOfTheWild_AMD_ShaderCrash/rules.txt index ba7f6685..52a17a7b 100644 --- a/Workarounds/BreathOfTheWild_AMD_ShaderCrash/rules.txt +++ b/Workarounds/BreathOfTheWild_AMD_ShaderCrash/rules.txt @@ -3,4 +3,4 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = "Workaround for AMD crashes" path = "The Legend of Zelda: Breath of the Wild/Workarounds/GPU specific workarounds/AMD Crash" description = Workaround for a shader related crash on AMD drivers. Required for Cemu 1.15.8 and above. -version = 3 \ No newline at end of file +version = 4 \ No newline at end of file diff --git a/Workarounds/BreathOfTheWild_Intel_FlippedLights/317f0bb42d413218_000000000001fe49_ps.txt b/Workarounds/BreathOfTheWild_Intel_FlippedLights/317f0bb42d413218_000000000001fe49_ps.txt index 8dd5726d..57300417 100644 --- a/Workarounds/BreathOfTheWild_Intel_FlippedLights/317f0bb42d413218_000000000001fe49_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_FlippedLights/317f0bb42d413218_000000000001fe49_ps.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 317f0bb42d413218 +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[10]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3d4f5000 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[10]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3d4f5000 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 1) noperspective in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) @@ -54,7 +79,7 @@ activeMaskStackC[0] = true; activeMaskStackC[1] = true; vec3 cubeMapSTM; int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); +R0i = floatBitsToInt(GET_FRAGCOORD()); R1i = floatBitsToInt(passParameterSem0); if( activeMaskStackC[1] == true ) { // 0 diff --git a/Workarounds/BreathOfTheWild_Intel_FlippedLights/381a8604d1ae532c_0000000000003fc9_ps.txt b/Workarounds/BreathOfTheWild_Intel_FlippedLights/381a8604d1ae532c_0000000000003fc9_ps.txt index 23285245..159ba6be 100644 --- a/Workarounds/BreathOfTheWild_Intel_FlippedLights/381a8604d1ae532c_0000000000003fc9_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_FlippedLights/381a8604d1ae532c_0000000000003fc9_ps.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 381a8604d1ae532c // lights on monks +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[6]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[6]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 1) noperspective in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) @@ -45,7 +70,7 @@ ivec4 ARi = ivec4(0); bool predResult = true; vec3 cubeMapSTM; int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); +R0i = floatBitsToInt(GET_FRAGCOORD()); R1i = floatBitsToInt(passParameterSem0); // 0 R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(uf_remappedPS[0].w))); diff --git a/Workarounds/BreathOfTheWild_Intel_FlippedLights/4facbb67739c71ec_0000000000003fc9_ps.txt b/Workarounds/BreathOfTheWild_Intel_FlippedLights/4facbb67739c71ec_0000000000003fc9_ps.txt index e35c92cd..a37bbd66 100644 --- a/Workarounds/BreathOfTheWild_Intel_FlippedLights/4facbb67739c71ec_0000000000003fc9_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_FlippedLights/4facbb67739c71ec_0000000000003fc9_ps.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 4facbb67739c71ec // light on prayer monument shrines +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[6]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[6]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 1) noperspective in vec4 passParameterSem1; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) @@ -40,7 +65,7 @@ ivec4 ARi = ivec4(0); bool predResult = true; vec3 cubeMapSTM; int cubeMapFaceId; -R0f = vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw); +R0f = GET_FRAGCOORD(); R1f = passParameterSem1; // 0 R3f.x = 0.0; diff --git a/Workarounds/BreathOfTheWild_Intel_FlippedLights/ab0a485b9ae1bb1e_00000000000ff259_ps.txt b/Workarounds/BreathOfTheWild_Intel_FlippedLights/ab0a485b9ae1bb1e_00000000000ff259_ps.txt index 4835fd4a..02a2da14 100644 --- a/Workarounds/BreathOfTheWild_Intel_FlippedLights/ab0a485b9ae1bb1e_00000000000ff259_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_FlippedLights/ab0a485b9ae1bb1e_00000000000ff259_ps.txt @@ -1,17 +1,42 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader ab0a485b9ae1bb1e // major base of light reflection +#ifdef VULKAN +layout(set = 1, binding = 4) uniform ufBlock +{ uniform ivec4 uf_remappedPS[13]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform samplerCubeArray textureUnitPS2;// Tex2 addr 0x3d4f4000 res 3x3x1 dim 3 tm: 2 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x6) Sampler2 ClampX/Y/Z: 6 6 6 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x3d4f5000 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[13]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 2) uniform samplerCubeArray textureUnitPS2;// Tex2 addr 0x3d4f4000 res 3x3x1 dim 3 tm: 2 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(3, 1, 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x3d4f5000 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 1) noperspective in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) { // stm -> x .. s, y .. t, z .. MajorAxis*2.0 @@ -138,7 +163,7 @@ bool predResult = true; vec3 cubeMapSTM; int cubeMapFaceId; float cubeMapArrayIndex2 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); +R0i = floatBitsToInt(GET_FRAGCOORD()); R1i = floatBitsToInt(passParameterSem0); // 0 backupReg0i = R0i.y; diff --git a/Workarounds/BreathOfTheWild_Intel_FlippedLights/ad633c5a0a93f6b7_0000000000003fc9_ps.txt b/Workarounds/BreathOfTheWild_Intel_FlippedLights/ad633c5a0a93f6b7_0000000000003fc9_ps.txt index b2943e88..a9f9f30e 100644 --- a/Workarounds/BreathOfTheWild_Intel_FlippedLights/ad633c5a0a93f6b7_0000000000003fc9_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_FlippedLights/ad633c5a0a93f6b7_0000000000003fc9_ps.txt @@ -1,14 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader ad633c5a0a93f6b7 +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[9]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[9]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 1) noperspective in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) @@ -45,7 +70,7 @@ ivec4 ARi = ivec4(0); bool predResult = true; vec3 cubeMapSTM; int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); +R0i = floatBitsToInt(GET_FRAGCOORD()); R1i = floatBitsToInt(passParameterSem0); // 0 R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + 1.0)); diff --git a/Workarounds/BreathOfTheWild_Intel_FlippedLights/b2b5b7eabba3b5ed_00000000000ff259_ps.txt b/Workarounds/BreathOfTheWild_Intel_FlippedLights/b2b5b7eabba3b5ed_00000000000ff259_ps.txt index 51a69411..fd5c1a8d 100644 --- a/Workarounds/BreathOfTheWild_Intel_FlippedLights/b2b5b7eabba3b5ed_00000000000ff259_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_FlippedLights/b2b5b7eabba3b5ed_00000000000ff259_ps.txt @@ -1,16 +1,41 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader b2b5b7eabba3b5ed +#ifdef VULKAN +layout(set = 1, binding = 4) uniform ufBlock +{ uniform ivec4 uf_remappedPS[13]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform samplerCubeArray textureUnitPS2;// Tex2 addr 0x3de46000 res 3x3x1 dim 3 tm: 2 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x6) Sampler2 ClampX/Y/Z: 6 6 6 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x3de51000 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[13]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 2) uniform samplerCubeArray textureUnitPS2;// Tex2 addr 0x3de46000 res 3x3x1 dim 3 tm: 2 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(3, 1, 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x3de51000 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 1) noperspective in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) { // stm -> x .. s, y .. t, z .. MajorAxis*2.0 @@ -135,7 +160,7 @@ bool predResult = true; vec3 cubeMapSTM; int cubeMapFaceId; float cubeMapArrayIndex2 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); +R0i = floatBitsToInt(GET_FRAGCOORD()); R1i = floatBitsToInt(passParameterSem0); // 0 R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + 1.0)); diff --git a/Workarounds/BreathOfTheWild_Intel_FlippedLights/d2082c0e0e8ddf27_000000000001fe49_ps.txt b/Workarounds/BreathOfTheWild_Intel_FlippedLights/d2082c0e0e8ddf27_000000000001fe49_ps.txt index f2c2aa1b..f46805f9 100644 --- a/Workarounds/BreathOfTheWild_Intel_FlippedLights/d2082c0e0e8ddf27_000000000001fe49_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_FlippedLights/d2082c0e0e8ddf27_000000000001fe49_ps.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader d2082c0e0e8ddf27 +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[8]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3d4f5000 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[8]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3d4f5000 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 1) noperspective in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) @@ -45,7 +70,7 @@ ivec4 ARi = ivec4(0); bool predResult = true; vec3 cubeMapSTM; int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); +R0i = floatBitsToInt(GET_FRAGCOORD()); R1i = floatBitsToInt(passParameterSem0); // 0 backupReg0i = R0i.y; diff --git a/Workarounds/BreathOfTheWild_Intel_FlippedLights/e7e31b26bbd728fc_000000000001fe49_ps.txt b/Workarounds/BreathOfTheWild_Intel_FlippedLights/e7e31b26bbd728fc_000000000001fe49_ps.txt index caaa7219..5623e013 100644 --- a/Workarounds/BreathOfTheWild_Intel_FlippedLights/e7e31b26bbd728fc_000000000001fe49_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_FlippedLights/e7e31b26bbd728fc_000000000001fe49_ps.txt @@ -1,16 +1,41 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader e7e31b26bbd728fc // Shader for starlight reflection to flip +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[10]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3d4f5000 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[10]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3d4f5000 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 1) noperspective in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) @@ -53,7 +78,7 @@ ivec4 ARi = ivec4(0); bool predResult = true; vec3 cubeMapSTM; int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); +R0i = floatBitsToInt(GET_FRAGCOORD()); R1i = floatBitsToInt(passParameterSem0); // 0 R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + 1.0)); diff --git a/Workarounds/BreathOfTheWild_Intel_FlippedLights/f9fd48fb4ead7fcd_00000000000003c9_ps.txt b/Workarounds/BreathOfTheWild_Intel_FlippedLights/f9fd48fb4ead7fcd_00000000000003c9_ps.txt index 2d0e376b..eddd4572 100644 --- a/Workarounds/BreathOfTheWild_Intel_FlippedLights/f9fd48fb4ead7fcd_00000000000003c9_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_FlippedLights/f9fd48fb4ead7fcd_00000000000003c9_ps.txt @@ -1,14 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader f9fd48fb4ead7fcd // blue lights on shrine exit to flip +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[8]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[8]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 1) noperspective in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) @@ -41,7 +66,7 @@ ivec4 ARi = ivec4(0); bool predResult = true; vec3 cubeMapSTM; int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); +R0i = floatBitsToInt(GET_FRAGCOORD()); R1i = floatBitsToInt(passParameterSem0); // 0 backupReg0i = R0i.x; diff --git a/Workarounds/BreathOfTheWild_Intel_FlippedLights/rules.txt b/Workarounds/BreathOfTheWild_Intel_FlippedLights/rules.txt index 9a9e4edc..27adecfb 100644 --- a/Workarounds/BreathOfTheWild_Intel_FlippedLights/rules.txt +++ b/Workarounds/BreathOfTheWild_Intel_FlippedLights/rules.txt @@ -3,6 +3,6 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 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 +version = 4 #Altros diff --git a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/1c7db40ff5d693ab_001ffffe4924b249_ps.txt b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/1c7db40ff5d693ab_001ffffe4924b249_ps.txt index ff2aaf02..c1aab8e5 100644 --- a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/1c7db40ff5d693ab_001ffffe4924b249_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/1c7db40ff5d693ab_001ffffe4924b249_ps.txt @@ -1,20 +1,46 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 1c7db40ff5d693ab // Modifies fog over link and enemies +#ifdef VULKAN +layout(set = 1, binding = 11) uniform ufBlock +{ uniform ivec4 uf_remappedPS[33]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5c7b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x38da5800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform samplerCubeArray textureUnitPS7;// Tex7 addr 0x3d0ea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0x3cfaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf528a800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[33]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5c7b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(5, 1, 4) uniform sampler2D textureUnitPS5;// Tex5 addr 0x38da5800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(6, 1, 5) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(7, 1, 6) uniform samplerCubeArray textureUnitPS7;// Tex7 addr 0x3d0ea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4 +TEXTURE_LAYOUT(11, 1, 7) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(12, 1, 8) uniform sampler2D textureUnitPS12;// Tex12 addr 0x3cfaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(14, 1, 9) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf528a800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(15, 1, 10) uniform sampler2D textureUnitPS15;// Tex15 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem2; layout(location = 2) in vec4 passParameterSem6; @@ -23,7 +49,6 @@ layout(location = 1) out vec4 passPixelColor1; layout(location = 2) out vec4 passPixelColor2; layout(location = 3) out vec4 passPixelColor3; layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) { // stm -> x .. s, y .. t, z .. MajorAxis*2.0 diff --git a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/250cb5a06cab6534_000000000000007a_ps.txt b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/250cb5a06cab6534_000000000000007a_ps.txt index 5aa4f10d..e0b9353e 100644 --- a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/250cb5a06cab6534_000000000000007a_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/250cb5a06cab6534_000000000000007a_ps.txt @@ -1,15 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 250cb5a06cab6534 // used to set sun bloom, color, saturation, and intensity in the sky +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[12]; -layout(binding = 0) uniform sampler3D textureUnitPS0;// Tex0 addr 0x3cea0000 res 256x32x16 dim 2 tm: 7 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x10) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[12]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler3D textureUnitPS0;// Tex0 addr 0x3cea0000 res 256x32x16 dim 2 tm: 7 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 1) in vec4 passParameterSem0; layout(location = 2) in vec4 passParameterSem2; layout(location = 3) in vec4 passParameterSem3; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) @@ -54,7 +79,7 @@ activeMaskStackC[0] = true; activeMaskStackC[1] = true; vec3 cubeMapSTM; int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); +R0i = floatBitsToInt(GET_FRAGCOORD()); R1i = floatBitsToInt(passParameterSem0); R2i = floatBitsToInt(passParameterSem2); R3i = floatBitsToInt(passParameterSem3); diff --git a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/29c30aaa023dc7e6_0000000000000709_ps.txt b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/29c30aaa023dc7e6_0000000000000709_ps.txt index 3fb9320c..a38e2d50 100644 --- a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/29c30aaa023dc7e6_0000000000000709_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/29c30aaa023dc7e6_0000000000000709_ps.txt @@ -1,13 +1,40 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 29c30aaa023dc7e6 // fog ganon swirl full +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fc1000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x2103b000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1b4c0000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fc1000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x2103b000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1b4c0000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem4; @@ -19,7 +46,6 @@ layout(location = 7) in vec4 passParameterSem14; layout(location = 8) in vec4 passParameterSem15; layout(location = 9) in vec4 passParameterSem16; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/3179b85d41bfb80d_0000000079249749_ps.txt b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/3179b85d41bfb80d_0000000079249749_ps.txt index 914d9700..7f4057f5 100644 --- a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/3179b85d41bfb80d_0000000079249749_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/3179b85d41bfb80d_0000000079249749_ps.txt @@ -1,23 +1,48 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 3179b85d41bfb80d // fog trees +#ifdef VULKAN +layout(set = 1, binding = 9) uniform ufBlock +{ uniform ivec4 uf_remappedPS[10]; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf5846000 res 640x360x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 8) uniform samplerCubeArray textureUnitPS8;// Tex8 addr 0x3d0ea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler8 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 10) uniform sampler2DArray textureUnitPS10;// Tex10 addr 0xf5593000 res 640x360x2 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x2) Sampler10 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf575f800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0xf5977800 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[10]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(4, 1, 2) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(6, 1, 3) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(7, 1, 4) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf5846000 res 640x360x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(8, 1, 5) uniform samplerCubeArray textureUnitPS8;// Tex8 addr 0x3d0ea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4 +TEXTURE_LAYOUT(10, 1, 6) uniform sampler2DArray textureUnitPS10;// Tex10 addr 0xf5593000 res 640x360x2 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(11, 1, 7) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf575f800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(13, 1, 8) uniform sampler2D textureUnitPS13;// Tex13 addr 0xf5977800 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem4; layout(location = 2) in vec4 passParameterSem6; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) { // stm -> x .. s, y .. t, z .. MajorAxis*2.0 diff --git a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/3df0bb0da1c740d5_000000000000001c_ps.txt b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/3df0bb0da1c740d5_000000000000001c_ps.txt index ad1100b7..9492e8f5 100644 --- a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/3df0bb0da1c740d5_000000000000001c_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/3df0bb0da1c740d5_000000000000001c_ps.txt @@ -1,17 +1,43 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 3df0bb0da1c740d5 // atmospheric dust and crespecular rays +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; uniform float uf_alphaTestRef; -layout(binding = 9) uniform sampler2D textureUnitPS9;// Tex9 addr 0xf557c800 res 160x90x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler9 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(9, 1, 0) uniform sampler2D textureUnitPS9;// Tex9 addr 0xf557c800 res 160x90x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem3; layout(location = 2) in vec4 passParameterSem4; layout(location = 3) in vec4 passParameterSem7; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/59cba7eb9a9c1df6_00000007f924d249_ps.txt b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/59cba7eb9a9c1df6_00000007f924d249_ps.txt index 61c17cea..6735fc58 100644 --- a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/59cba7eb9a9c1df6_00000007f924d249_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/59cba7eb9a9c1df6_00000007f924d249_ps.txt @@ -1,39 +1,63 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 59cba7eb9a9c1df6 // fog on water but also used by AMD_Intel shadow fix -layout(binding = 33, std140) uniform uniformBlockPS1 +UNIFORM_BUFFER_LAYOUT(33, 1, 10) uniform uniformBlockPS1 { vec4 uf_blockPS1[1024]; }; -layout(binding = 38, std140) uniform uniformBlockPS6 +UNIFORM_BUFFER_LAYOUT(38, 1, 11) uniform uniformBlockPS6 { vec4 uf_blockPS6[1024]; }; -layout(binding = 42, std140) uniform uniformBlockPS10 +UNIFORM_BUFFER_LAYOUT(42, 1, 12) uniform uniformBlockPS10 { vec4 uf_blockPS10[1024]; }; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x23c81000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 0 border: 1 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform sampler2DArrayShadow textureUnitPS7;// Tex7 addr 0xf58a8000 res 360x360x3 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x3) Sampler7 ClampX/Y/Z: 6 6 2 border: 2 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x3cfaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0x3d0a8000 res 96x96x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x30366000 res 2000x1600x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 1 1 1 border: 1 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(4, 1, 2) uniform sampler2D textureUnitPS4;// Tex4 addr 0x23c81000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb +TEXTURE_LAYOUT(5, 1, 3) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(7, 1, 4) uniform sampler2DArrayShadow textureUnitPS7;// Tex7 addr 0xf58a8000 res 360x360x3 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(10, 1, 5) uniform sampler2D textureUnitPS10;// Tex10 addr 0x3cfaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(11, 1, 6) uniform sampler2D textureUnitPS11;// Tex11 addr 0x3d0a8000 res 96x96x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(14, 1, 7) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(15, 1, 8) uniform sampler2D textureUnitPS15;// Tex15 addr 0x30366000 res 2000x1600x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x2 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem2; layout(location = 2) in vec4 passParameterSem5; layout(location = 3) in vec4 passParameterSem6; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; +#ifdef VULKAN +layout(set = 1, binding = 9) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else uniform vec2 uf_fragCoordScale; +#endif int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/8d24f32f18e6de47_0000000079249749_ps.txt b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/8d24f32f18e6de47_0000000079249749_ps.txt index d017b5bf..d346e2d1 100644 --- a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/8d24f32f18e6de47_0000000079249749_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/8d24f32f18e6de47_0000000079249749_ps.txt @@ -1,25 +1,50 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 8d24f32f18e6de47 // fog over a mojority of the ground +#ifdef VULKAN +layout(set = 1, binding = 9) uniform ufBlock +{ uniform ivec4 uf_remappedPS[10]; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf5846000 res 640x360x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 8) uniform samplerCubeArray textureUnitPS8;// Tex8 addr 0x3d0ea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler8 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 10) uniform sampler2DArray textureUnitPS10;// Tex10 addr 0xf5593000 res 640x360x2 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x2) Sampler10 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf575f800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0xf5977800 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[10]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(4, 1, 2) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(6, 1, 3) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(7, 1, 4) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf5846000 res 640x360x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(8, 1, 5) uniform samplerCubeArray textureUnitPS8;// Tex8 addr 0x3d0ea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4 +TEXTURE_LAYOUT(10, 1, 6) uniform sampler2DArray textureUnitPS10;// Tex10 addr 0xf5593000 res 640x360x2 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(11, 1, 7) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf575f800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(13, 1, 8) uniform sampler2D textureUnitPS13;// Tex13 addr 0xf5977800 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem3; layout(location = 3) in vec4 passParameterSem4; layout(location = 4) in vec4 passParameterSem6; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) { // stm -> x .. s, y .. t, z .. MajorAxis*2.0 diff --git a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/rules.txt b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/rules.txt index 7550c653..b1fef675 100644 --- a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/rules.txt +++ b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/rules.txt @@ -3,6 +3,6 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 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 +version = 4 #Altros diff --git a/Workarounds/BreathOfTheWild_KakarikoShadows/8e9e804a3cd384c3_00000000000ff259_ps.txt b/Workarounds/BreathOfTheWild_KakarikoShadows/8e9e804a3cd384c3_00000000000ff259_ps.txt index d7efaec6..14563552 100644 --- a/Workarounds/BreathOfTheWild_KakarikoShadows/8e9e804a3cd384c3_00000000000ff259_ps.txt +++ b/Workarounds/BreathOfTheWild_KakarikoShadows/8e9e804a3cd384c3_00000000000ff259_ps.txt @@ -1,17 +1,42 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 8e9e804a3cd384c3 // Square Shadows Fix - Workaround for the square shadows seen around torches in Kakariko Village // shader dumped from BotW v1.3.1, using Cemu 1.11.1 +#ifdef VULKAN +layout(set = 1, binding = 4) uniform ufBlock +{ uniform ivec4 uf_remappedPS[13]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform samplerCubeArray textureUnitPS2;// Tex2 addr 0x3df6e800 res 3x3x1 dim 3 tm: 2 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x6) Sampler2 ClampX/Y/Z: 6 6 6 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x3df6f800 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[13]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 2) uniform samplerCubeArray textureUnitPS2;// Tex2 addr 0x3df6e800 res 3x3x1 dim 3 tm: 2 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(3, 1, 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x3df6f800 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 1) noperspective in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) { // stm -> x .. s, y .. t, z .. MajorAxis*2.0 @@ -135,7 +160,7 @@ bool predResult = true; vec3 cubeMapSTM; int cubeMapFaceId; float cubeMapArrayIndex2 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); +R0i = floatBitsToInt(GET_FRAGCOORD()); R1i = floatBitsToInt(passParameterSem0); // 0 R6i.x = 0x3f800000; diff --git a/Workarounds/BreathOfTheWild_KakarikoShadows/ab0a485b9ae1bb1e_00000000000ff259_ps.txt b/Workarounds/BreathOfTheWild_KakarikoShadows/ab0a485b9ae1bb1e_00000000000ff259_ps.txt index 2a3fdc91..bb71f1de 100644 --- a/Workarounds/BreathOfTheWild_KakarikoShadows/ab0a485b9ae1bb1e_00000000000ff259_ps.txt +++ b/Workarounds/BreathOfTheWild_KakarikoShadows/ab0a485b9ae1bb1e_00000000000ff259_ps.txt @@ -1,17 +1,42 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader ab0a485b9ae1bb1e // Square Shadows Fix - Workaround for the square shadows seen around torches in Kakariko Village // shader dumped from BotW v1.4.0, using Cemu 1.11.1 +#ifdef VULKAN +layout(set = 1, binding = 4) uniform ufBlock +{ uniform ivec4 uf_remappedPS[13]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform samplerCubeArray textureUnitPS2;// Tex2 addr 0x3de50000 res 3x3x1 dim 3 tm: 2 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x6) Sampler2 ClampX/Y/Z: 6 6 6 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x3de51000 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[13]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 2) uniform samplerCubeArray textureUnitPS2;// Tex2 addr 0x3de50000 res 3x3x1 dim 3 tm: 2 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(3, 1, 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x3de51000 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 layout(location = 1) noperspective in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) { // stm -> x .. s, y .. t, z .. MajorAxis*2.0 @@ -134,7 +159,7 @@ bool predResult = true; vec3 cubeMapSTM; int cubeMapFaceId; float cubeMapArrayIndex2 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); +R0i = floatBitsToInt(GET_FRAGCOORD()); R1i = floatBitsToInt(passParameterSem0); // 0 backupReg0i = R0i.y; diff --git a/Workarounds/BreathOfTheWild_KakarikoShadows/rules.txt b/Workarounds/BreathOfTheWild_KakarikoShadows/rules.txt index 8b817bae..3b3aa3f0 100644 --- a/Workarounds/BreathOfTheWild_KakarikoShadows/rules.txt +++ b/Workarounds/BreathOfTheWild_KakarikoShadows/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = "Square Kakariko Torch Shadows Fix" path = "The Legend of Zelda: Breath of the Wild/Workarounds/Kakariko Torch Shadows" description = Workaround for the square shadows seen around torches in Kakariko Village. -version = 3 +version = 4 # Workaround for the square shadows seen around torches in Kakariko Village # found by Kiri diff --git a/Workarounds/BreathOfTheWild_LwzxNullCheck/rules.txt b/Workarounds/BreathOfTheWild_LwzxNullCheck/rules.txt index 3d0969b9..908d354e 100644 --- a/Workarounds/BreathOfTheWild_LwzxNullCheck/rules.txt +++ b/Workarounds/BreathOfTheWild_LwzxNullCheck/rules.txt @@ -2,4 +2,4 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 path = "The Legend of Zelda: Breath of the Wild/Workarounds/LWZX Crash" description = You should enable this pack in any circumstance. This workaround fixes crashes that would occur at specific points in the game. -version = 3 \ No newline at end of file +version = 4 \ No newline at end of file diff --git a/Workarounds/BreathOfTheWild_NVIDIASmoke/17aae2b035ae850c_0000000000000000_vs.txt b/Workarounds/BreathOfTheWild_NVIDIASmoke/17aae2b035ae850c_0000000000000000_vs.txt index e940fa8a..ec8a4a8a 100644 --- a/Workarounds/BreathOfTheWild_NVIDIASmoke/17aae2b035ae850c_0000000000000000_vs.txt +++ b/Workarounds/BreathOfTheWild_NVIDIASmoke/17aae2b035ae850c_0000000000000000_vs.txt @@ -1,24 +1,50 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 17aae2b035ae850c // distant cloud and fog vs +#ifdef VULKAN +layout(set = 0, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedVS[68]; uniform vec2 uf_windowSpaceToClipSpaceTransform; uniform float uf_alphaTestRef; -layout(binding = 40) uniform sampler2D textureUnitVS8;// Tex8 addr 0x3da26000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler26 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 45) uniform sampler2D textureUnitVS13;// Tex13 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler31 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -layout(location = 11) in uvec4 attrDataSem11; +}; +#else +uniform ivec4 uf_remappedVS[68]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +uniform float uf_alphaTestRef; +#endif +TEXTURE_LAYOUT(40, 0, 0) uniform sampler2D textureUnitVS8;// Tex8 addr 0x3da26000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(45, 0, 1) uniform sampler2D textureUnitVS13;// Tex13 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; +ATTR_LAYOUT(0, 11) in uvec4 attrDataSem11; out gl_PerVertex { vec4 gl_Position; @@ -1824,7 +1850,7 @@ R13i.w = ((R3i.x == 0)?(R1i.x):(R1i.x)); } activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; // export -gl_Position = vec4(intBitsToFloat(R19i.x), intBitsToFloat(R19i.y), intBitsToFloat(R19i.z), intBitsToFloat(R19i.w)); +SET_POSITION(vec4(intBitsToFloat(R19i.x), intBitsToFloat(R19i.y), intBitsToFloat(R19i.z), intBitsToFloat(R19i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); // export diff --git a/Workarounds/BreathOfTheWild_NVIDIASmoke/2938a1b3abfdfe49_0000000000000000_vs.txt b/Workarounds/BreathOfTheWild_NVIDIASmoke/2938a1b3abfdfe49_0000000000000000_vs.txt index 3e784c2b..a139a699 100644 --- a/Workarounds/BreathOfTheWild_NVIDIASmoke/2938a1b3abfdfe49_0000000000000000_vs.txt +++ b/Workarounds/BreathOfTheWild_NVIDIASmoke/2938a1b3abfdfe49_0000000000000000_vs.txt @@ -1,51 +1,76 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 2938a1b3abfdfe49 -layout(binding = 6, std140) uniform uniformBlockVS6 +UNIFORM_BUFFER_LAYOUT(6, 0, 3) uniform uniformBlockVS6 { vec4 uf_blockVS6[1024]; }; -layout(binding = 7, std140) uniform uniformBlockVS7 +UNIFORM_BUFFER_LAYOUT(7, 0, 4) uniform uniformBlockVS7 { vec4 uf_blockVS7[1024]; }; -layout(binding = 8, std140) uniform uniformBlockVS8 +UNIFORM_BUFFER_LAYOUT(8, 0, 5) uniform uniformBlockVS8 { vec4 uf_blockVS8[1024]; }; -layout(binding = 11, std140) uniform uniformBlockVS11 +UNIFORM_BUFFER_LAYOUT(11, 0, 6) uniform uniformBlockVS11 { vec4 uf_blockVS11[1024]; }; -layout(binding = 13, std140) uniform uniformBlockVS13 +UNIFORM_BUFFER_LAYOUT(13, 0, 7) uniform uniformBlockVS13 { vec4 uf_blockVS13[1024]; }; +#ifdef VULKAN +layout(set = 0, binding = 2) uniform ufBlock +{ uniform vec2 uf_windowSpaceToClipSpaceTransform; uniform float uf_alphaTestRef; -layout(binding = 40) uniform sampler2D textureUnitVS8;// Tex8 addr 0x3da26000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler26 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 45) uniform sampler2D textureUnitVS13;// Tex13 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler31 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -layout(location = 11) in uvec4 attrDataSem11; -layout(location = 12) in uvec4 attrDataSem12; -layout(location = 13) in uvec4 attrDataSem13; -layout(location = 14) in uvec4 attrDataSem14; +}; +#else +uniform vec2 uf_windowSpaceToClipSpaceTransform; +uniform float uf_alphaTestRef; +#endif +TEXTURE_LAYOUT(40, 0, 0) uniform sampler2D textureUnitVS8;// Tex8 addr 0x3da26000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(45, 0, 1) uniform sampler2D textureUnitVS13;// Tex13 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; +ATTR_LAYOUT(0, 11) in uvec4 attrDataSem11; +ATTR_LAYOUT(0, 12) in uvec4 attrDataSem12; +ATTR_LAYOUT(0, 13) in uvec4 attrDataSem13; +ATTR_LAYOUT(0, 14) in uvec4 attrDataSem14; out gl_PerVertex { vec4 gl_Position; @@ -2549,7 +2574,7 @@ R13i.w = ((R1i.x == 0)?(R16i.w):(R4i.z)); } activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; // export -gl_Position = vec4(intBitsToFloat(R19i.x), intBitsToFloat(R19i.y), intBitsToFloat(R19i.z), intBitsToFloat(R19i.w)); +SET_POSITION(vec4(intBitsToFloat(R19i.x), intBitsToFloat(R19i.y), intBitsToFloat(R19i.z), intBitsToFloat(R19i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); // export diff --git a/Workarounds/BreathOfTheWild_NVIDIASmoke/314c2583a1612026_0000000000000000_vs.txt b/Workarounds/BreathOfTheWild_NVIDIASmoke/314c2583a1612026_0000000000000000_vs.txt index b22b87a4..5497f727 100644 --- a/Workarounds/BreathOfTheWild_NVIDIASmoke/314c2583a1612026_0000000000000000_vs.txt +++ b/Workarounds/BreathOfTheWild_NVIDIASmoke/314c2583a1612026_0000000000000000_vs.txt @@ -1,35 +1,60 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 314c2583a1612026 // guardian explosion fire vs -layout(binding = 6, std140) uniform uniformBlockVS6 +UNIFORM_BUFFER_LAYOUT(6, 0, 1) uniform uniformBlockVS6 { vec4 uf_blockVS6[1024]; }; -layout(binding = 7, std140) uniform uniformBlockVS7 +UNIFORM_BUFFER_LAYOUT(7, 0, 2) uniform uniformBlockVS7 { vec4 uf_blockVS7[1024]; }; -layout(binding = 8, std140) uniform uniformBlockVS8 +UNIFORM_BUFFER_LAYOUT(8, 0, 3) uniform uniformBlockVS8 { vec4 uf_blockVS8[1024]; }; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform vec2 uf_windowSpaceToClipSpaceTransform; uniform float uf_alphaTestRef; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; +}; +#else +uniform vec2 uf_windowSpaceToClipSpaceTransform; +uniform float uf_alphaTestRef; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; out gl_PerVertex { vec4 gl_Position; @@ -1976,7 +2001,7 @@ R15i.w = ((R3i.y == 0)?(R6i.w):(R4i.w)); } activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; // export -gl_Position = vec4(intBitsToFloat(R15i.x), intBitsToFloat(R15i.y), intBitsToFloat(R15i.z), intBitsToFloat(R15i.w)); +SET_POSITION(vec4(intBitsToFloat(R15i.x), intBitsToFloat(R15i.y), intBitsToFloat(R15i.z), intBitsToFloat(R15i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R11i.x), intBitsToFloat(R11i.y), intBitsToFloat(R11i.z), intBitsToFloat(R11i.w)); // export diff --git a/Workarounds/BreathOfTheWild_NVIDIASmoke/344d8b1f7d6f2b8e_0000000000000000_vs.txt b/Workarounds/BreathOfTheWild_NVIDIASmoke/344d8b1f7d6f2b8e_0000000000000000_vs.txt index 3d89f76d..5be1a0a8 100644 --- a/Workarounds/BreathOfTheWild_NVIDIASmoke/344d8b1f7d6f2b8e_0000000000000000_vs.txt +++ b/Workarounds/BreathOfTheWild_NVIDIASmoke/344d8b1f7d6f2b8e_0000000000000000_vs.txt @@ -1,42 +1,67 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 344d8b1f7d6f2b8e // guardian explosion yellow smoke vs -layout(binding = 6, std140) uniform uniformBlockVS6 +UNIFORM_BUFFER_LAYOUT(6, 0, 3) uniform uniformBlockVS6 { vec4 uf_blockVS6[1024]; }; -layout(binding = 7, std140) uniform uniformBlockVS7 +UNIFORM_BUFFER_LAYOUT(7, 0, 4) uniform uniformBlockVS7 { vec4 uf_blockVS7[1024]; }; -layout(binding = 8, std140) uniform uniformBlockVS8 +UNIFORM_BUFFER_LAYOUT(8, 0, 5) uniform uniformBlockVS8 { vec4 uf_blockVS8[1024]; }; -layout(binding = 13, std140) uniform uniformBlockVS13 +UNIFORM_BUFFER_LAYOUT(13, 0, 6) uniform uniformBlockVS13 { vec4 uf_blockVS13[1024]; }; +#ifdef VULKAN +layout(set = 0, binding = 2) uniform ufBlock +{ uniform vec2 uf_windowSpaceToClipSpaceTransform; uniform float uf_alphaTestRef; -layout(binding = 40) uniform sampler2D textureUnitVS8;// Tex8 addr 0x3da26000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler26 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 45) uniform sampler2D textureUnitVS13;// Tex13 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler31 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; +}; +#else +uniform vec2 uf_windowSpaceToClipSpaceTransform; +uniform float uf_alphaTestRef; +#endif +TEXTURE_LAYOUT(40, 0, 0) uniform sampler2D textureUnitVS8;// Tex8 addr 0x3da26000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(45, 0, 1) uniform sampler2D textureUnitVS13;// Tex13 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; out gl_PerVertex { vec4 gl_Position; @@ -2365,7 +2390,7 @@ R17i.w = ((R9i.x == 0)?(R3i.y):(PV0i.z)); } activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; // export -gl_Position = vec4(intBitsToFloat(R17i.x), intBitsToFloat(R17i.y), intBitsToFloat(R17i.z), intBitsToFloat(R17i.w)); +SET_POSITION(vec4(intBitsToFloat(R17i.x), intBitsToFloat(R17i.y), intBitsToFloat(R17i.z), intBitsToFloat(R17i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); // export diff --git a/Workarounds/BreathOfTheWild_NVIDIASmoke/961cf134642327cc_0000000000000000_vs.txt b/Workarounds/BreathOfTheWild_NVIDIASmoke/961cf134642327cc_0000000000000000_vs.txt index bb09b259..93c63dc3 100644 --- a/Workarounds/BreathOfTheWild_NVIDIASmoke/961cf134642327cc_0000000000000000_vs.txt +++ b/Workarounds/BreathOfTheWild_NVIDIASmoke/961cf134642327cc_0000000000000000_vs.txt @@ -1,24 +1,50 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 961cf134642327cc // distant cloud and fog vs +#ifdef VULKAN +layout(set = 0, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedVS[68]; uniform vec2 uf_windowSpaceToClipSpaceTransform; uniform float uf_alphaTestRef; -layout(binding = 40) uniform sampler2D textureUnitVS8;// Tex8 addr 0x3da26000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler26 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 45) uniform sampler2D textureUnitVS13;// Tex13 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler31 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -layout(location = 11) in uvec4 attrDataSem11; +}; +#else +uniform ivec4 uf_remappedVS[68]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +uniform float uf_alphaTestRef; +#endif +TEXTURE_LAYOUT(40, 0, 0) uniform sampler2D textureUnitVS8;// Tex8 addr 0x3da26000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(45, 0, 1) uniform sampler2D textureUnitVS13;// Tex13 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; +ATTR_LAYOUT(0, 11) in uvec4 attrDataSem11; out gl_PerVertex { vec4 gl_Position; @@ -1823,7 +1849,7 @@ R23i.w = ((R12i.y == 0)?(R13i.x):(PV1i.x)); } activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; // export -gl_Position = vec4(intBitsToFloat(R23i.x), intBitsToFloat(R23i.y), intBitsToFloat(R23i.z), intBitsToFloat(R23i.w)); +SET_POSITION(vec4(intBitsToFloat(R23i.x), intBitsToFloat(R23i.y), intBitsToFloat(R23i.z), intBitsToFloat(R23i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R26i.x), intBitsToFloat(R26i.y), intBitsToFloat(R26i.z), intBitsToFloat(R26i.w)); // export diff --git a/Workarounds/BreathOfTheWild_NVIDIASmoke/a4f029f0b16e3776_0000000000000000_vs.txt b/Workarounds/BreathOfTheWild_NVIDIASmoke/a4f029f0b16e3776_0000000000000000_vs.txt index d0bdfd3b..2c3fc449 100644 --- a/Workarounds/BreathOfTheWild_NVIDIASmoke/a4f029f0b16e3776_0000000000000000_vs.txt +++ b/Workarounds/BreathOfTheWild_NVIDIASmoke/a4f029f0b16e3776_0000000000000000_vs.txt @@ -1,47 +1,72 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader a4f029f0b16e3776 -layout(binding = 6, std140) uniform uniformBlockVS6 +UNIFORM_BUFFER_LAYOUT(6, 0, 3) uniform uniformBlockVS6 { vec4 uf_blockVS6[1024]; }; -layout(binding = 7, std140) uniform uniformBlockVS7 +UNIFORM_BUFFER_LAYOUT(7, 0, 4) uniform uniformBlockVS7 { vec4 uf_blockVS7[1024]; }; -layout(binding = 8, std140) uniform uniformBlockVS8 +UNIFORM_BUFFER_LAYOUT(8, 0, 5) uniform uniformBlockVS8 { vec4 uf_blockVS8[1024]; }; -layout(binding = 11, std140) uniform uniformBlockVS11 +UNIFORM_BUFFER_LAYOUT(11, 0, 6) uniform uniformBlockVS11 { vec4 uf_blockVS11[1024]; }; -layout(binding = 13, std140) uniform uniformBlockVS13 +UNIFORM_BUFFER_LAYOUT(13, 0, 7) uniform uniformBlockVS13 { vec4 uf_blockVS13[1024]; }; +#ifdef VULKAN +layout(set = 0, binding = 2) uniform ufBlock +{ uniform vec2 uf_windowSpaceToClipSpaceTransform; uniform float uf_alphaTestRef; -layout(binding = 40) uniform sampler2D textureUnitVS8;// Tex8 addr 0x3da26000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler26 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 45) uniform sampler2D textureUnitVS13;// Tex13 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler31 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; +}; +#else +uniform vec2 uf_windowSpaceToClipSpaceTransform; +uniform float uf_alphaTestRef; +#endif +TEXTURE_LAYOUT(40, 0, 0) uniform sampler2D textureUnitVS8;// Tex8 addr 0x3da26000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(45, 0, 1) uniform sampler2D textureUnitVS13;// Tex13 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; out gl_PerVertex { vec4 gl_Position; @@ -2235,7 +2260,7 @@ PS1i = R0i.w; } activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; // export -gl_Position = vec4(intBitsToFloat(R21i.x), intBitsToFloat(R21i.y), intBitsToFloat(R21i.z), intBitsToFloat(R21i.w)); +SET_POSITION(vec4(intBitsToFloat(R21i.x), intBitsToFloat(R21i.y), intBitsToFloat(R21i.z), intBitsToFloat(R21i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); // export diff --git a/Workarounds/BreathOfTheWild_NVIDIASmoke/b9eeedc9f6628c36_0000000000000000_vs.txt b/Workarounds/BreathOfTheWild_NVIDIASmoke/b9eeedc9f6628c36_0000000000000000_vs.txt index b6c1117c..1cd75fda 100644 --- a/Workarounds/BreathOfTheWild_NVIDIASmoke/b9eeedc9f6628c36_0000000000000000_vs.txt +++ b/Workarounds/BreathOfTheWild_NVIDIASmoke/b9eeedc9f6628c36_0000000000000000_vs.txt @@ -1,55 +1,80 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader b9eeedc9f6628c36 // distant cloud and fog vs -layout(binding = 6, std140) uniform uniformBlockVS6 +UNIFORM_BUFFER_LAYOUT(6, 0, 3) uniform uniformBlockVS6 { vec4 uf_blockVS6[1024]; }; -layout(binding = 7, std140) uniform uniformBlockVS7 +UNIFORM_BUFFER_LAYOUT(7, 0, 4) uniform uniformBlockVS7 { vec4 uf_blockVS7[1024]; }; -layout(binding = 8, std140) uniform uniformBlockVS8 +UNIFORM_BUFFER_LAYOUT(8, 0, 5) uniform uniformBlockVS8 { vec4 uf_blockVS8[1024]; }; -layout(binding = 11, std140) uniform uniformBlockVS11 +UNIFORM_BUFFER_LAYOUT(11, 0, 6) uniform uniformBlockVS11 { vec4 uf_blockVS11[1024]; }; -layout(binding = 13, std140) uniform uniformBlockVS13 +UNIFORM_BUFFER_LAYOUT(13, 0, 7) uniform uniformBlockVS13 { vec4 uf_blockVS13[1024]; }; -layout(binding = 14, std140) uniform uniformBlockVS14 +UNIFORM_BUFFER_LAYOUT(14, 0, 8) uniform uniformBlockVS14 { vec4 uf_blockVS14[1024]; }; +#ifdef VULKAN +layout(set = 0, binding = 2) uniform ufBlock +{ uniform vec2 uf_windowSpaceToClipSpaceTransform; uniform float uf_alphaTestRef; -layout(binding = 40) uniform sampler2D textureUnitVS8;// Tex8 addr 0x3da26000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler26 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 45) uniform sampler2D textureUnitVS13;// Tex13 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler31 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -layout(location = 11) in uvec4 attrDataSem11; -layout(location = 12) in uvec4 attrDataSem12; -layout(location = 13) in uvec4 attrDataSem13; +}; +#else +uniform vec2 uf_windowSpaceToClipSpaceTransform; +uniform float uf_alphaTestRef; +#endif +TEXTURE_LAYOUT(40, 0, 0) uniform sampler2D textureUnitVS8;// Tex8 addr 0x3da26000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(45, 0, 1) uniform sampler2D textureUnitVS13;// Tex13 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; +ATTR_LAYOUT(0, 11) in uvec4 attrDataSem11; +ATTR_LAYOUT(0, 12) in uvec4 attrDataSem12; +ATTR_LAYOUT(0, 13) in uvec4 attrDataSem13; out gl_PerVertex { vec4 gl_Position; @@ -2441,7 +2466,7 @@ R19i.z = ((R6i.z == 0)?(R1i.z):(R0i.y)); } activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; // export -gl_Position = vec4(intBitsToFloat(R17i.x), intBitsToFloat(R17i.y), intBitsToFloat(R17i.z), intBitsToFloat(R17i.w)); +SET_POSITION(vec4(intBitsToFloat(R17i.x), intBitsToFloat(R17i.y), intBitsToFloat(R17i.z), intBitsToFloat(R17i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R25i.x), intBitsToFloat(R25i.y), intBitsToFloat(R25i.z), intBitsToFloat(R25i.w)); // export diff --git a/Workarounds/BreathOfTheWild_NVIDIASmoke/ea77e7f80b23e7b7_0000000000000000_vs.txt b/Workarounds/BreathOfTheWild_NVIDIASmoke/ea77e7f80b23e7b7_0000000000000000_vs.txt index 69953b7c..4ba220b0 100644 --- a/Workarounds/BreathOfTheWild_NVIDIASmoke/ea77e7f80b23e7b7_0000000000000000_vs.txt +++ b/Workarounds/BreathOfTheWild_NVIDIASmoke/ea77e7f80b23e7b7_0000000000000000_vs.txt @@ -1,48 +1,73 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader ea77e7f80b23e7b7 -layout(binding = 6, std140) uniform uniformBlockVS6 +UNIFORM_BUFFER_LAYOUT(6, 0, 3) uniform uniformBlockVS6 { vec4 uf_blockVS6[1024]; }; -layout(binding = 7, std140) uniform uniformBlockVS7 +UNIFORM_BUFFER_LAYOUT(7, 0, 4) uniform uniformBlockVS7 { vec4 uf_blockVS7[1024]; }; -layout(binding = 8, std140) uniform uniformBlockVS8 +UNIFORM_BUFFER_LAYOUT(8, 0, 5) uniform uniformBlockVS8 { vec4 uf_blockVS8[1024]; }; -layout(binding = 11, std140) uniform uniformBlockVS11 +UNIFORM_BUFFER_LAYOUT(11, 0, 6) uniform uniformBlockVS11 { vec4 uf_blockVS11[1024]; }; -layout(binding = 13, std140) uniform uniformBlockVS13 +UNIFORM_BUFFER_LAYOUT(13, 0, 7) uniform uniformBlockVS13 { vec4 uf_blockVS13[1024]; }; +#ifdef VULKAN +layout(set = 0, binding = 2) uniform ufBlock +{ uniform vec2 uf_windowSpaceToClipSpaceTransform; uniform float uf_alphaTestRef; -layout(binding = 40) uniform sampler2D textureUnitVS8;// Tex8 addr 0x3da26000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler26 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 45) uniform sampler2D textureUnitVS13;// Tex13 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler31 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -layout(location = 11) in uvec4 attrDataSem11; +}; +#else +uniform vec2 uf_windowSpaceToClipSpaceTransform; +uniform float uf_alphaTestRef; +#endif +TEXTURE_LAYOUT(40, 0, 0) uniform sampler2D textureUnitVS8;// Tex8 addr 0x3da26000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(45, 0, 1) uniform sampler2D textureUnitVS13;// Tex13 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; +ATTR_LAYOUT(0, 11) in uvec4 attrDataSem11; out gl_PerVertex { vec4 gl_Position; @@ -2724,7 +2749,7 @@ R17i.w = ((R127i.y == 0)?(R10i.w):(R10i.w)); } activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; // export -gl_Position = vec4(intBitsToFloat(R21i.x), intBitsToFloat(R21i.y), intBitsToFloat(R21i.z), intBitsToFloat(R21i.w)); +SET_POSITION(vec4(intBitsToFloat(R21i.x), intBitsToFloat(R21i.y), intBitsToFloat(R21i.z), intBitsToFloat(R21i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R26i.x), intBitsToFloat(R26i.y), intBitsToFloat(R26i.z), intBitsToFloat(R26i.w)); // export diff --git a/Workarounds/BreathOfTheWild_NVIDIASmoke/fc4a738a3df2bcce_0000000000000000_vs.txt b/Workarounds/BreathOfTheWild_NVIDIASmoke/fc4a738a3df2bcce_0000000000000000_vs.txt index d934847e..7eedde68 100644 --- a/Workarounds/BreathOfTheWild_NVIDIASmoke/fc4a738a3df2bcce_0000000000000000_vs.txt +++ b/Workarounds/BreathOfTheWild_NVIDIASmoke/fc4a738a3df2bcce_0000000000000000_vs.txt @@ -1,49 +1,74 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader fc4a738a3df2bcce // guardian explosion plasma smoke vs -layout(binding = 6, std140) uniform uniformBlockVS6 +UNIFORM_BUFFER_LAYOUT(6, 0, 3) uniform uniformBlockVS6 { vec4 uf_blockVS6[1024]; }; -layout(binding = 7, std140) uniform uniformBlockVS7 +UNIFORM_BUFFER_LAYOUT(7, 0, 4) uniform uniformBlockVS7 { vec4 uf_blockVS7[1024]; }; -layout(binding = 8, std140) uniform uniformBlockVS8 +UNIFORM_BUFFER_LAYOUT(8, 0, 5) uniform uniformBlockVS8 { vec4 uf_blockVS8[1024]; }; -layout(binding = 11, std140) uniform uniformBlockVS11 +UNIFORM_BUFFER_LAYOUT(11, 0, 6) uniform uniformBlockVS11 { vec4 uf_blockVS11[1024]; }; -layout(binding = 13, std140) uniform uniformBlockVS13 +UNIFORM_BUFFER_LAYOUT(13, 0, 7) uniform uniformBlockVS13 { vec4 uf_blockVS13[1024]; }; -layout(binding = 14, std140) uniform uniformBlockVS14 +UNIFORM_BUFFER_LAYOUT(14, 0, 8) uniform uniformBlockVS14 { vec4 uf_blockVS14[1024]; }; +#ifdef VULKAN +layout(set = 0, binding = 2) uniform ufBlock +{ uniform vec2 uf_windowSpaceToClipSpaceTransform; uniform float uf_alphaTestRef; -layout(binding = 40) uniform sampler2D textureUnitVS8;// Tex8 addr 0x3da26000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler26 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 45) uniform sampler2D textureUnitVS13;// Tex13 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler31 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; +}; +#else +uniform vec2 uf_windowSpaceToClipSpaceTransform; +uniform float uf_alphaTestRef; +#endif +TEXTURE_LAYOUT(40, 0, 0) uniform sampler2D textureUnitVS8;// Tex8 addr 0x3da26000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(45, 0, 1) uniform sampler2D textureUnitVS13;// Tex13 addr 0x3db8b000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; out gl_PerVertex { vec4 gl_Position; @@ -2711,7 +2736,7 @@ R0i.z = ((R12i.z == 0)?(R4i.z):(R4i.z)); } activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; // export -gl_Position = vec4(intBitsToFloat(R19i.x), intBitsToFloat(R19i.y), intBitsToFloat(R19i.z), intBitsToFloat(R19i.w)); +SET_POSITION(vec4(intBitsToFloat(R19i.x), intBitsToFloat(R19i.y), intBitsToFloat(R19i.z), intBitsToFloat(R19i.w))); // export passParameterSem0 = vec4(intBitsToFloat(R11i.x), intBitsToFloat(R11i.y), intBitsToFloat(R11i.z), intBitsToFloat(R11i.w)); // export diff --git a/Workarounds/BreathOfTheWild_NVIDIASmoke/rules.txt b/Workarounds/BreathOfTheWild_NVIDIASmoke/rules.txt index 01dac7c0..beb8ee7d 100644 --- a/Workarounds/BreathOfTheWild_NVIDIASmoke/rules.txt +++ b/Workarounds/BreathOfTheWild_NVIDIASmoke/rules.txt @@ -3,7 +3,7 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = "NVIDIA Explosion Smoke Workaround" 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 +version = 4 # A quick found by Rajkosto, Xalphenos, Darkemaste # Shaders dumped from Cemu 1.10.0f and BotW 1.3.1 diff --git a/Workarounds/BreathOfTheWild_removeStretchedClouds/73ddf96c9094eb92_0000000000000000_vs.txt b/Workarounds/BreathOfTheWild_removeStretchedClouds/73ddf96c9094eb92_0000000000000000_vs.txt index fd9c8539..5a789d4c 100644 --- a/Workarounds/BreathOfTheWild_removeStretchedClouds/73ddf96c9094eb92_0000000000000000_vs.txt +++ b/Workarounds/BreathOfTheWild_removeStretchedClouds/73ddf96c9094eb92_0000000000000000_vs.txt @@ -2,52 +2,77 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 73ddf96c9094eb92 +#ifdef VULKAN +layout(set = 0, binding = 2) uniform ufBlock +{ uniform vec2 uf_windowSpaceToClipSpaceTransform; uniform float uf_alphaTestRef; -layout(binding = 6, std140) uniform uniformBlockVS6 +}; +#else +uniform vec2 uf_windowSpaceToClipSpaceTransform; +uniform float uf_alphaTestRef; +#endif +UNIFORM_BUFFER_LAYOUT(6, 0, 3) uniform uniformBlockVS6 { vec4 uf_blockVS6[1024]; }; -layout(binding = 7, std140) uniform uniformBlockVS7 +UNIFORM_BUFFER_LAYOUT(7, 0, 4) uniform uniformBlockVS7 { vec4 uf_blockVS7[1024]; }; -layout(binding = 8, std140) uniform uniformBlockVS8 +UNIFORM_BUFFER_LAYOUT(8, 0, 5) uniform uniformBlockVS8 { vec4 uf_blockVS8[1024]; }; -layout(binding = 11, std140) uniform uniformBlockVS11 +UNIFORM_BUFFER_LAYOUT(11, 0, 6) uniform uniformBlockVS11 { vec4 uf_blockVS11[1024]; }; -layout(binding = 13, std140) uniform uniformBlockVS13 +UNIFORM_BUFFER_LAYOUT(13, 0, 7) uniform uniformBlockVS13 { vec4 uf_blockVS13[1024]; }; -layout(binding = 14, std140) uniform uniformBlockVS14 +UNIFORM_BUFFER_LAYOUT(14, 0, 8) uniform uniformBlockVS14 { vec4 uf_blockVS14[1024]; }; -layout(binding = 40) uniform sampler2D textureUnitVS8;// Tex8 addr 0x3cfaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler26 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 45) uniform sampler2D textureUnitVS13;// Tex13 addr 0x3d10f000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler31 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; +TEXTURE_LAYOUT(40, 0, 0) uniform sampler2D textureUnitVS8;// Tex8 addr 0x3cfaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(45, 0, 1) uniform sampler2D textureUnitVS13;// Tex13 addr 0x3d10f000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem4; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 7) in uvec4 attrDataSem7; +ATTR_LAYOUT(0, 8) in uvec4 attrDataSem8; +ATTR_LAYOUT(0, 9) in uvec4 attrDataSem9; +ATTR_LAYOUT(0, 10) in uvec4 attrDataSem10; out gl_PerVertex { vec4 gl_Position; @@ -2296,7 +2321,7 @@ R4i.z = ((R6i.z == 0)?(R1i.z):(R0i.y)); activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; // export //gl_Position = vec4(intBitsToFloat(R17i.x), intBitsToFloat(R17i.y), intBitsToFloat(R17i.z), intBitsToFloat(R17i.w)); -gl_Position = vec4(0.0); +SET_POSITION(vec4(0.0)); // export passParameterSem0 = vec4(intBitsToFloat(R24i.x), intBitsToFloat(R24i.y), intBitsToFloat(R24i.z), intBitsToFloat(R24i.w)); // export diff --git a/Workarounds/BreathOfTheWild_removeStretchedClouds/rules.txt b/Workarounds/BreathOfTheWild_removeStretchedClouds/rules.txt index b394433f..22920ecc 100644 --- a/Workarounds/BreathOfTheWild_removeStretchedClouds/rules.txt +++ b/Workarounds/BreathOfTheWild_removeStretchedClouds/rules.txt @@ -3,4 +3,4 @@ titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 name = "Cloud fix" path = "The Legend of Zelda: Breath of the Wild/Workarounds/Clouds" description = Workaround for some clouds not rendering correctly -version = 3 \ No newline at end of file +version = 4 \ No newline at end of file diff --git a/Workarounds/ColorSplash_GreenCharactersTint/0111382add7112a8_000080007124924b_ps.txt b/Workarounds/ColorSplash_GreenCharactersTint/0111382add7112a8_000080007124924b_ps.txt index e5327383..c60d8890 100644 --- a/Workarounds/ColorSplash_GreenCharactersTint/0111382add7112a8_000080007124924b_ps.txt +++ b/Workarounds/ColorSplash_GreenCharactersTint/0111382add7112a8_000080007124924b_ps.txt @@ -1,22 +1,49 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 0111382add7112a8 // Used for: Removing green tint from characters. +#ifdef VULKAN +layout(set = 1, binding = 10) uniform ufBlock +{ uniform ivec4 uf_remappedPS[37]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x292e8000 res 144x225x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 6 6 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x362be000 res 64x64x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x3686e000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x36870000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0x29368000 res 138x223x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 6 6 2 border: 0 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0x32daa000 res 64x64x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0xf56c4800 res 1024x1024x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf5ac4800 res 1024x1024x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0xf5ec4800 res 512x512x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform samplerCubeArray textureUnitPS15;// Tex15 addr 0x130dc000 res 128x128x1 dim 3 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x6) Sampler15 ClampX/Y/Z: 2 2 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[37]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x292e8000 res 144x225x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;// Tex2 addr 0x362be000 res 64x64x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3;// Tex3 addr 0x3686e000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4;// Tex4 addr 0x36870000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7 +TEXTURE_LAYOUT(6, 1, 4) uniform sampler2D textureUnitPS6;// Tex6 addr 0x29368000 res 138x223x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(7, 1, 5) uniform sampler2D textureUnitPS7;// Tex7 addr 0x32daa000 res 64x64x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(10, 1, 6) uniform sampler2D textureUnitPS10;// Tex10 addr 0xf56c4800 res 1024x1024x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(11, 1, 7) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf5ac4800 res 1024x1024x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(12, 1, 8) uniform sampler2D textureUnitPS12;// Tex12 addr 0xf5ec4800 res 512x512x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(15, 1, 9) uniform samplerCubeArray textureUnitPS15;// Tex15 addr 0x130dc000 res 128x128x1 dim 3 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x8 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem2; @@ -31,7 +58,6 @@ layout(location = 1) out vec4 passPixelColor1; layout(location = 2) out vec4 passPixelColor2; layout(location = 3) out vec4 passPixelColor3; layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) { // stm -> x .. s, y .. t, z .. MajorAxis*2.0 diff --git a/Workarounds/ColorSplash_GreenCharactersTint/rules.txt b/Workarounds/ColorSplash_GreenCharactersTint/rules.txt index d0c45106..6a05f372 100644 --- a/Workarounds/ColorSplash_GreenCharactersTint/rules.txt +++ b/Workarounds/ColorSplash_GreenCharactersTint/rules.txt @@ -3,4 +3,4 @@ titleIds = 000500001F600900,000500001F600A00,000500001F600B00 name = "Green Tinted Characters Workaround" path = "Paper Mario: Color Splash/Workarounds/Green Tinted Characters" description = Fixes the green tint on characters that occur randomly. -version = 3 \ No newline at end of file +version = 4 \ No newline at end of file diff --git a/Workarounds/HyruleWarriors_DLCFix/rules.txt b/Workarounds/HyruleWarriors_DLCFix/rules.txt index 335882c6..94af7462 100644 --- a/Workarounds/HyruleWarriors_DLCFix/rules.txt +++ b/Workarounds/HyruleWarriors_DLCFix/rules.txt @@ -3,4 +3,4 @@ titleIds = 000500001017D800,000500001017D900,000500001017CD00 name = "Hyrule Warriors - DLC Crash Fix" path = "Hyrule Warriors/Workarounds/DLC Crash Fix" description = Fixes game crashing with DLC installed. -version = 3 +version = 4 diff --git a/Workarounds/HyruleWarriors_EnemyDeathFix/6e8a52b2c5236e90_0000000001fffe49_ps.txt b/Workarounds/HyruleWarriors_EnemyDeathFix/6e8a52b2c5236e90_0000000001fffe49_ps.txt index 659cdba6..c8d7fd27 100644 --- a/Workarounds/HyruleWarriors_EnemyDeathFix/6e8a52b2c5236e90_0000000001fffe49_ps.txt +++ b/Workarounds/HyruleWarriors_EnemyDeathFix/6e8a52b2c5236e90_0000000001fffe49_ps.txt @@ -1,11 +1,37 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 6e8a52b2c5236e90 +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[16]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21304000 res 512x512x1 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 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x212d7000 res 512x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x21280000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[16]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21304000 res 512x512x1 dim 1 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x212d7000 res 512x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x21280000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x8 layout(location = 0) in vec4 passParameterSem64; layout(location = 1) in vec4 passParameterSem65; layout(location = 2) in vec4 passParameterSem66; @@ -14,7 +40,6 @@ layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 2) out vec4 passPixelColor2; layout(location = 3) out vec4 passPixelColor3; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Workarounds/HyruleWarriors_EnemyDeathFix/fcea74ffa264fa58_000000000ffff2c9_ps.txt b/Workarounds/HyruleWarriors_EnemyDeathFix/fcea74ffa264fa58_000000000ffff2c9_ps.txt index b3a6ffae..9caf4624 100644 --- a/Workarounds/HyruleWarriors_EnemyDeathFix/fcea74ffa264fa58_000000000ffff2c9_ps.txt +++ b/Workarounds/HyruleWarriors_EnemyDeathFix/fcea74ffa264fa58_000000000ffff2c9_ps.txt @@ -1,12 +1,38 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader fcea74ffa264fa58 +#ifdef VULKAN +layout(set = 1, binding = 4) uniform ufBlock +{ uniform ivec4 uf_remappedPS[18]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2178c000 res 512x512x1 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 -layout(binding = 1) uniform samplerCubeArray textureUnitPS1;// Tex1 addr 0x1bb2c000 res 256x256x1 dim 3 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x6) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x2175f000 res 512x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x21708000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 0 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[18]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2178c000 res 512x512x1 dim 1 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(1, 1, 1) uniform samplerCubeArray textureUnitPS1;// Tex1 addr 0x1bb2c000 res 256x256x1 dim 3 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x2175f000 res 512x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x8 +TEXTURE_LAYOUT(3, 1, 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x21708000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x8 layout(location = 0) in vec4 passParameterSem64; layout(location = 1) in vec4 passParameterSem65; layout(location = 2) in vec4 passParameterSem66; @@ -15,7 +41,6 @@ layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; layout(location = 2) out vec4 passPixelColor2; layout(location = 3) out vec4 passPixelColor3; -uniform vec2 uf_fragCoordScale; void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) { // stm -> x .. s, y .. t, z .. MajorAxis*2.0 diff --git a/Workarounds/HyruleWarriors_EnemyDeathFix/rules.txt b/Workarounds/HyruleWarriors_EnemyDeathFix/rules.txt index 8b822dc7..bf6b320e 100644 --- a/Workarounds/HyruleWarriors_EnemyDeathFix/rules.txt +++ b/Workarounds/HyruleWarriors_EnemyDeathFix/rules.txt @@ -3,4 +3,4 @@ titleIds = 000500001017D800,000500001017D900,000500001017CD00 name = "Hyrule Warriors - NVIDIA Enemy Death Fix" path = "Hyrule Warriors/Workarounds/NVIDIA Enemy Death Fix" description = Fixes graphics glitch and crashes due to enemy death. -version = 3 +version = 4 diff --git a/Workarounds/SuperMarioMaker_GridFix/a2b3125cf46e9f74_0000000000000000_vs.txt b/Workarounds/SuperMarioMaker_GridFix/a2b3125cf46e9f74_0000000000000000_vs.txt index 10a9290e..e0e2b8b3 100644 --- a/Workarounds/SuperMarioMaker_GridFix/a2b3125cf46e9f74_0000000000000000_vs.txt +++ b/Workarounds/SuperMarioMaker_GridFix/a2b3125cf46e9f74_0000000000000000_vs.txt @@ -2,14 +2,39 @@ #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader a2b3125cf46e9f74 // Used for: Fixing the grid by inserting some values that are 0 on recompiler mode. +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[17]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem8; +}; +#else +uniform ivec4 uf_remappedVS[17]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem8; out gl_PerVertex { vec4 gl_Position; @@ -227,7 +252,7 @@ R4f.x = R126f.x * PS1f; R4f.y = R127f.y * PS1f; R4f.z = R126f.z * PS1f; // export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); // export // skipped export to semanticId 255 // export diff --git a/Workarounds/SuperMarioMaker_GridFix/rules.txt b/Workarounds/SuperMarioMaker_GridFix/rules.txt index 653e5c4c..e800790a 100644 --- a/Workarounds/SuperMarioMaker_GridFix/rules.txt +++ b/Workarounds/SuperMarioMaker_GridFix/rules.txt @@ -3,4 +3,4 @@ titleIds = 000500001018DB00,000500001018DC00,000500001018DD00 name = Grid Fix path = "Super Mario Maker/Workarounds/Grid Fix" description = Fixes the issue where the grid isn't rendered correctly and adds a tint to the image. Normally only there with interpreter. -version = 3 \ No newline at end of file +version = 4 \ No newline at end of file diff --git a/Workarounds/SuperSmashBros_NoPixelMess/rules.txt b/Workarounds/SuperSmashBros_NoPixelMess/rules.txt index c4baaad3..da59bc25 100644 --- a/Workarounds/SuperSmashBros_NoPixelMess/rules.txt +++ b/Workarounds/SuperSmashBros_NoPixelMess/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010110E00,0005000010145000,0005000010144F00 name = No "Pixel Mess" path = Super Smash Bros. for Wii U/Workarounds/No "Pixel Mess" description = Removes the "Pixel Mess" that appears on the results screen. Currently causes several effects to not appear. -version = 3 +version = 4 # A screenshot of the issue can be seen here: https://cdn.discordapp.com/attachments/286429969104764928/335077383847673857/unknown.png diff --git a/Workarounds/Wonderful101_ShadowRemoval/2a8afa64e98f2977_0000000000000000_vs.txt b/Workarounds/Wonderful101_ShadowRemoval/2a8afa64e98f2977_0000000000000000_vs.txt index a8401707..e799b7db 100644 --- a/Workarounds/Wonderful101_ShadowRemoval/2a8afa64e98f2977_0000000000000000_vs.txt +++ b/Workarounds/Wonderful101_ShadowRemoval/2a8afa64e98f2977_0000000000000000_vs.txt @@ -1,27 +1,51 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 2a8afa64e98f2977 -layout(binding = 1, std140) uniform uniformBlockVS1 +UNIFORM_BUFFER_LAYOUT(1, 0, 1) uniform uniformBlockVS1 { vec4 uf_blockVS1[1024]; }; -layout(binding = 2, std140) uniform uniformBlockVS2 +UNIFORM_BUFFER_LAYOUT(2, 0, 2) uniform uniformBlockVS2 { vec4 uf_blockVS2[1024]; }; -layout(binding = 4, std140) uniform uniformBlockVS4 +UNIFORM_BUFFER_LAYOUT(4, 0, 3) uniform uniformBlockVS4 { vec4 uf_blockVS4[1024]; }; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; +}; +#else +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; out gl_PerVertex { vec4 gl_Position; @@ -391,7 +415,7 @@ PV1i.z = tempi.x; PV1i.w = tempi.x; R4i.w = tempi.x; // export -gl_Position = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); +SET_POSITION(vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w))); // export // skipped export to semanticId 255 // 0 diff --git a/Workarounds/Wonderful101_ShadowRemoval/5c0d907ed99903ab_0000000000000000_vs.txt b/Workarounds/Wonderful101_ShadowRemoval/5c0d907ed99903ab_0000000000000000_vs.txt index c739b0e6..12d37ad4 100644 --- a/Workarounds/Wonderful101_ShadowRemoval/5c0d907ed99903ab_0000000000000000_vs.txt +++ b/Workarounds/Wonderful101_ShadowRemoval/5c0d907ed99903ab_0000000000000000_vs.txt @@ -1,11 +1,36 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 5c0d907ed99903ab +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ uniform ivec4 uf_remappedVS[9]; uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem3; +}; +#else +uniform ivec4 uf_remappedVS[9]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem3; out gl_PerVertex { vec4 gl_Position; @@ -190,7 +215,7 @@ PV1i.z = tempi.x; PV1i.w = tempi.x; R2i.w = tempi.x; // export -gl_Position = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); +SET_POSITION(vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w))); // export // skipped export to semanticId 255 // 0 diff --git a/Workarounds/Wonderful101_ShadowRemoval/rules.txt b/Workarounds/Wonderful101_ShadowRemoval/rules.txt index 4c1460ab..b98fe7a8 100644 --- a/Workarounds/Wonderful101_ShadowRemoval/rules.txt +++ b/Workarounds/Wonderful101_ShadowRemoval/rules.txt @@ -3,4 +3,4 @@ titleIds = 0005000010116300,000500001012DC00,0005000010135300 name = Shadow Removal path = "The Wonderful 101/Workarounds/Shadow Removal" description = This removes all broken shadows. -version = 3 +version = 4 diff --git a/Workarounds/XenobladeX_Brightness/3cc7e98f78c258b4_00000000000003ca_ps.txt b/Workarounds/XenobladeX_Brightness/3cc7e98f78c258b4_00000000000003ca_ps.txt index 523384d3..a38f4bfb 100644 --- a/Workarounds/XenobladeX_Brightness/3cc7e98f78c258b4_00000000000003ca_ps.txt +++ b/Workarounds/XenobladeX_Brightness/3cc7e98f78c258b4_00000000000003ca_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 3cc7e98f78c258b4 // brightness workaround. // To-do, .5 is daylight and 1.0 night is wiiu "correct" for nvidia // changes here in turn "breaks" bloom as they over or under expose depending on day/night @@ -28,13 +45,21 @@ vec3 contrasty(vec3 colour){ } +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform vec2 uf_fragCoordScale; +#endif -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf470a000 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(binding = 1) uniform sampler3D textureUnitPS1;// Tex1 addr 0x2603b000 res 16x16x16 dim 2 tm: 7 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x10) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler3D textureUnitPS1;// Tex1 addr 0x2603b000 res 16x16x16 dim 2 tm: 7 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; highp float lineRand(vec2 co) { highp float a = 12.9898; diff --git a/Workarounds/XenobladeX_Brightness/7b9f05b2bd8f3b71_0000000000000079_ps.txt b/Workarounds/XenobladeX_Brightness/7b9f05b2bd8f3b71_0000000000000079_ps.txt index 982057d5..bf053af2 100644 --- a/Workarounds/XenobladeX_Brightness/7b9f05b2bd8f3b71_0000000000000079_ps.txt +++ b/Workarounds/XenobladeX_Brightness/7b9f05b2bd8f3b71_0000000000000079_ps.txt @@ -1,6 +1,23 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader 7b9f05b2bd8f3b71 //skell cockpit brigthtness fix + minor colour tweak to balance broken bloom const float exposure = $exposure; // 1.0 is neutral, first lessen to avoid truncation prob around .25 for radeon. @@ -10,11 +27,19 @@ const float vibrance = $vibrance; // 0.0 is neutral const float crushContrast = $crushContrast; // 0.0 is neutral. loss of shadow detail +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf470a000 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 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; vec3 contrasty(vec3 colour) { diff --git a/Workarounds/XenobladeX_Brightness/bd74794730fc559a_00000000ff249249_ps.txt b/Workarounds/XenobladeX_Brightness/bd74794730fc559a_00000000ff249249_ps.txt index 28c32159..6427882e 100644 --- a/Workarounds/XenobladeX_Brightness/bd74794730fc559a_00000000ff249249_ps.txt +++ b/Workarounds/XenobladeX_Brightness/bd74794730fc559a_00000000ff249249_ps.txt @@ -1,25 +1,50 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader bd74794730fc559a //tweak glare, less J.J. Abrams const float glare = $glare; //reflection on skell, characters, metal objects etc +#ifdef VULKAN +layout(set = 1, binding = 8) uniform ufBlock +{ uniform ivec4 uf_remappedPS[12]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5196000 res 1280x720x1 dim 1 tm: 4 format 0810 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4386000 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 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf5d48000 res 1x1x1 dim 1 tm: 2 format 0008 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4a8e000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf4e12000 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 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf589e000 res 640x360x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 9) uniform sampler2D textureUnitPS9;// Tex9 addr 0xf5ff0000 res 64x64x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[12]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5196000 res 1280x720x1 dim 1 tm: 4 format 0810 compSel: 0 1 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4386000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf5d48000 res 1x1x1 dim 1 tm: 2 format 0008 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(3, 1, 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(4, 1, 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4a8e000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(5, 1, 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf4e12000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(7, 1, 6) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf589e000 res 640x360x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(9, 1, 7) uniform sampler2D textureUnitPS9;// Tex9 addr 0xf5ff0000 res 64x64x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 2) in vec4 passParameterSem2; layout(location = 3) in vec4 passParameterSem3; layout(location = 0) out vec4 passPixelColor0; layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Workarounds/XenobladeX_Brightness/d936195db0dd8e7d_0000000000001e52_ps.txt b/Workarounds/XenobladeX_Brightness/d936195db0dd8e7d_0000000000001e52_ps.txt index fbe12c8b..e67c46d1 100644 --- a/Workarounds/XenobladeX_Brightness/d936195db0dd8e7d_0000000000001e52_ps.txt +++ b/Workarounds/XenobladeX_Brightness/d936195db0dd8e7d_0000000000001e52_ps.txt @@ -1,5 +1,22 @@ #version 420 #extension GL_ARB_texture_gather : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + // shader d936195db0dd8e7d // cross fade brightness // To-do, .5 is daylight and 1.0 night is wiiu "correct" for nvidia @@ -28,13 +45,21 @@ vec3 contrasty(vec3 colour){ return fColour; } +#ifdef VULKAN +layout(set = 1, binding = 3) uniform ufBlock +{ uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf470a000 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(binding = 1) uniform sampler3D textureUnitPS1;// Tex1 addr 0x26032000 res 16x16x16 dim 2 tm: 7 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x10) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 2) uniform sampler3D textureUnitPS2;// Tex2 addr 0x2603b000 res 16x16x16 dim 2 tm: 7 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x10) Sampler2 ClampX/Y/Z: 2 2 2 border: 0 +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(1, 1, 1) uniform sampler3D textureUnitPS1;// Tex1 addr 0x26032000 res 16x16x16 dim 2 tm: 7 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 +TEXTURE_LAYOUT(2, 1, 2) uniform sampler3D textureUnitPS2;// Tex2 addr 0x2603b000 res 16x16x16 dim 2 tm: 7 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1 layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; highp float lineRand(vec2 co) { diff --git a/Workarounds/XenobladeX_Brightness/rules.txt b/Workarounds/XenobladeX_Brightness/rules.txt index 2d57c2ab..4f5a701f 100644 --- a/Workarounds/XenobladeX_Brightness/rules.txt +++ b/Workarounds/XenobladeX_Brightness/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 name = Brightness Workaround path = "Xenoblade Chronicles X/Workarounds/Brightness" description = Edit presets for preference. -version = 3 +version = 4 [Preset] name = NVIDIA diff --git a/Workarounds/eShop_RemoveGrayOverlay/fcd26205b94e11ca_000000000000001f_ps.txt b/Workarounds/eShop_RemoveGrayOverlay/fcd26205b94e11ca_000000000000001f_ps.txt index 86d176d1..a1c2244c 100644 --- a/Workarounds/eShop_RemoveGrayOverlay/fcd26205b94e11ca_000000000000001f_ps.txt +++ b/Workarounds/eShop_RemoveGrayOverlay/fcd26205b94e11ca_000000000000001f_ps.txt @@ -1,13 +1,39 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform float uf_alphaTestRef; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Workarounds/eShop_RemoveGrayOverlay/fcd26205b94e11ca_0000000000000079_ps.txt b/Workarounds/eShop_RemoveGrayOverlay/fcd26205b94e11ca_0000000000000079_ps.txt index 7e33fcda..2e6e4237 100644 --- a/Workarounds/eShop_RemoveGrayOverlay/fcd26205b94e11ca_0000000000000079_ps.txt +++ b/Workarounds/eShop_RemoveGrayOverlay/fcd26205b94e11ca_0000000000000079_ps.txt @@ -1,12 +1,37 @@ #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shaders was auto-converted from OpenGL to Cemu so expect weird code and possible errors. + +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ uniform ivec4 uf_remappedPS[2]; -layout(binding = 0) uniform sampler2D textureUnitPS0; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; layout(location = 0) in vec4 passParameterSem0; layout(location = 1) in vec4 passParameterSem1; layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Workarounds/eShop_RemoveGrayOverlay/rules.txt b/Workarounds/eShop_RemoveGrayOverlay/rules.txt index 4dd2d65d..75db3a69 100644 --- a/Workarounds/eShop_RemoveGrayOverlay/rules.txt +++ b/Workarounds/eShop_RemoveGrayOverlay/rules.txt @@ -1,6 +1,6 @@ [Definition] titleIds = 000500301001400a,000500301001410a,000500301001420a name = "Remove gray overlay" -version = 3 +version = 4 path = "Nintendo eShop/Workarounds/Remove gray overlay" description = Hides the gray overlay covering the lower half of the screen \ No newline at end of file