From 096ed21767942cd12d05ada685181c92ff81cd08 Mon Sep 17 00:00:00 2001 From: Connor McLaughlin Date: Sun, 17 May 2020 21:51:33 +1000 Subject: [PATCH] GPU: Synchronize before filling/writing with interlaced rendering --- src/core/gpu_commands.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/core/gpu_commands.cpp b/src/core/gpu_commands.cpp index 99f2e24da..b6fa743a1 100644 --- a/src/core/gpu_commands.cpp +++ b/src/core/gpu_commands.cpp @@ -446,6 +446,9 @@ bool GPU::HandleFillRectangleCommand() { CHECK_COMMAND_SIZE(3); + if (IsInterlacedRenderingEnabled() && IsRasterScanlinePending()) + Synchronize(); + FlushRender(); const u32 color = m_fifo.Pop() & 0x00FFFFFF; @@ -499,7 +502,11 @@ void GPU::FinishVRAMWrite() m_blit_buffer.data(), true); } + if (IsInterlacedRenderingEnabled() && IsRasterScanlinePending()) + Synchronize(); + FlushRender(); + UpdateVRAM(m_vram_transfer.x, m_vram_transfer.y, m_vram_transfer.width, m_vram_transfer.height, m_blit_buffer.data()); m_blit_buffer.clear(); m_vram_transfer = {};