diff options
| author | Scott Mansell <phiren@gmail.com> | 2016-06-28 15:12:43 +1200 |
|---|---|---|
| committer | Scott Mansell <phiren@gmail.com> | 2016-06-28 15:12:43 +1200 |
| commit | 35566316edfc3a29c49e8df88ce5aebfe1f0a0c5 (patch) | |
| tree | fb8c33000b80b4865c1b79d382dab7d0210505e7 /Source/Core/VideoCommon/MainBase.cpp | |
| parent | 93a5efa347c62ca97e375a1a226d7741d584fd2f (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.cpp | 20 |
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); } } |
