diff options
| author | hrydgard <hrydgard@gmail.com> | 2008-11-24 19:31:49 +0000 |
|---|---|---|
| committer | hrydgard <hrydgard@gmail.com> | 2008-11-24 19:31:49 +0000 |
| commit | b9c6f7cb89179d8ff1c878673bec528295a7605c (patch) | |
| tree | cdf2c0c7c782f2d8734e96d1bf8bbe4ef61ba17c /Source | |
| parent | 0b5fed62c1b92017ce43a87ba223763a75e7fbef (diff) | |
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
Diffstat (limited to 'Source')
| -rw-r--r-- | Source/Core/VideoCommon/Src/Fifo.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/Source/Core/VideoCommon/Src/Fifo.cpp b/Source/Core/VideoCommon/Src/Fifo.cpp index 0773ed3f37..605b0aded4 100644 --- a/Source/Core/VideoCommon/Src/Fifo.cpp +++ b/Source/Core/VideoCommon/Src/Fifo.cpp @@ -110,8 +110,14 @@ void Fifo_EnterLoop(const SVideoInitialize &video_initialize) Common::InterlockedExchange((int*)&_fifo.CPReadIdle, 0);
#endif
//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
u32 readPtr = _fifo.CPReadPointer;
u8 *uData = video_initialize.pGetMemoryPointer(readPtr);
|
