From b298432e8faa74f126423fa560341bf6761f3b42 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Mon, 5 Aug 2013 00:25:55 -0700 Subject: [PATCH] Use threadsafe events for GE communication. Hopefully this doesn't cause problems again for 3rd Birthday or FF Type-0. Kinda need it. --- Core/HLE/sceGe.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Core/HLE/sceGe.cpp b/Core/HLE/sceGe.cpp index ead492db14..5cc69ce211 100644 --- a/Core/HLE/sceGe.cpp +++ b/Core/HLE/sceGe.cpp @@ -199,11 +199,11 @@ bool __GeTriggerSync(WaitType waitType, int id, u64 atTicks) s64 future = atTicks - CoreTiming::GetTicks(); if (waitType == WAITTYPE_GEDRAWSYNC) { - s64 left = CoreTiming::UnscheduleEvent(geSyncEvent, userdata); + s64 left = CoreTiming::UnscheduleThreadsafeEvent(geSyncEvent, userdata); if (left > future) future = left; } - CoreTiming::ScheduleEvent(future, geSyncEvent, userdata); + CoreTiming::ScheduleEvent_Threadsafe(future, geSyncEvent, userdata); return true; } @@ -211,7 +211,7 @@ bool __GeTriggerSync(WaitType waitType, int id, u64 atTicks) bool __GeTriggerInterrupt(int listid, u32 pc, u64 atTicks) { u64 userdata = (u64)listid << 32 | (u64) pc; - CoreTiming::ScheduleEvent(atTicks - CoreTiming::GetTicks(), geInterruptEvent, userdata); + CoreTiming::ScheduleEvent_Threadsafe(atTicks - CoreTiming::GetTicks(), geInterruptEvent, userdata); return true; }