summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcos Vitali <marcosvitali@gmail.com>2010-11-25 02:25:27 +0000
committerMarcos Vitali <marcosvitali@gmail.com>2010-11-25 02:25:27 +0000
commit7fe6a0b45103e5d3df034e5e1d42e3533997e588 (patch)
tree7a5d043b05a08fc20408c71a6912af9d9b3ce61c
parentf0ac60935c6f1acefdce2d93967b4f400cdef790 (diff)
Corrected the FIFO breakpoint clause in Single Core mode too. That fix Pokemon XD (Only single core mode) Dual core mode suffer distances problems like RE0.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6476 8ced0084-cf51-0410-be5f-012b33b47a6e
-rw-r--r--Source/Core/VideoCommon/Src/CommandProcessor.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/Source/Core/VideoCommon/Src/CommandProcessor.cpp b/Source/Core/VideoCommon/Src/CommandProcessor.cpp
index 99ac3bf145..49c6762f51 100644
--- a/Source/Core/VideoCommon/Src/CommandProcessor.cpp
+++ b/Source/Core/VideoCommon/Src/CommandProcessor.cpp
@@ -634,7 +634,8 @@ void CatchUpGPU()
u8 *ptr = Memory_GetPtr(fifo.CPReadPointer);
// check if we are able to run this buffer
- while (fifo.bFF_GPReadEnable && fifo.CPReadWriteDistance)
+ while (fifo.bFF_GPReadEnable && (fifo.CPReadWriteDistance ||
+ (fifo.bFF_BPEnable && ((fifo.CPReadPointer <= fifo.CPBreakpoint) && (fifo.CPReadPointer + 32 > fifo.CPBreakpoint)))))
{
// check if we are on a breakpoint
if (fifo.bFF_BPEnable && ((fifo.CPReadPointer <= fifo.CPBreakpoint) && (fifo.CPReadPointer + 32 > fifo.CPBreakpoint)))