summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon
diff options
context:
space:
mode:
authorayuanx <ayuanx@gmail.com>2010-01-16 22:37:38 +0000
committerayuanx <ayuanx@gmail.com>2010-01-16 22:37:38 +0000
commit734b0f5dd473cc43089b430699ad0215aebbcb4e (patch)
tree840534079bf8d0de3a4905ad1b351132803b9412 /Source/Core/VideoCommon
parent4aeec95513f86077cf4a88150ef32ba6f5c4007f (diff)
Fixed a stupid error left by me.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4860 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/VideoCommon')
-rw-r--r--Source/Core/VideoCommon/Src/CommandProcessor.cpp2
-rw-r--r--Source/Core/VideoCommon/Src/Fifo.cpp4
2 files changed, 5 insertions, 1 deletions
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();
}