mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-26 07:45:33 +01:00
Hacky fix for weird video hangs in Metroid Prime 1. May think of something better later.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1290 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
0b5fed62c1
commit
b9c6f7cb89
@ -110,8 +110,14 @@ void Fifo_EnterLoop(const SVideoInitialize &video_initialize)
|
|||||||
Common::InterlockedExchange((int*)&_fifo.CPReadIdle, 0);
|
Common::InterlockedExchange((int*)&_fifo.CPReadIdle, 0);
|
||||||
#endif
|
#endif
|
||||||
//video_initialize.pLog("RUN...........................",FALSE);
|
//video_initialize.pLog("RUN...........................",FALSE);
|
||||||
while(_fifo.bFF_GPReadEnable && (_fifo.CPReadWriteDistance > 0) )
|
int peek_counter = 0;
|
||||||
|
while (_fifo.bFF_GPReadEnable && (_fifo.CPReadWriteDistance > 0))
|
||||||
{
|
{
|
||||||
|
peek_counter++;
|
||||||
|
if (peek_counter == 50) {
|
||||||
|
video_initialize.pPeekMessages();
|
||||||
|
peek_counter = 0;
|
||||||
|
}
|
||||||
// read the data and send it to the VideoPlugin
|
// read the data and send it to the VideoPlugin
|
||||||
u32 readPtr = _fifo.CPReadPointer;
|
u32 readPtr = _fifo.CPReadPointer;
|
||||||
u8 *uData = video_initialize.pGetMemoryPointer(readPtr);
|
u8 *uData = video_initialize.pGetMemoryPointer(readPtr);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user