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 = {};