summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/RenderBase.cpp
diff options
context:
space:
mode:
authordegasus <wickmarkus@web.de>2014-02-05 11:48:45 +0100
committerdegasus <wickmarkus@web.de>2014-02-15 11:33:43 +0100
commitd5f1f0d4a9482359a99a2c737ec077d3e6ef9291 (patch)
treeab90b52af029e7a51254b706740e3880fb12799d /Source/Core/VideoCommon/RenderBase.cpp
parent3551259c7a278ef27b365e25dfcda0865c012c99 (diff)
merge some common parts of Swap() into VideoCommon
Diffstat (limited to 'Source/Core/VideoCommon/RenderBase.cpp')
-rw-r--r--Source/Core/VideoCommon/RenderBase.cpp22
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;
+}