summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends
diff options
context:
space:
mode:
authorScott Mansell <phiren@gmail.com>2013-11-25 01:11:42 +1300
committerScott Mansell <phiren@gmail.com>2013-11-25 01:11:42 +1300
commitb5bd2ba847562d1cc7494941899e3acf4d7e007b (patch)
tree251a3819f7f3f045885b4d566f4bb89534b051ce /Source/Core/VideoBackends
parent6f73162df404c13476f3815b075d493f5a72b4ab (diff)
OpenGL: Enable filtering for EFB to Real XFB copies.
This fixes Real XFB Jaggies in OpenGL on games which use yscaling, such as most PAL games. This fixes the last of the "Real XFB Macroblocking" issues for opengl, see issue #6503
Diffstat (limited to 'Source/Core/VideoBackends')
-rw-r--r--Source/Core/VideoBackends/OGL/Src/TextureConverter.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/Source/Core/VideoBackends/OGL/Src/TextureConverter.cpp b/Source/Core/VideoBackends/OGL/Src/TextureConverter.cpp
index 98114feeca..71ad6f4223 100644
--- a/Source/Core/VideoBackends/OGL/Src/TextureConverter.cpp
+++ b/Source/Core/VideoBackends/OGL/Src/TextureConverter.cpp
@@ -351,7 +351,10 @@ void EncodeToRamYUYV(GLuint srcTexture, const TargetRectangle& sourceRc, u8* des
s_rgbToYuyvProgram.Bind();
- EncodeToRamUsingShader(srcTexture, sourceRc, destAddr, dstWidth / 2, dstHeight, 0, false, false);
+ // We enable linear filtering, because the gamecube does filtering in the vertical direction when
+ // yscale is enabled.
+ // Otherwise we get jaggies when a game uses yscaling (most PAL games)
+ EncodeToRamUsingShader(srcTexture, sourceRc, destAddr, dstWidth / 2, dstHeight, 0, false, true);
FramebufferManager::SetFramebuffer(0);
TextureCache::DisableStage(0);
g_renderer->RestoreAPIState();