diff options
| author | degasus <wickmarkus@web.de> | 2014-02-05 11:48:45 +0100 |
|---|---|---|
| committer | degasus <wickmarkus@web.de> | 2014-02-15 11:33:43 +0100 |
| commit | d5f1f0d4a9482359a99a2c737ec077d3e6ef9291 (patch) | |
| tree | ab90b52af029e7a51254b706740e3880fb12799d /Source/Core/VideoCommon/RenderBase.cpp | |
| parent | 3551259c7a278ef27b365e25dfcda0865c012c99 (diff) | |
merge some common parts of Swap() into VideoCommon
Diffstat (limited to 'Source/Core/VideoCommon/RenderBase.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/RenderBase.cpp | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/Source/Core/VideoCommon/RenderBase.cpp b/Source/Core/VideoCommon/RenderBase.cpp index 836a0ec03d..31d5d091c7 100644 --- a/Source/Core/VideoCommon/RenderBase.cpp +++ b/Source/Core/VideoCommon/RenderBase.cpp @@ -30,6 +30,9 @@ #include "XFMemory.h" #include "FifoPlayer/FifoRecorder.h" #include "AVIDump.h" +#include "Debugger.h" +#include "Statistics.h" +#include "Core.h" #include <cmath> #include <string> @@ -117,7 +120,7 @@ void Renderer::RenderToXFB(u32 xfbAddr, u32 fbWidth, u32 fbHeight, const EFBRect } else { - g_renderer->Swap(xfbAddr, fbWidth, fbHeight,sourceRc,Gamma); + Swap(xfbAddr, fbWidth, fbHeight,sourceRc,Gamma); Common::AtomicStoreRelease(s_swapRequested, false); } } @@ -514,3 +517,20 @@ void SetViewport() if (xfregs.viewport.wd != 0 && xfregs.viewport.ht != 0) g_renderer->SetViewport(); } + +void Renderer::Swap(u32 xfbAddr, u32 fbWidth, u32 fbHeight, const EFBRectangle& rc, float Gamma) +{ + // TODO: merge more generic parts into VideoCommon + g_renderer->SwapImpl(xfbAddr, fbWidth, fbHeight, rc, Gamma); + + frameCount++; + GFX_DEBUGGER_PAUSE_AT(NEXT_FRAME, true); + + // Begin new frame + // Set default viewport and scissor, for the clear to work correctly + // New frame + stats.ResetFrame(); + + Core::Callback_VideoCopiedToXFB(XFBWrited || (g_ActiveConfig.bUseXFB && g_ActiveConfig.bUseRealXFB)); + XFBWrited = false; +} |
