From b5bd2ba847562d1cc7494941899e3acf4d7e007b Mon Sep 17 00:00:00 2001 From: Scott Mansell Date: Mon, 25 Nov 2013 01:11:42 +1300 Subject: [PATCH] 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 --- Source/Core/VideoBackends/OGL/Src/TextureConverter.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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();