From c6988bb9634e4dec14ff25811a97e6fdfa2342d8 Mon Sep 17 00:00:00 2001 From: Sergey Lipskiy Date: Thu, 27 Aug 2015 19:39:29 +0600 Subject: [PATCH] Fig regression with frame/depth buffer copy in HLE mode caused by commit 77f342f. --- src/RSP.cpp | 6 ++++++ src/gDP.cpp | 10 ++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/RSP.cpp b/src/RSP.cpp index 45dd2c83..d99622a8 100644 --- a/src/RSP.cpp +++ b/src/RSP.cpp @@ -204,6 +204,12 @@ void RSP_ProcessDList() RSP_CheckDLCounter(); } } + + if (config.frameBufferEmulation.copyToRDRAM) + FrameBuffer_CopyToRDRAM(gDP.colorImage.address); + if (config.frameBufferEmulation.copyDepthToRDRAM) + FrameBuffer_CopyDepthBuffer(gDP.colorImage.address); + RSP.busy = FALSE; gDP.changed |= CHANGED_COLORBUFFER; } diff --git a/src/gDP.cpp b/src/gDP.cpp index c953220c..0677c456 100644 --- a/src/gDP.cpp +++ b/src/gDP.cpp @@ -880,10 +880,12 @@ void gDPTextureRectangleFlip( f32 ulx, f32 uly, f32 lrx, f32 lry, s32 tile, f32 void gDPFullSync() { - if (config.frameBufferEmulation.copyToRDRAM) - FrameBuffer_CopyToRDRAM(gDP.colorImage.address); - if (config.frameBufferEmulation.copyDepthToRDRAM) - FrameBuffer_CopyDepthBuffer(gDP.colorImage.address); + if (RSP.bLLE) { + if (config.frameBufferEmulation.copyToRDRAM) + FrameBuffer_CopyToRDRAM(gDP.colorImage.address); + if (config.frameBufferEmulation.copyDepthToRDRAM) + FrameBuffer_CopyDepthBuffer(gDP.colorImage.address); + } *REG.MI_INTR |= MI_INTR_DP;