mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 14:19:46 -06:00
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:
@ -390,6 +390,7 @@ void SetToken_OnMainThread(u64 userdata, int cyclesLate)
|
|||||||
|
|
||||||
void SetFinish_OnMainThread(u64 userdata, int cyclesLate)
|
void SetFinish_OnMainThread(u64 userdata, int cyclesLate)
|
||||||
{
|
{
|
||||||
|
Common::AtomicStore(*(volatile u32*)&g_bSignalFinishInterrupt, 1);
|
||||||
UpdateInterrupts();
|
UpdateInterrupts();
|
||||||
CommandProcessor::interruptFinishWaiting = false;
|
CommandProcessor::interruptFinishWaiting = false;
|
||||||
CommandProcessor::isPossibleWaitingSetDrawDone = false;
|
CommandProcessor::isPossibleWaitingSetDrawDone = false;
|
||||||
@ -415,7 +416,6 @@ void SetFinish()
|
|||||||
{
|
{
|
||||||
CommandProcessor::interruptFinishWaiting = true;
|
CommandProcessor::interruptFinishWaiting = true;
|
||||||
CoreTiming::ScheduleEvent_Threadsafe(0, et_SetFinishOnMainThread, 0);
|
CoreTiming::ScheduleEvent_Threadsafe(0, et_SetFinishOnMainThread, 0);
|
||||||
Common::AtomicStore(*(volatile u32*)&g_bSignalFinishInterrupt, 1);
|
|
||||||
INFO_LOG(PIXELENGINE, "VIDEO Set Finish");
|
INFO_LOG(PIXELENGINE, "VIDEO Set Finish");
|
||||||
IncrementCheckContextId();
|
IncrementCheckContextId();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user