summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/MainBase.cpp
diff options
context:
space:
mode:
authorScott Mansell <phiren@gmail.com>2016-06-28 15:12:43 +1200
committerScott Mansell <phiren@gmail.com>2016-06-28 15:12:43 +1200
commit35566316edfc3a29c49e8df88ce5aebfe1f0a0c5 (patch)
treefb8c33000b80b4865c1b79d382dab7d0210505e7 /Source/Core/VideoCommon/MainBase.cpp
parent93a5efa347c62ca97e375a1a226d7741d584fd2f (diff)
XFB: Send image to screen at start of field.
This is much more accurate to the hardware, and saves around 16ms of latency.
Diffstat (limited to 'Source/Core/VideoCommon/MainBase.cpp')
-rw-r--r--Source/Core/VideoCommon/MainBase.cpp20
1 files changed, 4 insertions, 16 deletions
diff --git a/Source/Core/VideoCommon/MainBase.cpp b/Source/Core/VideoCommon/MainBase.cpp
index eeed59e597..3b0eb8bf0a 100644
--- a/Source/Core/VideoCommon/MainBase.cpp
+++ b/Source/Core/VideoCommon/MainBase.cpp
@@ -49,18 +49,6 @@ void VideoBackendBase::Video_ExitLoop()
// Run from the CPU thread (from VideoInterface.cpp)
void VideoBackendBase::Video_BeginField(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight)
{
- if (m_initialized && g_ActiveConfig.bUseXFB)
- {
- s_beginFieldArgs.xfbAddr = xfbAddr;
- s_beginFieldArgs.fbWidth = fbWidth;
- s_beginFieldArgs.fbStride = fbStride;
- s_beginFieldArgs.fbHeight = fbHeight;
- }
-}
-
-// Run from the CPU thread (from VideoInterface.cpp)
-void VideoBackendBase::Video_EndField()
-{
if (m_initialized && g_ActiveConfig.bUseXFB && g_renderer)
{
Fifo::SyncGPU(Fifo::SYNC_GPU_SWAP);
@@ -69,10 +57,10 @@ void VideoBackendBase::Video_EndField()
e.time = 0;
e.type = AsyncRequests::Event::SWAP_EVENT;
- e.swap_event.xfbAddr = s_beginFieldArgs.xfbAddr;
- e.swap_event.fbWidth = s_beginFieldArgs.fbWidth;
- e.swap_event.fbStride = s_beginFieldArgs.fbStride;
- e.swap_event.fbHeight = s_beginFieldArgs.fbHeight;
+ e.swap_event.xfbAddr = xfbAddr;
+ e.swap_event.fbWidth = fbWidth;
+ e.swap_event.fbStride = fbStride;
+ e.swap_event.fbHeight = fbHeight;
AsyncRequests::GetInstance()->PushEvent(e, false);
}
}