mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-21 05:09:34 -06:00
XFB: Send image to screen at start of field.
This is much more accurate to the hardware, and saves around 16ms of latency.
This commit is contained in:
@ -48,18 +48,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)
|
||||
{
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user