From 6c14f4aff17c986fa42a105ae8edec598417a9e7 Mon Sep 17 00:00:00 2001 From: Crementif <26669564+Crementif@users.noreply.github.com> Date: Sat, 18 Jan 2020 18:11:34 +0100 Subject: [PATCH] Update TPHD and Devils Third to v4 Both were fully verified, so no issues should be present. This basically means that every game that runs properly (Star Wars doesn't go in-game, Tokyo Mirage is also very buggy and the upscaling filters don't work with cemu yet) before V5 will have graphic packs at least. --- .../161904c2816b059d_0000000000000000_vs.txt | 35 ++++++++++++++++--- .../888e5d95da8037e2_0000000000000079_ps.txt | 28 ++++++++++++++- Resolutions/DevilsThird_Resolution/rules.txt | 2 +- .../15e4acf324eb0912_0000000000000000_vs.txt | 33 ++++++++++++++--- .../18893ce415f2fcc7_0000000000000000_vs.txt | 33 ++++++++++++++--- .../1caed2ca3d14f36b_0000000000000000_vs.txt | 31 +++++++++++++--- .../24b09ef9b11b98d5_0000000000000000_vs.txt | 33 ++++++++++++++--- .../27b429c755f71162_0000000000000000_vs.txt | 33 ++++++++++++++--- .../4f5f72f9eec53a90_0000000000000000_vs.txt | 33 ++++++++++++++--- .../5f2ae4dbd2256d0c_0000000000000000_vs.txt | 33 ++++++++++++++--- .../6dc0977212eae7b3_0000000000000000_vs.txt | 33 ++++++++++++++--- .../70e776430cd020a9_0000000000000000_vs.txt | 31 +++++++++++++--- .../7674f1be5f1b1e0c_0000000000000000_vs.txt | 33 ++++++++++++++--- .../7c5a0f2532be049f_0000000000000000_vs.txt | 33 ++++++++++++++--- .../7fc573264230ed00_0000000000000000_vs.txt | 31 +++++++++++++--- .../827afe113fd67658_0000000000000000_vs.txt | 33 ++++++++++++++--- .../85b15b7fe92662bb_0000000000000000_vs.txt | 33 ++++++++++++++--- .../95a5a89d62998e0d_0000000000000079_ps.txt | 32 +++++++++++++++-- .../TPHD_Readme.md | 18 +++++----- .../acbedb86f89efae4_0000000000000000_vs.txt | 33 ++++++++++++++--- .../aebb1e76797684a2_0000000000000000_vs.txt | 33 ++++++++++++++--- .../b5241d6db4feef42_0000000000000000_vs.txt | 31 +++++++++++++--- .../c14019840473ff86_00000000000003c9_ps.txt | 28 +++++++++++++-- .../c612390d4c70f430_0000000000000079_ps.txt | 32 +++++++++++++++-- .../ce7aa5fffc34aab0_0000000000000000_vs.txt | 33 ++++++++++++++--- .../e9d455979cba2505_0000000000000000_vs.txt | 33 ++++++++++++++--- .../eec9403a9d54137e_0000000000000000_vs.txt | 33 ++++++++++++++--- .../f017fcfaf1bd28ab_0000000000000000_vs.txt | 31 +++++++++++++--- .../f5034fe4aa1fec23_0000000000000000_vs.txt | 33 ++++++++++++++--- .../fc148873ef522f50_0000000000000000_vs.txt | 33 ++++++++++++++--- .../TwilightPrincessHD_Resolution/rules.txt | 2 +- 31 files changed, 792 insertions(+), 134 deletions(-) diff --git a/Resolutions/DevilsThird_Resolution/161904c2816b059d_0000000000000000_vs.txt b/Resolutions/DevilsThird_Resolution/161904c2816b059d_0000000000000000_vs.txt index 433ee9b7..b4588784 100644 --- a/Resolutions/DevilsThird_Resolution/161904c2816b059d_0000000000000000_vs.txt +++ b/Resolutions/DevilsThird_Resolution/161904c2816b059d_0000000000000000_vs.txt @@ -1,15 +1,40 @@ #version 420 #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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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; +// uniform vec2 uf_windowSpaceToClipSpaceTransform; // Cemu optimized this uf_variable away in Cemu 1.15.7 +}; +#else +uniform ivec4 uf_remappedVS[5]; +// uniform vec2 uf_windowSpaceToClipSpaceTransform; // Cemu optimized this uf_variable away in Cemu 1.15.7 +#endif +// uf_windowSpaceToClipSpaceTransform was moved to the ufBlock +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..0408f0f9 100644 --- a/Resolutions/DevilsThird_Resolution/888e5d95da8037e2_0000000000000079_ps.txt +++ b/Resolutions/DevilsThird_Resolution/888e5d95da8037e2_0000000000000079_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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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 +// uf_fragCoordScale was moved to the ufBlock +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; 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 51d86c27..1213b1e7 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. Made by Crementif. -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..6f9ef524 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/15e4acf324eb0912_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/15e4acf324eb0912_0000000000000000_vs.txt @@ -1,16 +1,39 @@ #version 420 #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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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 +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/18893ce415f2fcc7_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/18893ce415f2fcc7_0000000000000000_vs.txt index f919cc49..41ea814a 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/18893ce415f2fcc7_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/18893ce415f2fcc7_0000000000000000_vs.txt @@ -1,15 +1,38 @@ #version 420 #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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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 +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 // 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..562791c9 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/1caed2ca3d14f36b_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/1caed2ca3d14f36b_0000000000000000_vs.txt @@ -1,15 +1,38 @@ #version 420 #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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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 +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/24b09ef9b11b98d5_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/24b09ef9b11b98d5_0000000000000000_vs.txt index 1ba3f153..a20830fc 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/24b09ef9b11b98d5_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/24b09ef9b11b98d5_0000000000000000_vs.txt @@ -1,17 +1,40 @@ #version 420 #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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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 +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/27b429c755f71162_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/27b429c755f71162_0000000000000000_vs.txt index 2a072c2c..ca7d0475 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/27b429c755f71162_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/27b429c755f71162_0000000000000000_vs.txt @@ -1,15 +1,38 @@ #version 420 #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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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 +145,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..6ad4801d 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/4f5f72f9eec53a90_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/4f5f72f9eec53a90_0000000000000000_vs.txt @@ -1,15 +1,38 @@ #version 420 #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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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 +139,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..31cf0552 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/5f2ae4dbd2256d0c_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/5f2ae4dbd2256d0c_0000000000000000_vs.txt @@ -1,15 +1,38 @@ #version 420 #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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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 +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/6dc0977212eae7b3_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/6dc0977212eae7b3_0000000000000000_vs.txt index 55c9a54c..b0ab55eb 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/6dc0977212eae7b3_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/6dc0977212eae7b3_0000000000000000_vs.txt @@ -1,17 +1,40 @@ #version 420 #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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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 +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*UItransp); // export diff --git a/Resolutions/TwilightPrincessHD_Resolution/70e776430cd020a9_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/70e776430cd020a9_0000000000000000_vs.txt index 53c6fcd1..71e0de96 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/70e776430cd020a9_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/70e776430cd020a9_0000000000000000_vs.txt @@ -1,14 +1,37 @@ #version 420 #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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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 +139,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..6c6f66d6 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/7674f1be5f1b1e0c_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/7674f1be5f1b1e0c_0000000000000000_vs.txt @@ -1,15 +1,38 @@ #version 420 #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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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 +139,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..97f9e398 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/7c5a0f2532be049f_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/7c5a0f2532be049f_0000000000000000_vs.txt @@ -1,16 +1,39 @@ #version 420 #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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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 +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/7fc573264230ed00_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/7fc573264230ed00_0000000000000000_vs.txt index d6a48db7..a2a64901 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/7fc573264230ed00_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/7fc573264230ed00_0000000000000000_vs.txt @@ -1,14 +1,37 @@ #version 420 #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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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 +134,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..afca3cff 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/827afe113fd67658_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/827afe113fd67658_0000000000000000_vs.txt @@ -1,16 +1,39 @@ #version 420 #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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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 +136,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..0856326a 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/85b15b7fe92662bb_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/85b15b7fe92662bb_0000000000000000_vs.txt @@ -1,16 +1,39 @@ #version 420 #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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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 +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/95a5a89d62998e0d_0000000000000079_ps.txt b/Resolutions/TwilightPrincessHD_Resolution/95a5a89d62998e0d_0000000000000079_ps.txt index ad28ce48..b780fd7a 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/95a5a89d62998e0d_0000000000000079_ps.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/95a5a89d62998e0d_0000000000000079_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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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; +layout(location = 0) out vec4 passPixelColor0; +// uf_fragCoordScale was moved to the ufBlock int clampFI32(int v) { if( v == 0x7FFFFFFF ) @@ -38,7 +64,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/TPHD_Readme.md b/Resolutions/TwilightPrincessHD_Resolution/TPHD_Readme.md index da6e9f8f..37131893 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/TPHD_Readme.md +++ b/Resolutions/TwilightPrincessHD_Resolution/TPHD_Readme.md @@ -1,18 +1,18 @@ ------ -### The Legend of Zelda: Twilight Princess HD +### TLoZ Twilight Princess HD ------ -### Graphic Options +### Graphic options -3840x4320 vert x2 SSAA - Runs the game at double vertical res balancing look and performance when super sampling. Run full screen scaling in stretched and bilinear when activating this option. +3840x4320 vert x2 SSAA - Runs the game at double vertical res balancing look and performance when super sampling. Run full screen scaling in stretched and bilinear when activating this option. -0.5 Sub scaling - Runs transparencies and blur at half resolution, slight performance improvement (in higher resolutions). +0.5 Sub scaling - Runs transparances and blur at half resolution, slight performance improvement (in higher resolutions). -UI 25% transparency - Dims static GUI elements, making them slightly transparent. Reduces chance of burn in when using Oled or plasma display. +UI 25% transp - Dims static GUI elements, making them slightly transparent. Reduces chance of burn in when using Oled or plasma display. -### Nice to know when creating a custom resolution +### Nice to know when creating a custom resolution -There are some issues with AO and light sources, to mitigate this some “sub” viewports need to scale evenly. XCX uses a similar approach to get smooth shadow transitions. +There are some issues with AO and light sources, to mitigate this some “sub” viewports need to scale evenly. XCX uses a similar approach to get smooth shadow transitions. Example: ``` @@ -43,4 +43,6 @@ formats = 0x001 overwriteWidth = ($width/$gameWidth) * (1024*$lightSource*$scaleShader) overwriteHeight = ($height/$gameHeight) * (544*$lightSource) ``` -![21:9](https://i.imgur.com/jVQrzpm.jpg) +![21:9](TP21_9.jpg) + + diff --git a/Resolutions/TwilightPrincessHD_Resolution/acbedb86f89efae4_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/acbedb86f89efae4_0000000000000000_vs.txt index a51c310d..ea36ce3f 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/acbedb86f89efae4_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/acbedb86f89efae4_0000000000000000_vs.txt @@ -1,15 +1,38 @@ #version 420 #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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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 +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/aebb1e76797684a2_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/aebb1e76797684a2_0000000000000000_vs.txt index 0c1e2dde..cc91fbc6 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/aebb1e76797684a2_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/aebb1e76797684a2_0000000000000000_vs.txt @@ -1,15 +1,38 @@ #version 420 #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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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 +141,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..c8f9b843 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/b5241d6db4feef42_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/b5241d6db4feef42_0000000000000000_vs.txt @@ -1,14 +1,37 @@ #version 420 #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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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 +139,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..d1cacd35 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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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; +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1; 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..3ca91bda 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/c612390d4c70f430_0000000000000079_ps.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/c612390d4c70f430_0000000000000079_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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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; +layout(location = 0) out vec4 passPixelColor0; +// uf_fragCoordScale was moved to the ufBlock int clampFI32(int v) { if( v == 0x7FFFFFFF ) @@ -38,7 +64,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/ce7aa5fffc34aab0_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/ce7aa5fffc34aab0_0000000000000000_vs.txt index c795378f..7cdf23c5 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/ce7aa5fffc34aab0_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/ce7aa5fffc34aab0_0000000000000000_vs.txt @@ -1,16 +1,39 @@ #version 420 #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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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 +139,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..858bf01a 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/e9d455979cba2505_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/e9d455979cba2505_0000000000000000_vs.txt @@ -1,16 +1,39 @@ #version 420 #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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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 +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/eec9403a9d54137e_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/eec9403a9d54137e_0000000000000000_vs.txt index d8edd868..e1f6f842 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/eec9403a9d54137e_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/eec9403a9d54137e_0000000000000000_vs.txt @@ -1,15 +1,38 @@ #version 420 #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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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 +141,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..c927d51f 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/f017fcfaf1bd28ab_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/f017fcfaf1bd28ab_0000000000000000_vs.txt @@ -1,15 +1,38 @@ #version 420 #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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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 +137,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..38bbc8b5 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/f5034fe4aa1fec23_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/f5034fe4aa1fec23_0000000000000000_vs.txt @@ -1,16 +1,39 @@ #version 420 #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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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 +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/fc148873ef522f50_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/fc148873ef522f50_0000000000000000_vs.txt index cf954f5d..3f0108a5 100644 --- a/Resolutions/TwilightPrincessHD_Resolution/fc148873ef522f50_0000000000000000_vs.txt +++ b/Resolutions/TwilightPrincessHD_Resolution/fc148873ef522f50_0000000000000000_vs.txt @@ -1,15 +1,38 @@ #version 420 #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 shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + // 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 +142,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 217c35cf..c9c373fb 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. Made by getdls. -version = 3 +version = 4 [Preset] name = 1920x1080 (Native)