From 45efced2809a7201909f85f2ee87d4625939d932 Mon Sep 17 00:00:00 2001 From: skidau Date: Sat, 16 Feb 2013 18:30:20 +1100 Subject: [PATCH] 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. --- Source/Core/VideoCommon/Src/PixelEngine.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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(); }