mirror of
https://github.com/cemu-project/cemu_graphic_packs.git
synced 2024-11-25 19:16:52 +01:00
[XCX] Fixed uneven resolution scaling. Optimized performance settings
320x180 Not a single wasted shader pass.
This commit is contained in:
parent
d8964c6878
commit
3c8958ca35
@ -2,8 +2,8 @@
|
|||||||
#extension GL_ARB_texture_gather : enable
|
#extension GL_ARB_texture_gather : enable
|
||||||
#extension GL_ARB_separate_shader_objects : enable
|
#extension GL_ARB_separate_shader_objects : enable
|
||||||
#extension GL_ARB_shading_language_packing : enable
|
#extension GL_ARB_shading_language_packing : enable
|
||||||
const float resXScale = ($width/$gameWidth);
|
const float resXScale = intBitsToFloat($width)/intBitsToFloat($gameWidth);
|
||||||
const float resYScale = ($height/$gameHeight);
|
const float resYScale = intBitsToFloat($height)/intBitsToFloat($gameHeight);
|
||||||
// shader 9dc2d340255dee89
|
// shader 9dc2d340255dee89
|
||||||
uniform ivec4 uf_remappedVS[1];
|
uniform ivec4 uf_remappedVS[1];
|
||||||
uniform vec2 uf_windowSpaceToClipSpaceTransform;
|
uniform vec2 uf_windowSpaceToClipSpaceTransform;
|
||||||
|
@ -3,8 +3,9 @@
|
|||||||
#extension GL_ARB_texture_gather : enable
|
#extension GL_ARB_texture_gather : enable
|
||||||
// shader b253dca415790207
|
// shader b253dca415790207
|
||||||
// motion blur alpha
|
// motion blur alpha
|
||||||
|
const float resScale = intBitsToFloat($height)/intBitsToFloat($gameHeight);
|
||||||
|
|
||||||
const float resScale = 2.0;
|
//const float resScale = 2.0;
|
||||||
//const float resScale = 3;
|
//const float resScale = 3;
|
||||||
uniform ivec4 uf_remappedPS[5];
|
uniform ivec4 uf_remappedPS[5];
|
||||||
|
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
#extension GL_ARB_separate_shader_objects : enable
|
#extension GL_ARB_separate_shader_objects : enable
|
||||||
// shader ed70de7fe7542f87
|
// shader ed70de7fe7542f87
|
||||||
//motion blur sample spread scaling
|
//motion blur sample spread scaling
|
||||||
const float resScale = 2.0;
|
const float resScale = intBitsToFloat($height)/intBitsToFloat($gameHeight);
|
||||||
|
//const float resScale = 2.0;
|
||||||
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 = 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 0xf4e12000 res 320x180x1 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 = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4e12000 res 320x180x1 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(location = 0) in vec4 passParameterSem0;
|
layout(location = 0) in vec4 passParameterSem0;
|
||||||
|
@ -4,9 +4,8 @@
|
|||||||
// shader af7acf7fb6dca1be
|
// shader af7acf7fb6dca1be
|
||||||
//cutscene shadow scaling
|
//cutscene shadow scaling
|
||||||
//to do - extra edge smooth pass,
|
//to do - extra edge smooth pass,
|
||||||
|
const float resScaleDetail = intBitsToFloat($height)/intBitsToFloat($gameHeight);
|
||||||
const float resScaleDetail = ($width/$gameWidth);
|
const float resScale = (intBitsToFloat($height)/intBitsToFloat($gameHeight);
|
||||||
const float resScale = ($height/$gameHeight);
|
|
||||||
//const float resScaleDetail = 2.0;
|
//const float resScaleDetail = 2.0;
|
||||||
//const float resScale = 3.0;
|
//const float resScale = 3.0;
|
||||||
const float shadowExposure = 0.85; //By truncating shadow, we decrease overall exposure during day only.
|
const float shadowExposure = 0.85; //By truncating shadow, we decrease overall exposure during day only.
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
#version 420
|
#version 420
|
||||||
#extension GL_ARB_texture_gather : enable
|
#extension GL_ARB_texture_gather : enable
|
||||||
#extension GL_ARB_separate_shader_objects : enable
|
#extension GL_ARB_separate_shader_objects : enable
|
||||||
const float resXScale = ($width/$gameWidth);
|
const float resXScale = intBitsToFloat($width)/intBitsToFloat($gameWidth);
|
||||||
const float resYScale = ($height/$gameHeight);
|
const float resYScale = intBitsToFloat($height)/intBitsToFloat($gameHeight);
|
||||||
// shader fdb5a87dd0368c6b //shadow scaling
|
// shader fdb5a87dd0368c6b //shadow scaling
|
||||||
uniform ivec4 uf_remappedPS[23];
|
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 = 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
|
||||||
|
@ -16,17 +16,6 @@ $dither = 0.01
|
|||||||
$scaleShader = 1.0
|
$scaleShader = 1.0
|
||||||
$scaleBlur = 0.05
|
$scaleBlur = 0.05
|
||||||
|
|
||||||
[Preset]
|
|
||||||
name = 640x360
|
|
||||||
$width = 640
|
|
||||||
$height = 360
|
|
||||||
$gameWidth = 1280
|
|
||||||
$gameHeight = 720
|
|
||||||
$internalRes = 0.5
|
|
||||||
$dither = 0.01
|
|
||||||
$scaleShader = 1.0
|
|
||||||
$scaleBlur = 0.05
|
|
||||||
|
|
||||||
[Preset]
|
[Preset]
|
||||||
name = 3840x720 (48:9)
|
name = 3840x720 (48:9)
|
||||||
$width = 3840
|
$width = 3840
|
||||||
@ -40,6 +29,17 @@ $scaleBlur = 0.05
|
|||||||
|
|
||||||
// Quality
|
// Quality
|
||||||
|
|
||||||
|
[Preset]
|
||||||
|
name = 1600x900
|
||||||
|
$width = 1600
|
||||||
|
$height = 900
|
||||||
|
$gameWidth = 1280
|
||||||
|
$gameHeight = 720
|
||||||
|
$internalRes = 1.0
|
||||||
|
$dither = 0.1
|
||||||
|
$scaleShader = (720.0/900.0) # factor for any shader that can't handle fractional scaling
|
||||||
|
$scaleBlur = 0.5
|
||||||
|
|
||||||
[Preset]
|
[Preset]
|
||||||
name = 1920x1080 (HD)
|
name = 1920x1080 (HD)
|
||||||
$width = 1920
|
$width = 1920
|
||||||
@ -48,18 +48,7 @@ $gameWidth = 1280
|
|||||||
$gameHeight = 720
|
$gameHeight = 720
|
||||||
$internalRes = 1.0
|
$internalRes = 1.0
|
||||||
$dither = 0.15
|
$dither = 0.15
|
||||||
$scaleShader = 1.0
|
$scaleShader = (720.0/1080.0)
|
||||||
$scaleBlur = 0.5
|
|
||||||
|
|
||||||
[Preset]
|
|
||||||
name = 1920x1200 (10:9 HD)
|
|
||||||
$width = 1920
|
|
||||||
$height = 1200
|
|
||||||
$gameWidth = 1280
|
|
||||||
$gameHeight = 720
|
|
||||||
$internalRes = 1.0
|
|
||||||
$dither = 0.15
|
|
||||||
$scaleShader = 1.0
|
|
||||||
$scaleBlur = 0.5
|
$scaleBlur = 0.5
|
||||||
|
|
||||||
[Preset]
|
[Preset]
|
||||||
@ -70,7 +59,7 @@ $gameWidth = 1280
|
|||||||
$gameHeight = 720
|
$gameHeight = 720
|
||||||
$internalRes = 1.0
|
$internalRes = 1.0
|
||||||
$dither = 0.15
|
$dither = 0.15
|
||||||
$scaleShader = 1.0
|
$scaleShader = (720.0/1080.0)
|
||||||
$scaleBlur = 0.5
|
$scaleBlur = 0.5
|
||||||
|
|
||||||
[Preset]
|
[Preset]
|
||||||
@ -81,18 +70,18 @@ $gameWidth = 1280
|
|||||||
$gameHeight = 720
|
$gameHeight = 720
|
||||||
$internalRes = 1.0
|
$internalRes = 1.0
|
||||||
$dither = 0.15
|
$dither = 0.15
|
||||||
$scaleShader = 1.0
|
$scaleShader = (720.0/1080.0)
|
||||||
$scaleBlur = 0.5
|
$scaleBlur = 0.5
|
||||||
|
|
||||||
[Preset]
|
[Preset]
|
||||||
name = 1600x900
|
name = 1920x1200 (10:9 HD)
|
||||||
$width = 1600
|
$width = 1920
|
||||||
$height = 900
|
$height = 1200
|
||||||
$gameWidth = 1280
|
$gameWidth = 1280
|
||||||
$gameHeight = 720
|
$gameHeight = 720
|
||||||
$internalRes = 1.0
|
$internalRes = 1.0
|
||||||
$dither = 0.1
|
$dither = 0.15
|
||||||
$scaleShader = 1.0
|
$scaleShader = (720.0/1200.0)
|
||||||
$scaleBlur = 0.5
|
$scaleBlur = 0.5
|
||||||
|
|
||||||
[Preset]
|
[Preset]
|
||||||
@ -145,9 +134,9 @@ $width = 3200
|
|||||||
$height = 1800
|
$height = 1800
|
||||||
$gameWidth = 1280
|
$gameWidth = 1280
|
||||||
$gameHeight = 720
|
$gameHeight = 720
|
||||||
$internalRes = 1.0
|
$internalRes = 2.0
|
||||||
$dither = 0.2
|
$dither = 0.2
|
||||||
$scaleShader = 1.0
|
$scaleShader = (1440.0/1800.0)
|
||||||
$scaleBlur = 0.5
|
$scaleBlur = 0.5
|
||||||
|
|
||||||
[Preset]
|
[Preset]
|
||||||
@ -240,11 +229,8 @@ overwriteHeight = ($height/$gameHeight) * 720
|
|||||||
width = 1024
|
width = 1024
|
||||||
height = 1024
|
height = 1024
|
||||||
formats = 0x005
|
formats = 0x005
|
||||||
#overwriteWidth = ($height/$gameHeight) * 1024
|
overwriteWidth = ($height/$gameHeight) * (1024*$scaleShader)
|
||||||
#overwriteHeight = ($height/$gameHeight) * 1024
|
overwriteHeight = ($height/$gameHeight) * (1024*$scaleShader)
|
||||||
overwriteWidth = 3072 #1080 breaks without rounding
|
|
||||||
overwriteHeight = 3072
|
|
||||||
|
|
||||||
|
|
||||||
[TextureRedefine] #ingame menu
|
[TextureRedefine] #ingame menu
|
||||||
width = 1024
|
width = 1024
|
||||||
@ -286,10 +272,9 @@ overwriteHeight = ($height/$gameHeight) * (360*$internalRes)
|
|||||||
width = 512
|
width = 512
|
||||||
height = 512
|
height = 512
|
||||||
formats = 0x005
|
formats = 0x005
|
||||||
#overwriteWidth = ($height/$gameHeight) * 512
|
overwriteWidth = ($height/$gameHeight) * (1024*$scaleShader)
|
||||||
#overwriteHeight = ($height/$gameHeight) * 512
|
overwriteHeight = ($height/$gameHeight) * (1024*$scaleShader)
|
||||||
overwriteWidth = 3072 #1080 breaks without rounding
|
|
||||||
overwriteHeight = 3072
|
|
||||||
|
|
||||||
[TextureRedefine]
|
[TextureRedefine]
|
||||||
width = 512
|
width = 512
|
||||||
|
28
Source/XenobladeX_Performance/rules.txt
Normal file
28
Source/XenobladeX_Performance/rules.txt
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = Resolution
|
||||||
|
path = "Xenoblade Chronicles X/Graphics/Performance Resolution"
|
||||||
|
description = Changes the resolution of the game.
|
||||||
|
version = 3
|
||||||
|
|
||||||
|
[Preset]
|
||||||
|
name = 320x180
|
||||||
|
$width = 320
|
||||||
|
$height = 180
|
||||||
|
$gameWidth = 1280
|
||||||
|
$gameHeight = 720
|
||||||
|
|
||||||
|
[Preset]
|
||||||
|
name = 640x360
|
||||||
|
$width = 640
|
||||||
|
$height = 360
|
||||||
|
$gameWidth = 1280
|
||||||
|
$gameHeight = 720
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 1280
|
||||||
|
height = 720
|
||||||
|
formatsExcluded = 0x031,0x431,0x035,0x034,0x033 #dialog prompt fixes, XCX Logo NLA
|
||||||
|
tileModesExcluded = 0x001
|
||||||
|
overwriteWidth = ($width/$gameWidth) * 1280
|
||||||
|
overwriteHeight = ($height/$gameHeight) * 720
|
Loading…
Reference in New Issue
Block a user