diff options
| author | Tony Wasserka <neobrainx@gmail.com> | 2014-02-16 22:08:28 +0100 |
|---|---|---|
| committer | Tony Wasserka <neobrainx@gmail.com> | 2014-02-16 22:08:28 +0100 |
| commit | de5bfd0bced8b12811d461b8e6683effa6b672fb (patch) | |
| tree | dc1209fbb812f995c831583c314a01506a099a89 /Source/Core/VideoCommon/RenderBase.cpp | |
| parent | 2a7a94387ca0e096f698c0468307bfe6b1d365d7 (diff) | |
| parent | 647aad0a19acc2a7bcb637160bb43d794771ed41 (diff) | |
Merge pull request #37 from degasus/VideoCommonApiFixes
VideoCommon API cleanups
Diffstat (limited to 'Source/Core/VideoCommon/RenderBase.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/RenderBase.cpp | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/Source/Core/VideoCommon/RenderBase.cpp b/Source/Core/VideoCommon/RenderBase.cpp index 7f046e53a3..45bd870670 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); } } @@ -509,8 +512,19 @@ void Renderer::RecordVideoMemory() FifoRecorder::GetInstance().SetVideoMemory(bpMem, cpMem, xfMem, xfRegs, sizeof(XFRegisters) / 4); } -void UpdateViewport() +void Renderer::Swap(u32 xfbAddr, u32 fbWidth, u32 fbHeight, const EFBRectangle& rc, float Gamma) { - if (xfregs.viewport.wd != 0 && xfregs.viewport.ht != 0) - g_renderer->UpdateViewport(); + // 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; } |
