Always flush on swap

This commit is contained in:
weihuoya
2019-01-08 18:28:59 +08:00
parent 3fa81f39fb
commit 66a7db3850
6 changed files with 23 additions and 0 deletions

View File

@ -751,11 +751,19 @@ void Renderer::Swap(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight, const
Core::Callback_VideoCopiedToXFB(true);
}
else
{
Flush();
}
// Update our last xfb values
m_last_xfb_width = (fbStride < 1 || fbStride > MAX_XFB_WIDTH) ? MAX_XFB_WIDTH : fbStride;
m_last_xfb_height = (fbHeight < 1 || fbHeight > MAX_XFB_HEIGHT) ? MAX_XFB_HEIGHT : fbHeight;
}
else
{
Flush();
}
}
bool Renderer::IsFrameDumping()

View File

@ -184,6 +184,7 @@ public:
void Swap(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight, const EFBRectangle& rc,
u64 ticks);
virtual void SwapImpl(AbstractTexture* texture, const EFBRectangle& rc, u64 ticks) = 0;
virtual void Flush() {}
PEControl::PixelFormat GetPrevPixelFormat() const { return m_prev_efb_format; }
void StorePixelFormat(PEControl::PixelFormat new_format) { m_prev_efb_format = new_format; }