summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon
diff options
context:
space:
mode:
authorskidau <skidau@gmail.com>2013-02-16 18:30:20 +1100
committerskidau <skidau@gmail.com>2013-02-16 18:30:20 +1100
commit45efced2809a7201909f85f2ee87d4625939d932 (patch)
tree1ef9c5f13098a3448904f3a43fb20064574d223b /Source/Core/VideoCommon
parent0c882cca664f1e26ad6b68cce2518af165f0c591 (diff)
Moved the setting of the Finish interrupt signal back to the main thread as it was causing Wii games like Resident Evil 4 (Wii) to hang.
Diffstat (limited to 'Source/Core/VideoCommon')
-rw-r--r--Source/Core/VideoCommon/Src/PixelEngine.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/Source/Core/VideoCommon/Src/PixelEngine.cpp b/Source/Core/VideoCommon/Src/PixelEngine.cpp
index 24e8a02ab4..aec160ddd2 100644
--- a/Source/Core/VideoCommon/Src/PixelEngine.cpp
+++ b/Source/Core/VideoCommon/Src/PixelEngine.cpp
@@ -390,6 +390,7 @@ void SetToken_OnMainThread(u64 userdata, int cyclesLate)
void SetFinish_OnMainThread(u64 userdata, int cyclesLate)
{
+ Common::AtomicStore(*(volatile u32*)&g_bSignalFinishInterrupt, 1);
UpdateInterrupts();
CommandProcessor::interruptFinishWaiting = false;
CommandProcessor::isPossibleWaitingSetDrawDone = false;
@@ -415,7 +416,6 @@ void SetFinish()
{
CommandProcessor::interruptFinishWaiting = true;
CoreTiming::ScheduleEvent_Threadsafe(0, et_SetFinishOnMainThread, 0);
- Common::AtomicStore(*(volatile u32*)&g_bSignalFinishInterrupt, 1);
INFO_LOG(PIXELENGINE, "VIDEO Set Finish");
IncrementCheckContextId();
}