From 734b0f5dd473cc43089b430699ad0215aebbcb4e Mon Sep 17 00:00:00 2001 From: ayuanx Date: Sat, 16 Jan 2010 22:37:38 +0000 Subject: Fixed a stupid error left by me. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4860 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Core/VideoCommon/Src/CommandProcessor.cpp | 2 +- Source/Core/VideoCommon/Src/Fifo.cpp | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'Source/Core') diff --git a/Source/Core/VideoCommon/Src/CommandProcessor.cpp b/Source/Core/VideoCommon/Src/CommandProcessor.cpp index ea153180c3..788a463ce2 100644 --- a/Source/Core/VideoCommon/Src/CommandProcessor.cpp +++ b/Source/Core/VideoCommon/Src/CommandProcessor.cpp @@ -571,7 +571,7 @@ bool AllowIdleSkipping() // if not then lock CPUThread until GP finish a frame. void WaitForFrameFinish() { - while ((fake_GPWatchdogLastToken == fifo.Fake_GPWDToken) && fifo.bFF_GPReadEnable && ((!fifo.bFF_BPEnable && fifo.CPReadWriteDistance) || (fifo.bFF_BPEnable && !fifo.bFF_Breakpoint))); + while ((fake_GPWatchdogLastToken == fifo.Fake_GPWDToken) && fifo.bFF_GPReadEnable && ((!fifo.bFF_BPEnable && fifo.CPReadWriteDistance) || (fifo.bFF_BPEnable && !fifo.bFF_Breakpoint))) { s_fifoIdleEvent.Wait(); } diff --git a/Source/Core/VideoCommon/Src/Fifo.cpp b/Source/Core/VideoCommon/Src/Fifo.cpp index 6ca7c3f259..b097af4644 100644 --- a/Source/Core/VideoCommon/Src/Fifo.cpp +++ b/Source/Core/VideoCommon/Src/Fifo.cpp @@ -97,6 +97,10 @@ void Fifo_ExitLoop() // Created to allow for self shutdown. void Fifo_ExitLoopNonBlocking() { + // This should break the wait loop in CPU thread + CommandProcessor::fifo.bFF_GPReadEnable = false; + CommandProcessor::SetFifoIdleFromVideoPlugin(); + // Terminate GPU thread loop fifoStateRun = false; fifo_run_event.Set(); } -- cgit v1.2.3