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.

This commit is contained in:
skidau 2013-02-16 18:30:20 +11:00
parent 0c882cca66
commit 45efced280

View file

@ -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();
}