diff options
| author | ayuanx <ayuanx@gmail.com> | 2010-01-16 22:37:38 +0000 |
|---|---|---|
| committer | ayuanx <ayuanx@gmail.com> | 2010-01-16 22:37:38 +0000 |
| commit | 734b0f5dd473cc43089b430699ad0215aebbcb4e (patch) | |
| tree | 840534079bf8d0de3a4905ad1b351132803b9412 /Source/Core/VideoCommon | |
| parent | 4aeec95513f86077cf4a88150ef32ba6f5c4007f (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.cpp | 2 | ||||
| -rw-r--r-- | Source/Core/VideoCommon/Src/Fifo.cpp | 4 |
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(); } |
