mirror of
https://github.com/cemu-project/cemu_graphic_packs.git
synced 2024-12-22 16:11:47 +01:00
[Filters] Use textureSize() instead
As of Cemu 1.15.12b, the textureSrcResolution (textureSrc_Resolution not texture_SrcResolution) uniform used by internal/external resize shaders still gives the native resolution of the game even when a resolution gfx pack is active. We can just ask for texture resolution ourselves in the shaders as a workaround.
This commit is contained in:
parent
01f7fa002f
commit
f9066de98d
@ -4,7 +4,7 @@
|
||||
|
||||
in vec2 passUV;
|
||||
layout(binding=0) uniform sampler2D textureSrc;
|
||||
uniform vec2 textureSrcResolution;
|
||||
// uniform vec2 textureSrcResolution;
|
||||
layout(location = 0) out vec4 colorOut0;
|
||||
|
||||
float weight(float x)
|
||||
@ -45,6 +45,7 @@ vec4 weight4(float x)
|
||||
|
||||
vec4 DrawBicubic(vec2 f_in)
|
||||
{
|
||||
vec2 textureSrcResolution = vec2( textureSize(textureSrc,0) );
|
||||
vec2 stepxy = 1.0/textureSrcResolution;
|
||||
vec2 pos = f_in.st + stepxy * 0.5;
|
||||
vec2 f = fract(pos * textureSrcResolution);
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
in vec2 passUV;
|
||||
layout(binding=0) uniform sampler2D textureSrc;
|
||||
uniform vec2 textureSrcResolution;
|
||||
// uniform vec2 textureSrcResolution;
|
||||
layout(location = 0) out vec4 colorOut0;
|
||||
|
||||
vec4 cubic(float x)
|
||||
@ -44,5 +44,6 @@ vec4 bcFilter(vec2 texcoord, vec2 texscale)
|
||||
}
|
||||
|
||||
void main(){
|
||||
vec2 textureSrcResolution = vec2( textureSize(textureSrc,0) );
|
||||
colorOut0 = vec4(bcFilter(passUV*textureSrcResolution, vec2(1.0,1.0)/textureSrcResolution).rgb,1.0);
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
in vec2 passUV;
|
||||
layout(binding=0) uniform sampler2D textureSrc;
|
||||
uniform vec2 textureSrcResolution;
|
||||
// uniform vec2 textureSrcResolution;
|
||||
layout(location = 0) out vec4 colorOut0;
|
||||
|
||||
float weight(float x)
|
||||
@ -45,6 +45,7 @@ vec4 weight4(float x)
|
||||
|
||||
vec4 DrawBicubic(vec2 f_in)
|
||||
{
|
||||
vec2 textureSrcResolution = vec2( textureSize(textureSrc,0) );
|
||||
vec2 stepxy = 1.0/textureSrcResolution;
|
||||
vec2 pos = f_in.st + stepxy * 0.5;
|
||||
vec2 f = fract(pos * textureSrcResolution);
|
||||
|
@ -30,7 +30,7 @@
|
||||
|
||||
in vec2 passUV;
|
||||
layout(binding=0) uniform sampler2D textureSrc;
|
||||
uniform vec2 textureSrcResolution;
|
||||
// uniform vec2 textureSrcResolution;
|
||||
layout(location = 0) out vec4 colorOut0;
|
||||
|
||||
/*
|
||||
@ -124,5 +124,6 @@ vec4 JINC2_sharp(vec2 texture_size, vec2 texCoord)
|
||||
|
||||
void main()
|
||||
{
|
||||
vec2 textureSrcResolution = vec2( textureSize(textureSrc,0) );
|
||||
colorOut0 = JINC2_sharp(textureSrcResolution, passUV);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user