diff options
| author | skidau <skidau@gmail.com> | 2013-03-07 22:16:00 +1100 |
|---|---|---|
| committer | skidau <skidau@gmail.com> | 2013-03-07 22:16:00 +1100 |
| commit | d3e431af9e8e1f73dbcd4b0fd377749efc254f55 (patch) | |
| tree | cb0e6347b34b8b8af636d6278153ceb4d79f5565 /Source/Core/VideoCommon/Src/PixelEngine.cpp | |
| parent | 0f1ef49da19cd8636a812d7c881052280df6444d (diff) | |
Set g_bSignalTokenInterrupt on the main thread. Fixes the random hang in Harry Potter: Prisoner of Azkaban.
Diffstat (limited to 'Source/Core/VideoCommon/Src/PixelEngine.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/Src/PixelEngine.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/Source/Core/VideoCommon/Src/PixelEngine.cpp b/Source/Core/VideoCommon/Src/PixelEngine.cpp index aec160ddd2..ce4881252f 100644 --- a/Source/Core/VideoCommon/Src/PixelEngine.cpp +++ b/Source/Core/VideoCommon/Src/PixelEngine.cpp @@ -383,7 +383,10 @@ void SetToken_OnMainThread(u64 userdata, int cyclesLate) Common::AtomicStore(*(volatile u32*)&CommandProcessor::fifo.PEToken, userdata & 0xffff); INFO_LOG(PIXELENGINE, "VIDEO Backend raises INT_CAUSE_PE_TOKEN (btw, token: %04x)", CommandProcessor::fifo.PEToken); if (userdata >> 16) + { + Common::AtomicStore(*(volatile u32*)&g_bSignalTokenInterrupt, 1); UpdateInterrupts(); + } CommandProcessor::interruptTokenWaiting = false; IncrementCheckContextId(); } |
