From fa3526962df647adb7e02fc5fe6af231951344e1 Mon Sep 17 00:00:00 2001 From: degasus Date: Wed, 18 May 2016 09:13:13 +0200 Subject: [PATCH 1/2] VideoSW: Drop Update in XFB copy. --- Source/Core/VideoBackends/Software/EfbCopy.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/Source/Core/VideoBackends/Software/EfbCopy.cpp b/Source/Core/VideoBackends/Software/EfbCopy.cpp index 34032437c8f1..b076cb3d35e4 100644 --- a/Source/Core/VideoBackends/Software/EfbCopy.cpp +++ b/Source/Core/VideoBackends/Software/EfbCopy.cpp @@ -3,7 +3,6 @@ // Refer to the license.txt file included. #include "Common/CommonTypes.h" -#include "Common/GL/GLInterfaceBase.h" #include "Common/Logging/Log.h" #include "Core/HW/Memmap.h" #include "VideoBackends/Software/EfbCopy.h" @@ -25,8 +24,6 @@ namespace EfbCopy { static void CopyToXfb(u32 xfbAddr, u32 fbWidth, u32 fbHeight, const EFBRectangle& sourceRc, float Gamma) { - GLInterface->Update(); // update the render window position and the backbuffer size - INFO_LOG(VIDEO, "xfbaddr: %x, fbwidth: %i, fbheight: %i, source: (%i, %i, %i, %i), Gamma %f", xfbAddr, fbWidth, fbHeight, sourceRc.top, sourceRc.left, sourceRc.bottom, sourceRc.right, Gamma); From 3a452f3cc50be2e7c9e6321e8c283ace66afc5a6 Mon Sep 17 00:00:00 2001 From: degasus Date: Tue, 17 May 2016 22:57:25 +0200 Subject: [PATCH 2/2] VideoSW: Fix XFB config. --- Source/Core/DolphinWX/SoftwareVideoConfigDialog.cpp | 4 ++-- Source/Core/VideoBackends/Software/SWRenderer.cpp | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Source/Core/DolphinWX/SoftwareVideoConfigDialog.cpp b/Source/Core/DolphinWX/SoftwareVideoConfigDialog.cpp index 86f55d391b89..71c35003e8ee 100644 --- a/Source/Core/DolphinWX/SoftwareVideoConfigDialog.cpp +++ b/Source/Core/DolphinWX/SoftwareVideoConfigDialog.cpp @@ -35,7 +35,7 @@ SoftwareVideoConfigDialog::SoftwareVideoConfigDialog(wxWindow* parent, const std wxDialog(parent, wxID_ANY, wxString(wxString::Format(_("Dolphin %s Graphics Configuration"), title))) { - VideoConfig& vconfig = g_ActiveConfig; + VideoConfig& vconfig = g_Config; if (File::Exists(File::GetUserPath(D_CONFIG_IDX) + "GFX.ini")) vconfig.Load(File::GetUserPath(D_CONFIG_IDX) + "GFX.ini"); @@ -139,5 +139,5 @@ SoftwareVideoConfigDialog::SoftwareVideoConfigDialog(wxWindow* parent, const std SoftwareVideoConfigDialog::~SoftwareVideoConfigDialog() { - g_ActiveConfig.Save((File::GetUserPath(D_CONFIG_IDX) + "GFX.ini").c_str()); + g_Config.Save((File::GetUserPath(D_CONFIG_IDX) + "GFX.ini").c_str()); } diff --git a/Source/Core/VideoBackends/Software/SWRenderer.cpp b/Source/Core/VideoBackends/Software/SWRenderer.cpp index 312a315ec743..04f82415a0fc 100644 --- a/Source/Core/VideoBackends/Software/SWRenderer.cpp +++ b/Source/Core/VideoBackends/Software/SWRenderer.cpp @@ -152,6 +152,10 @@ void SWRenderer::SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight, SWOGLWindow::s_instance->ShowImage(GetCurrentColorTexture(), fbWidth * 4, fbWidth, fbHeight, 1.0); UpdateActiveConfig(); + + // virtual XFB is not supported + if (g_ActiveConfig.bUseXFB) + g_ActiveConfig.bUseRealXFB = true; } u32 SWRenderer::AccessEFB(EFBAccessType type, u32 x, u32 y, u32 InputData)