Pulled recent changes, made mergeable with Slashiee's master, fixed Cemu 1.10.0 support

Cemu 1.10.0 made some changes which are causing the blur radius to be less on Cemu 1.10.0 due to a blur layer which changed size (for Mario kart 8). Can't do much about it. I used Cemu 1.10.0 as a guideline, but backwards compatibility is still here.
This commit is contained in:
Milan 2017-10-03 20:54:50 +02:00
parent 6a4494faa1
commit 02c824f327
51 changed files with 155 additions and 368 deletions

View File

@ -24,7 +24,6 @@ vec2 res = vec2( float(ires.x), float(ires.y) );
int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5)); int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5));
vec4 R1f = vec4(0.0); vec4 R1f = vec4(0.0);
float count = 0.0; float count = 0.0;
for( int x=-r; x<=r; x++ ) { for( int x=-r; x<=r; x++ ) {
for( int y=-r; y<=r; y++ ) { for( int y=-r; y<=r; y++ ) {
if( pow(x,2) + pow(y,2) <= pow(r,2) ) { if( pow(x,2) + pow(y,2) <= pow(r,2) ) {
@ -35,3 +34,4 @@ for( int x=-r; x<=r; x++ ) {
} }
passPixelColor0 = R1f/count; passPixelColor0 = R1f/count;
} }

View File

@ -24,7 +24,6 @@ vec2 res = vec2( float(ires.x), float(ires.y) );
int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5)); int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5));
vec4 R1f = vec4(0.0); vec4 R1f = vec4(0.0);
float count = 0.0; float count = 0.0;
for( int x=-r; x<=r; x++ ) { for( int x=-r; x<=r; x++ ) {
for( int y=-r; y<=r; y++ ) { for( int y=-r; y<=r; y++ ) {
if( pow(x,2) + pow(y,2) <= pow(r,2) ) { if( pow(x,2) + pow(y,2) <= pow(r,2) ) {
@ -35,3 +34,4 @@ for( int x=-r; x<=r; x++ ) {
} }
passPixelColor0 = R1f/count; passPixelColor0 = R1f/count;
} }

View File

@ -24,7 +24,6 @@ vec2 res = vec2( float(ires.x), float(ires.y) );
int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5)); int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5));
vec4 R1f = vec4(0.0); vec4 R1f = vec4(0.0);
float count = 0.0; float count = 0.0;
for( int x=-r; x<=r; x++ ) { for( int x=-r; x<=r; x++ ) {
for( int y=-r; y<=r; y++ ) { for( int y=-r; y<=r; y++ ) {
if( pow(x,2) + pow(y,2) <= pow(r,2) ) { if( pow(x,2) + pow(y,2) <= pow(r,2) ) {
@ -35,3 +34,4 @@ for( int x=-r; x<=r; x++ ) {
} }
passPixelColor0 = R1f/count; passPixelColor0 = R1f/count;
} }

View File

@ -14,7 +14,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -4,6 +4,7 @@
// Used for: Vertical Blur // Used for: Vertical Blur
const float blurFactor = 1.0; //Higher is less blur const float blurFactor = 1.0; //Higher is less blur
// Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/ // Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/
layout(binding = 0) uniform sampler2D textureUnitPS0; layout(binding = 0) uniform sampler2D textureUnitPS0;
layout(location = 0) in vec4 passParameterSem0; layout(location = 0) in vec4 passParameterSem0;
@ -14,7 +15,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -14,7 +14,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -4,6 +4,7 @@
// Used for: Vertical Blur // Used for: Vertical Blur
const float blurFactor = 1.0; //Higher is less blur const float blurFactor = 1.0; //Higher is less blur
// Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/ // Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/
layout(binding = 0) uniform sampler2D textureUnitPS0; layout(binding = 0) uniform sampler2D textureUnitPS0;
layout(location = 0) in vec4 passParameterSem0; layout(location = 0) in vec4 passParameterSem0;
@ -14,7 +15,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -14,7 +14,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -4,6 +4,7 @@
// Used for: Vertical Blur // Used for: Vertical Blur
const float blurFactor = 1.0; //Higher is less blur const float blurFactor = 1.0; //Higher is less blur
// Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/ // Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/
layout(binding = 0) uniform sampler2D textureUnitPS0; layout(binding = 0) uniform sampler2D textureUnitPS0;
layout(location = 0) in vec4 passParameterSem0; layout(location = 0) in vec4 passParameterSem0;
@ -14,7 +15,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -4,6 +4,7 @@
// Used for: Vertical Blur // Used for: Vertical Blur
const float blurFactor = 1.0; //Higher is less blur const float blurFactor = 1.0; //Higher is less blur
// Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/ // Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/
layout(binding = 0) uniform sampler2D textureUnitPS0; layout(binding = 0) uniform sampler2D textureUnitPS0;
layout(location = 0) in vec4 passParameterSem0; layout(location = 0) in vec4 passParameterSem0;
@ -14,7 +15,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -14,7 +14,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -6,45 +6,34 @@ version = 2
[TextureRedefine] # tv [TextureRedefine] # tv
width = 1280 width = 1280
height = 720 height = 720
formatsExcluded = 0x816
overwriteWidth = 5120
overwriteHeight = 2880
[TextureRedefine] # tv (increased depth)
width = 1280
height = 720
formats = 0x816
overwriteFormat = 0x823
overwriteWidth = 5120 overwriteWidth = 5120
overwriteHeight = 2880 overwriteHeight = 2880
[TextureRedefine] # half-res alpha [TextureRedefine] # half-res alpha
width = 640 width = 640
height = 360 height = 360
formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 2560
overwriteHeight = 1440
[TextureRedefine] # half-res alpha (increased depth)
width = 640
height = 360
formats = 0x816
overwriteFormat = 0x823
overwriteWidth = 2560 overwriteWidth = 2560
overwriteHeight = 1440 overwriteHeight = 1440
[TextureRedefine] # quarter-res alpha [TextureRedefine] # quarter-res alpha
width = 320 width = 320
height = 180 height = 180
formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 1280 overwriteWidth = 1280
overwriteHeight = 720 overwriteHeight = 720
[TextureRedefine] # quarter-res alpha (increased depth) [TextureRedefine] # half-res alpha (gamepad)
width = 320 width = 427
height = 180 height = 240
formats = 0x816 formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteFormat = 0x823 overwriteWidth = 1280
overwriteHeight = 720
[TextureRedefine] # half-res alpha (multiplayer)
width = 424
height = 240
formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 1280 overwriteWidth = 1280
overwriteHeight = 720 overwriteHeight = 720
@ -65,17 +54,3 @@ width = 848
height = 480 height = 480
overwriteWidth = 2560 overwriteWidth = 2560
overwriteHeight = 1440 overwriteHeight = 1440
[TextureRedefine] # half-res alpha (gamepad)
width = 427
height = 240
formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 1280
overwriteHeight = 720
[TextureRedefine] # half-res alpha (multiplayer)
width = 424
height = 240
formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 1280
overwriteHeight = 720

View File

@ -4,6 +4,7 @@
// Used for: Vertical Blur // Used for: Vertical Blur
const float blurFactor = 1.0; //Higher is less blur const float blurFactor = 1.0; //Higher is less blur
// Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/ // Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/
layout(binding = 0) uniform sampler2D textureUnitPS0; layout(binding = 0) uniform sampler2D textureUnitPS0;
layout(location = 0) in vec4 passParameterSem0; layout(location = 0) in vec4 passParameterSem0;
@ -14,7 +15,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -14,7 +14,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -6,47 +6,36 @@ version = 2
[TextureRedefine] # tv [TextureRedefine] # tv
width = 1280 width = 1280
height = 720 height = 720
formatsExcluded = 0x816
overwriteWidth = 7680
overwriteHeight = 4320
[TextureRedefine] # tv (increased depth)
width = 1280
height = 720
formats = 0x816
overwriteFormat = 0x823
overwriteWidth = 7680 overwriteWidth = 7680
overwriteHeight = 4320 overwriteHeight = 4320
[TextureRedefine] # half-res alpha [TextureRedefine] # half-res alpha
width = 640 width = 640
height = 360 height = 360
formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 3840
overwriteHeight = 2160
[TextureRedefine] # half-res alpha (increased depth)
width = 640
height = 360
formats = 0x816
overwriteFormat = 0x823
overwriteWidth = 3840 overwriteWidth = 3840
overwriteHeight = 2160 overwriteHeight = 2160
[TextureRedefine] # quarter-res alpha [TextureRedefine] # quarter-res alpha
width = 320 width = 320
height = 180 height = 180
formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 1920 overwriteWidth = 1920
overwriteHeight = 1080 overwriteHeight = 1080
[TextureRedefine] # quarter-res alpha (increased depth) [TextureRedefine] # half-res alpha (gamepad)
width = 320 width = 427
height = 180 height = 240
formats = 0x816 formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteFormat = 0x823 overwriteWidth = 1280
overwriteWidth = 1920 overwriteHeight = 720
overwriteHeight = 1080
[TextureRedefine] # half-res alpha (multiplayer)
width = 424
height = 240
formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 1280
overwriteHeight = 720
[TextureRedefine] # squid sisters [TextureRedefine] # squid sisters
width = 1024 width = 1024
@ -65,17 +54,3 @@ width = 848
height = 480 height = 480
overwriteWidth = 2560 overwriteWidth = 2560
overwriteHeight = 1440 overwriteHeight = 1440
[TextureRedefine] # half-res alpha (gamepad)
width = 427
height = 240
formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 1280
overwriteHeight = 720
[TextureRedefine] # half-res alpha (multiplayer)
width = 424
height = 240
formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 1280
overwriteHeight = 720

View File

@ -4,6 +4,7 @@
// Used for: Vertical Blur // Used for: Vertical Blur
const float blurFactor = 1.0; //Higher is less blur const float blurFactor = 1.0; //Higher is less blur
// Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/ // Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/
layout(binding = 0) uniform sampler2D textureUnitPS0; layout(binding = 0) uniform sampler2D textureUnitPS0;
layout(location = 0) in vec4 passParameterSem0; layout(location = 0) in vec4 passParameterSem0;
@ -14,7 +15,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -14,7 +14,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -6,47 +6,36 @@ version = 2
[TextureRedefine] # tv [TextureRedefine] # tv
width = 1280 width = 1280
height = 720 height = 720
formatsExcluded = 0x816
overwriteWidth = 10240
overwriteHeight = 5760
[TextureRedefine] # tv (increased depth)
width = 1280
height = 720
formats = 0x816
overwriteFormat = 0x823
overwriteWidth = 10240 overwriteWidth = 10240
overwriteHeight = 5760 overwriteHeight = 5760
[TextureRedefine] # half-res alpha [TextureRedefine] # half-res alpha
width = 640 width = 640
height = 360 height = 360
formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 5120
overwriteHeight = 2880
[TextureRedefine] # half-res alpha (increased depth)
width = 640
height = 360
formats = 0x816
overwriteFormat = 0x823
overwriteWidth = 5120 overwriteWidth = 5120
overwriteHeight = 2880 overwriteHeight = 2880
[TextureRedefine] # quarter-res alpha [TextureRedefine] # quarter-res alpha
width = 320 width = 320
height = 180 height = 180
formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 2560 overwriteWidth = 2560
overwriteHeight = 1440 overwriteHeight = 1440
[TextureRedefine] # quarter-res alpha (increased depth) [TextureRedefine] # half-res alpha (gamepad)
width = 320 width = 427
height = 180 height = 240
formats = 0x816 formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteFormat = 0x823 overwriteWidth = 1280
overwriteWidth = 2560 overwriteHeight = 720
overwriteHeight = 1440
[TextureRedefine] # half-res alpha (multiplayer)
width = 424
height = 240
formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 1280
overwriteHeight = 720
[TextureRedefine] # squid sisters [TextureRedefine] # squid sisters
width = 1024 width = 1024
@ -65,17 +54,3 @@ width = 848
height = 480 height = 480
overwriteWidth = 2560 overwriteWidth = 2560
overwriteHeight = 1440 overwriteHeight = 1440
[TextureRedefine] # half-res alpha (gamepad)
width = 427
height = 240
formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 1280
overwriteHeight = 720
[TextureRedefine] # half-res alpha (multiplayer)
width = 424
height = 240
formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 1280
overwriteHeight = 720

View File

@ -24,7 +24,6 @@ vec2 res = vec2( float(ires.x), float(ires.y) );
int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5)); int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5));
vec4 R1f = vec4(0.0); vec4 R1f = vec4(0.0);
float count = 0.0; float count = 0.0;
for( int x=-r; x<=r; x++ ) { for( int x=-r; x<=r; x++ ) {
for( int y=-r; y<=r; y++ ) { for( int y=-r; y<=r; y++ ) {
if( pow(x,2) + pow(y,2) <= pow(r,2) ) { if( pow(x,2) + pow(y,2) <= pow(r,2) ) {
@ -35,3 +34,4 @@ for( int x=-r; x<=r; x++ ) {
} }
passPixelColor0 = R1f/count; passPixelColor0 = R1f/count;
} }

View File

@ -24,7 +24,6 @@ vec2 res = vec2( float(ires.x), float(ires.y) );
int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5)); int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5));
vec4 R1f = vec4(0.0); vec4 R1f = vec4(0.0);
float count = 0.0; float count = 0.0;
for( int x=-r; x<=r; x++ ) { for( int x=-r; x<=r; x++ ) {
for( int y=-r; y<=r; y++ ) { for( int y=-r; y<=r; y++ ) {
if( pow(x,2) + pow(y,2) <= pow(r,2) ) { if( pow(x,2) + pow(y,2) <= pow(r,2) ) {
@ -35,3 +34,4 @@ for( int x=-r; x<=r; x++ ) {
} }
passPixelColor0 = R1f/count; passPixelColor0 = R1f/count;
} }

View File

@ -24,7 +24,6 @@ vec2 res = vec2( float(ires.x), float(ires.y) );
int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5)); int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5));
vec4 R1f = vec4(0.0); vec4 R1f = vec4(0.0);
float count = 0.0; float count = 0.0;
for( int x=-r; x<=r; x++ ) { for( int x=-r; x<=r; x++ ) {
for( int y=-r; y<=r; y++ ) { for( int y=-r; y<=r; y++ ) {
if( pow(x,2) + pow(y,2) <= pow(r,2) ) { if( pow(x,2) + pow(y,2) <= pow(r,2) ) {
@ -35,3 +34,4 @@ for( int x=-r; x<=r; x++ ) {
} }
passPixelColor0 = R1f/count; passPixelColor0 = R1f/count;
} }

View File

@ -23,17 +23,15 @@ ivec2 ires = textureSize(textureUnitPS0,0);
vec2 res = vec2( float(ires.x), float(ires.y) ); vec2 res = vec2( float(ires.x), float(ires.y) );
int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5)); int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5));
vec4 R1f = vec4(0.0); vec4 R1f = vec4(0.0);
float count = 0.0;
for (int i=0; i<r; i++) { for( int x=-r; x<=r; x++ ) {
float m = (1-r)/2 + float(i); for( int y=-r; y<=r; y++ ) {
for (int k=0; k<r; k++){ if( pow(x,2) + pow(y,2) <= pow(r,2) ) {
float n = (1-r)/2 + float(k); R1f += texture( textureUnitPS0, R0f + vec2(x,y)/res );
R1f += texture( textureUnitPS0, R0f+ vec2(m,n) * 2.0 /res )/(pow(r,2)-4); //assume 2px offset as well count += 1.0;
}
} }
} }
R1f -= texture( textureUnitPS0, R0f+ vec2((1-r)/2,(1-r)/2) * 2.0 /res )/(pow(r,2)-4); passPixelColor0 = R1f/count;
R1f -= texture( textureUnitPS0, R0f+ vec2((1-r)/2,(r-1)/2) * 2.0 /res )/(pow(r,2)-4);
R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(1-r)/2) * 2.0 /res )/(pow(r,2)-4);
R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(r-1)/2) * 2.0 /res )/(pow(r,2)-4); //workaround, less like a square, needs proper bokeh
passPixelColor0 = R1f;
} }

View File

@ -23,17 +23,15 @@ ivec2 ires = textureSize(textureUnitPS0,0);
vec2 res = vec2( float(ires.x), float(ires.y) ); vec2 res = vec2( float(ires.x), float(ires.y) );
int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5)); int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5));
vec4 R1f = vec4(0.0); vec4 R1f = vec4(0.0);
float count = 0.0;
for (int i=0; i<r; i++) { for( int x=-r; x<=r; x++ ) {
float m = (1-r)/2 + float(i); for( int y=-r; y<=r; y++ ) {
for (int k=0; k<r; k++){ if( pow(x,2) + pow(y,2) <= pow(r,2) ) {
float n = (1-r)/2 + float(k); R1f += texture( textureUnitPS0, R0f + vec2(x,y)/res );
R1f += texture( textureUnitPS0, R0f+ vec2(m,n) * 2.0 /res )/(pow(r,2)-4); //assume 2px offset as well count += 1.0;
}
} }
} }
R1f -= texture( textureUnitPS0, R0f+ vec2((1-r)/2,(1-r)/2) * 2.0 /res )/(pow(r,2)-4); passPixelColor0 = R1f/count;
R1f -= texture( textureUnitPS0, R0f+ vec2((1-r)/2,(r-1)/2) * 2.0 /res )/(pow(r,2)-4);
R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(1-r)/2) * 2.0 /res )/(pow(r,2)-4);
R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(r-1)/2) * 2.0 /res )/(pow(r,2)-4); //workaround, less like a square, needs proper bokeh
passPixelColor0 = R1f;
} }

View File

@ -23,17 +23,15 @@ ivec2 ires = textureSize(textureUnitPS0,0);
vec2 res = vec2( float(ires.x), float(ires.y) ); vec2 res = vec2( float(ires.x), float(ires.y) );
int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5)); int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5));
vec4 R1f = vec4(0.0); vec4 R1f = vec4(0.0);
float count = 0.0;
for (int i=0; i<r; i++) { for( int x=-r; x<=r; x++ ) {
float m = (1-r)/2 + float(i); for( int y=-r; y<=r; y++ ) {
for (int k=0; k<r; k++){ if( pow(x,2) + pow(y,2) <= pow(r,2) ) {
float n = (1-r)/2 + float(k); R1f += texture( textureUnitPS0, R0f + vec2(x,y)/res );
R1f += texture( textureUnitPS0, R0f+ vec2(m,n) * 2.0 /res )/(pow(r,2)-4); //assume 2px offset as well count += 1.0;
}
} }
} }
R1f -= texture( textureUnitPS0, R0f+ vec2((1-r)/2,(1-r)/2) * 2.0 /res )/(pow(r,2)-4); passPixelColor0 = R1f/count;
R1f -= texture( textureUnitPS0, R0f+ vec2((1-r)/2,(r-1)/2) * 2.0 /res )/(pow(r,2)-4);
R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(1-r)/2) * 2.0 /res )/(pow(r,2)-4);
R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(r-1)/2) * 2.0 /res )/(pow(r,2)-4); //workaround, less like a square, needs proper bokeh
passPixelColor0 = R1f;
} }

View File

@ -23,17 +23,15 @@ ivec2 ires = textureSize(textureUnitPS0,0);
vec2 res = vec2( float(ires.x), float(ires.y) ); vec2 res = vec2( float(ires.x), float(ires.y) );
int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5)); int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5));
vec4 R1f = vec4(0.0); vec4 R1f = vec4(0.0);
float count = 0.0;
for (int i=0; i<r; i++) { for( int x=-r; x<=r; x++ ) {
float m = (1-r)/2 + float(i); for( int y=-r; y<=r; y++ ) {
for (int k=0; k<r; k++){ if( pow(x,2) + pow(y,2) <= pow(r,2) ) {
float n = (1-r)/2 + float(k); R1f += texture( textureUnitPS0, R0f + vec2(x,y)/res );
R1f += texture( textureUnitPS0, R0f+ vec2(m,n) * 2.0 /res )/(pow(r,2)-4); //assume 2px offset as well count += 1.0;
}
} }
} }
R1f -= texture( textureUnitPS0, R0f+ vec2((1-r)/2,(1-r)/2) * 2.0 /res )/(pow(r,2)-4); passPixelColor0 = R1f/count;
R1f -= texture( textureUnitPS0, R0f+ vec2((1-r)/2,(r-1)/2) * 2.0 /res )/(pow(r,2)-4);
R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(1-r)/2) * 2.0 /res )/(pow(r,2)-4);
R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(r-1)/2) * 2.0 /res )/(pow(r,2)-4); //workaround, less like a square, needs proper bokeh
passPixelColor0 = R1f;
} }

View File

@ -14,7 +14,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -4,6 +4,7 @@
// Used for: Vertical Blur // Used for: Vertical Blur
const float blurFactor = 1.0; //Higher is less blur const float blurFactor = 1.0; //Higher is less blur
// Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/ // Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/
layout(binding = 0) uniform sampler2D textureUnitPS0; layout(binding = 0) uniform sampler2D textureUnitPS0;
layout(location = 0) in vec4 passParameterSem0; layout(location = 0) in vec4 passParameterSem0;
@ -14,7 +15,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -14,7 +14,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -4,6 +4,7 @@
// Used for: Vertical Blur // Used for: Vertical Blur
const float blurFactor = 1.0; //Higher is less blur const float blurFactor = 1.0; //Higher is less blur
// Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/ // Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/
layout(binding = 0) uniform sampler2D textureUnitPS0; layout(binding = 0) uniform sampler2D textureUnitPS0;
layout(location = 0) in vec4 passParameterSem0; layout(location = 0) in vec4 passParameterSem0;
@ -14,7 +15,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -14,7 +14,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -4,6 +4,7 @@
// Used for: Vertical Blur // Used for: Vertical Blur
const float blurFactor = 1.0; //Higher is less blur const float blurFactor = 1.0; //Higher is less blur
// Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/ // Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/
layout(binding = 0) uniform sampler2D textureUnitPS0; layout(binding = 0) uniform sampler2D textureUnitPS0;
layout(location = 0) in vec4 passParameterSem0; layout(location = 0) in vec4 passParameterSem0;
@ -14,7 +15,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -14,7 +14,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -15,7 +15,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -14,7 +14,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -15,7 +15,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -3,21 +3,11 @@ titleIds = 000500001010ec00,000500001010ed00,000500001010eb00,ffffffff85887bc1
name = "Mario Kart 8 - 3840x2160" name = "Mario Kart 8 - 3840x2160"
version = 2 version = 2
# Main Screen Resolution better color depth
[TextureRedefine]
width = 1280
height = 720
formats = 0x19,0x1a
overwriteFormat = 0x1f
tileModesExcluded = 0x001
overwriteWidth = 3840
overwriteHeight = 2160
# Main Screen Resolution # Main Screen Resolution
[TextureRedefine] [TextureRedefine]
width = 1280 width = 1280
height = 720 height = 720
formatsExcluded = 0x41A,0x431,0x19,0x1a # exclude the intro background texture, race end background formatsExcluded = 0x41A,0x431 # exclude the intro background texture, race end background
overwriteWidth = 3840 overwriteWidth = 3840
overwriteHeight = 2160 overwriteHeight = 2160

View File

@ -14,7 +14,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -4,6 +4,7 @@
// Used for: Vertical Blur // Used for: Vertical Blur
const float blurFactor = 1.0; //Higher is less blur const float blurFactor = 1.0; //Higher is less blur
// Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/ // Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/
layout(binding = 0) uniform sampler2D textureUnitPS0; layout(binding = 0) uniform sampler2D textureUnitPS0;
layout(location = 0) in vec4 passParameterSem0; layout(location = 0) in vec4 passParameterSem0;
@ -14,7 +15,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -6,45 +6,20 @@ version = 2
[TextureRedefine] # tv [TextureRedefine] # tv
width = 1280 width = 1280
height = 720 height = 720
formatsExcluded = 0x816
overwriteWidth = 1920
overwriteHeight = 1080
[TextureRedefine] # tv (increased depth)
width = 1280
height = 720
formats = 0x816
overwriteFormat = 0x823
overwriteWidth = 1920 overwriteWidth = 1920
overwriteHeight = 1080 overwriteHeight = 1080
[TextureRedefine] # half-res alpha [TextureRedefine] # half-res alpha
width = 640 width = 640
height = 360 height = 360
formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 960
overwriteHeight = 540
[TextureRedefine] # half-res alpha (increased depth)
width = 640
height = 360
formats = 0x816
overwriteFormat = 0x823
overwriteWidth = 960 overwriteWidth = 960
overwriteHeight = 540 overwriteHeight = 540
[TextureRedefine] # quarter-res alpha [TextureRedefine] # quarter-res alpha
width = 320 width = 320
height = 180 height = 180
formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 480
overwriteHeight = 270
[TextureRedefine] # quarter-res alpha (increased depth)
width = 320
height = 180
formats = 0x816
overwriteFormat = 0x823
overwriteWidth = 480 overwriteWidth = 480
overwriteHeight = 270 overwriteHeight = 270

View File

@ -4,6 +4,7 @@
// Used for: Vertical Blur // Used for: Vertical Blur
const float blurFactor = 1.0; //Higher is less blur const float blurFactor = 1.0; //Higher is less blur
// Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/ // Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/
layout(binding = 0) uniform sampler2D textureUnitPS0; layout(binding = 0) uniform sampler2D textureUnitPS0;
layout(location = 0) in vec4 passParameterSem0; layout(location = 0) in vec4 passParameterSem0;
@ -14,7 +15,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -14,7 +14,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -6,45 +6,20 @@ version = 2
[TextureRedefine] # tv [TextureRedefine] # tv
width = 1280 width = 1280
height = 720 height = 720
formatsExcluded = 0x816
overwriteWidth = 2560
overwriteHeight = 1080
[TextureRedefine] # tv (increased depth)
width = 1280
height = 720
formats = 0x816
overwriteFormat = 0x823
overwriteWidth = 2560 overwriteWidth = 2560
overwriteHeight = 1080 overwriteHeight = 1080
[TextureRedefine] # half-res alpha [TextureRedefine] # half-res alpha
width = 640 width = 640
height = 360 height = 360
formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 1280
overwriteHeight = 540
[TextureRedefine] # half-res alpha (increased depth)
width = 640
height = 360
formats = 0x816
overwriteFormat = 0x823
overwriteWidth = 1280 overwriteWidth = 1280
overwriteHeight = 540 overwriteHeight = 540
[TextureRedefine] # quarter-res alpha [TextureRedefine] # quarter-res alpha
width = 320 width = 320
height = 180 height = 180
formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 640
overwriteHeight = 270
[TextureRedefine] # quarter-res alpha (increased depth)
width = 320
height = 180
formats = 0x816
overwriteFormat = 0x823
overwriteWidth = 640 overwriteWidth = 640
overwriteHeight = 270 overwriteHeight = 270

View File

@ -4,6 +4,7 @@
// Used for: Vertical Blur // Used for: Vertical Blur
const float blurFactor = 1.0; //Higher is less blur const float blurFactor = 1.0; //Higher is less blur
// Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/ // Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/
layout(binding = 0) uniform sampler2D textureUnitPS0; layout(binding = 0) uniform sampler2D textureUnitPS0;
layout(location = 0) in vec4 passParameterSem0; layout(location = 0) in vec4 passParameterSem0;
@ -14,7 +15,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -14,7 +14,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -6,45 +6,20 @@ version = 2
[TextureRedefine] # tv [TextureRedefine] # tv
width = 1280 width = 1280
height = 720 height = 720
formatsExcluded = 0x816
overwriteWidth = 2560
overwriteHeight = 1440
[TextureRedefine] # tv (increased depth)
width = 1280
height = 720
formats = 0x816
overwriteFormat = 0x823
overwriteWidth = 2560 overwriteWidth = 2560
overwriteHeight = 1440 overwriteHeight = 1440
[TextureRedefine] # half-res alpha [TextureRedefine] # half-res alpha
width = 640 width = 640
height = 360 height = 360
formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 1280
overwriteHeight = 720
[TextureRedefine] # half-res alpha (increased depth)
width = 640
height = 360
formats = 0x816
overwriteFormat = 0x823
overwriteWidth = 1280 overwriteWidth = 1280
overwriteHeight = 720 overwriteHeight = 720
[TextureRedefine] # quarter-res alpha [TextureRedefine] # quarter-res alpha
width = 320 width = 320
height = 180 height = 180
formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 640
overwriteHeight = 360
[TextureRedefine] # quarter-res alpha (increased depth)
width = 320
height = 180
formats = 0x816
overwriteFormat = 0x823
overwriteWidth = 640 overwriteWidth = 640
overwriteHeight = 360 overwriteHeight = 360

View File

@ -4,6 +4,7 @@
// Used for: Vertical Blur // Used for: Vertical Blur
const float blurFactor = 1.0; //Higher is less blur const float blurFactor = 1.0; //Higher is less blur
// Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/ // Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/
layout(binding = 0) uniform sampler2D textureUnitPS0; layout(binding = 0) uniform sampler2D textureUnitPS0;
layout(location = 0) in vec4 passParameterSem0; layout(location = 0) in vec4 passParameterSem0;
@ -14,7 +15,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -14,7 +14,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -6,45 +6,20 @@ version = 2
[TextureRedefine] # tv [TextureRedefine] # tv
width = 1280 width = 1280
height = 720 height = 720
formatsExcluded = 0x816
overwriteWidth = 3200
overwriteHeight = 1800
[TextureRedefine] # tv (increased depth)
width = 1280
height = 720
formats = 0x816
overwriteFormat = 0x823
overwriteWidth = 3200 overwriteWidth = 3200
overwriteHeight = 1800 overwriteHeight = 1800
[TextureRedefine] # half-res alpha [TextureRedefine] # half-res alpha
width = 640 width = 640
height = 360 height = 360
formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 1600
overwriteHeight = 900
[TextureRedefine] # half-res alpha (increased depth)
width = 640
height = 360
formats = 0x816
overwriteFormat = 0x823
overwriteWidth = 1600 overwriteWidth = 1600
overwriteHeight = 900 overwriteHeight = 900
[TextureRedefine] # quarter-res alpha [TextureRedefine] # quarter-res alpha
width = 320 width = 320
height = 180 height = 180
formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 800
overwriteHeight = 450
[TextureRedefine] # quarter-res alpha (increased depth)
width = 320
height = 180
formats = 0x816
overwriteFormat = 0x823
overwriteWidth = 800 overwriteWidth = 800
overwriteHeight = 450 overwriteHeight = 450

View File

@ -4,6 +4,7 @@
// Used for: Vertical Blur // Used for: Vertical Blur
const float blurFactor = 1.0; //Higher is less blur const float blurFactor = 1.0; //Higher is less blur
// Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/ // Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/
layout(binding = 0) uniform sampler2D textureUnitPS0; layout(binding = 0) uniform sampler2D textureUnitPS0;
layout(location = 0) in vec4 passParameterSem0; layout(location = 0) in vec4 passParameterSem0;
@ -14,7 +15,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -14,7 +14,7 @@ uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519)
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632); uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0); ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y)*uf_fragCoordScale); vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor; vec2 scale = outputRes * blurFactor;
void main() void main()
{ {

View File

@ -6,54 +6,20 @@ version = 2
[TextureRedefine] # tv [TextureRedefine] # tv
width = 1280 width = 1280
height = 720 height = 720
formatsExcluded = 0x816,0x19,0x1a
overwriteWidth = 3840
overwriteHeight = 2160
[TextureRedefine] #TV
width = 1280
height = 720
formats = 0x19,0x1a
overwriteFormat = 0x1f
tileModesExcluded = 0x001
overwriteWidth = 3840
overwriteHeight = 2160
[TextureRedefine] # tv (increased depth)
width = 1280
height = 720
formats = 0x816
overwriteFormat = 0x823
overwriteWidth = 3840 overwriteWidth = 3840
overwriteHeight = 2160 overwriteHeight = 2160
[TextureRedefine] # half-res alpha [TextureRedefine] # half-res alpha
width = 640 width = 640
height = 360 height = 360
formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 1920
overwriteHeight = 1080
[TextureRedefine] # half-res alpha (increased depth)
width = 640
height = 360
formats = 0x816
overwriteFormat = 0x823
overwriteWidth = 1920 overwriteWidth = 1920
overwriteHeight = 1080 overwriteHeight = 1080
[TextureRedefine] # quarter-res alpha [TextureRedefine] # quarter-res alpha
width = 320 width = 320
height = 180 height = 180
formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures formatsExcluded = 0x41A,0x431 # exclude obvious textures
overwriteWidth = 960
overwriteHeight = 540
[TextureRedefine] # quarter-res alpha (increased depth)
width = 320
height = 180
formats = 0x816
overwriteFormat = 0x823
overwriteWidth = 960 overwriteWidth = 960
overwriteHeight = 540 overwriteHeight = 540