Merge pull request #11253 from AdmiralCurtiss/core-timing-events-pass-system

CoreTiming: Pass Core::System to Events.
This commit is contained in:
Mai
2022-11-23 04:46:11 +00:00
committed by GitHub
23 changed files with 102 additions and 82 deletions

View File

@ -49,7 +49,7 @@ static bool IsOnThread()
return Core::System::GetInstance().IsDualCoreMode();
}
static void UpdateInterrupts_Wrapper(u64 userdata, s64 cyclesLate)
static void UpdateInterrupts_Wrapper(Core::System& system, u64 userdata, s64 cyclesLate)
{
UpdateInterrupts(userdata);
}

View File

@ -595,12 +595,12 @@ static int WaitForGpuThread(int ticks)
return GPU_TIME_SLOT_SIZE;
}
static void SyncGPUCallback(u64 ticks, s64 cyclesLate)
static void SyncGPUCallback(Core::System& system, u64 ticks, s64 cyclesLate)
{
ticks += cyclesLate;
int next = -1;
if (!Core::System::GetInstance().IsDualCoreMode() || s_use_deterministic_gpu_thread)
if (!system.IsDualCoreMode() || s_use_deterministic_gpu_thread)
{
next = RunGpuOnCpu((int)ticks);
}

View File

@ -182,7 +182,7 @@ void DoState(PointerWrap& p)
}
static void UpdateInterrupts();
static void SetTokenFinish_OnMainThread(u64 userdata, s64 cyclesLate);
static void SetTokenFinish_OnMainThread(Core::System& system, u64 userdata, s64 cyclesLate);
void Init()
{
@ -297,7 +297,7 @@ static void UpdateInterrupts()
s_signal_finish_interrupt && m_Control.pe_finish_enable);
}
static void SetTokenFinish_OnMainThread(u64 userdata, s64 cyclesLate)
static void SetTokenFinish_OnMainThread(Core::System& system, u64 userdata, s64 cyclesLate)
{
std::unique_lock<std::mutex> lk(s_token_finish_mutex);
s_event_raised = false;