Disabled thread synchronization check so the speed should be back, and theoretically should be even faster than r4698.

Hope it is safe to do so.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4701 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
ayuanx
2009-12-17 04:01:34 +00:00
parent 84e6070e61
commit b0ef811786
2 changed files with 9 additions and 8 deletions

View File

@ -484,9 +484,11 @@ void Write16(const u16 _Value, const u32 _Address)
// TODO(mb2): better. Check if it help: avoid CPReadPointer overwrites when stupidly done like in Super Monkey Ball
if ((!fifo.bFF_GPReadEnable && fifo.CPReadIdle) || !g_VideoInitialize.bOnThread) // TOCHECK(mb2): check again if thread safe?
{
if (g_VideoInitialize.bOnThread) FifoCriticalEnter(); // This may not be necessary, just for safety
// Disabling this thread synchronization check does boost the speed
// Hope it is safe to skip this check
// if (g_VideoInitialize.bOnThread) FifoCriticalEnter(); // This may not be necessary, just for safety
UpdateFifoRegister();
if (g_VideoInitialize.bOnThread) FifoCriticalLeave();
// if (g_VideoInitialize.bOnThread) FifoCriticalLeave();
}
}
@ -536,9 +538,7 @@ void STACKALIGN GatherPipeBursted()
else
fifo.CPWritePointer += GATHER_PIPE_SIZE;
FifoCriticalEnter(); // This may not be necessary, just for safety
Common::AtomicAdd(fifo.CPReadWriteDistance, GATHER_PIPE_SIZE);
FifoCriticalLeave();
// High watermark overflow handling (hacked way)
if (fifo.CPReadWriteDistance > fifo.CPHiWatermark)