diff options
| author | Admiral H. Curtiss <pikachu025@gmail.com> | 2022-11-26 09:29:46 +0100 |
|---|---|---|
| committer | Admiral H. Curtiss <pikachu025@gmail.com> | 2022-11-27 03:47:12 +0100 |
| commit | c9558ecb4ca582bbacd931e41bb1660b69956e4b (patch) | |
| tree | 9c5b1379861a22f51c87135f7f8017ac96d77366 /Source/Core/VideoCommon | |
| parent | ed84917eb393e9d4f7272189d1a1edd15199c0be (diff) | |
CoreTiming: Refactor to class.
Diffstat (limited to 'Source/Core/VideoCommon')
| -rw-r--r-- | Source/Core/VideoCommon/BPStructs.cpp | 4 | ||||
| -rw-r--r-- | Source/Core/VideoCommon/CommandProcessor.cpp | 12 | ||||
| -rw-r--r-- | Source/Core/VideoCommon/Fifo.cpp | 11 | ||||
| -rw-r--r-- | Source/Core/VideoCommon/PixelEngine.cpp | 7 |
4 files changed, 22 insertions, 12 deletions
diff --git a/Source/Core/VideoCommon/BPStructs.cpp b/Source/Core/VideoCommon/BPStructs.cpp index bf0438a74b..a4c381d313 100644 --- a/Source/Core/VideoCommon/BPStructs.cpp +++ b/Source/Core/VideoCommon/BPStructs.cpp @@ -21,6 +21,7 @@ #include "Core/FifoPlayer/FifoRecorder.h" #include "Core/HW/Memmap.h" #include "Core/HW/VideoInterface.h" +#include "Core/System.h" #include "VideoCommon/BPFunctions.h" #include "VideoCommon/BPMemory.h" @@ -324,7 +325,8 @@ static void BPWritten(const BPCmd& bp, int cycles_into_future) if (g_ActiveConfig.bImmediateXFB) { // below div two to convert from bytes to pixels - it expects width, not stride - g_renderer->Swap(destAddr, destStride / 2, destStride, height, CoreTiming::GetTicks()); + g_renderer->Swap(destAddr, destStride / 2, destStride, height, + Core::System::GetInstance().GetCoreTiming().GetTicks()); } else { diff --git a/Source/Core/VideoCommon/CommandProcessor.cpp b/Source/Core/VideoCommon/CommandProcessor.cpp index ada2d02904..f9d47dd2fe 100644 --- a/Source/Core/VideoCommon/CommandProcessor.cpp +++ b/Source/Core/VideoCommon/CommandProcessor.cpp @@ -149,7 +149,8 @@ void Init() s_interrupt_set.Clear(); s_interrupt_waiting.Clear(); - et_UpdateInterrupts = CoreTiming::RegisterEvent("CPInterrupt", UpdateInterrupts_Wrapper); + et_UpdateInterrupts = Core::System::GetInstance().GetCoreTiming().RegisterEvent( + "CPInterrupt", UpdateInterrupts_Wrapper); } u32 GetPhysicalAddressMask() @@ -406,7 +407,7 @@ void GatherPipeBursted() // If the game is running close to overflowing, make the exception checking more frequent. if (fifo.bFF_HiWatermark.load(std::memory_order_relaxed) != 0) - CoreTiming::ForceExceptionCheck(0); + Core::System::GetInstance().GetCoreTiming().ForceExceptionCheck(0); fifo.CPReadWriteDistance.fetch_add(GPFifo::GATHER_PIPE_SIZE, std::memory_order_seq_cst); @@ -445,7 +446,7 @@ void UpdateInterrupts(u64 userdata) DEBUG_LOG_FMT(COMMANDPROCESSOR, "Interrupt cleared"); ProcessorInterface::SetInterrupt(INT_CAUSE_CP, false); } - CoreTiming::ForceExceptionCheck(0); + Core::System::GetInstance().GetCoreTiming().ForceExceptionCheck(0); s_interrupt_waiting.Clear(); Fifo::RunGpu(); } @@ -453,7 +454,10 @@ void UpdateInterrupts(u64 userdata) void UpdateInterruptsFromVideoBackend(u64 userdata) { if (!Fifo::UseDeterministicGPUThread()) - CoreTiming::ScheduleEvent(0, et_UpdateInterrupts, userdata, CoreTiming::FromThread::NON_CPU); + { + Core::System::GetInstance().GetCoreTiming().ScheduleEvent(0, et_UpdateInterrupts, userdata, + CoreTiming::FromThread::NON_CPU); + } } bool IsInterruptWaiting() diff --git a/Source/Core/VideoCommon/Fifo.cpp b/Source/Core/VideoCommon/Fifo.cpp index a69a83b00f..2166d1a48d 100644 --- a/Source/Core/VideoCommon/Fifo.cpp +++ b/Source/Core/VideoCommon/Fifo.cpp @@ -448,7 +448,8 @@ bool AtBreakpoint() void RunGpu() { - const bool is_dual_core = Core::System::GetInstance().IsDualCoreMode(); + auto& system = Core::System::GetInstance(); + const bool is_dual_core = system.IsDualCoreMode(); // wake up GPU thread if (is_dual_core && !s_use_deterministic_gpu_thread) @@ -462,7 +463,8 @@ void RunGpu() if (s_syncing_suspended) { s_syncing_suspended = false; - CoreTiming::ScheduleEvent(GPU_TIME_SLOT_SIZE, s_event_sync_gpu, GPU_TIME_SLOT_SIZE); + system.GetCoreTiming().ScheduleEvent(GPU_TIME_SLOT_SIZE, s_event_sync_gpu, + GPU_TIME_SLOT_SIZE); } } } @@ -611,7 +613,7 @@ static void SyncGPUCallback(Core::System& system, u64 ticks, s64 cyclesLate) s_syncing_suspended = next < 0; if (!s_syncing_suspended) - CoreTiming::ScheduleEvent(next, s_event_sync_gpu, next); + system.GetCoreTiming().ScheduleEvent(next, s_event_sync_gpu, next); } void SyncGPUForRegisterAccess() @@ -627,7 +629,8 @@ void SyncGPUForRegisterAccess() // Initialize GPU - CPU thread syncing, this gives us a deterministic way to start the GPU thread. void Prepare() { - s_event_sync_gpu = CoreTiming::RegisterEvent("SyncGPUCallback", SyncGPUCallback); + s_event_sync_gpu = + Core::System::GetInstance().GetCoreTiming().RegisterEvent("SyncGPUCallback", SyncGPUCallback); s_syncing_suspended = true; } } // namespace Fifo diff --git a/Source/Core/VideoCommon/PixelEngine.cpp b/Source/Core/VideoCommon/PixelEngine.cpp index af8a7a01c2..3623104c76 100644 --- a/Source/Core/VideoCommon/PixelEngine.cpp +++ b/Source/Core/VideoCommon/PixelEngine.cpp @@ -202,8 +202,8 @@ void Init() s_signal_token_interrupt = false; s_signal_finish_interrupt = false; - et_SetTokenFinishOnMainThread = - CoreTiming::RegisterEvent("SetTokenFinish", SetTokenFinish_OnMainThread); + et_SetTokenFinishOnMainThread = Core::System::GetInstance().GetCoreTiming().RegisterEvent( + "SetTokenFinish", SetTokenFinish_OnMainThread); } void RegisterMMIO(MMIO::Mapping* mmio, u32 base) @@ -341,7 +341,8 @@ static void RaiseEvent(int cycles_into_future) // games time to setup any interrupt state cycles = std::max(500, cycles_into_future); } - CoreTiming::ScheduleEvent(cycles, et_SetTokenFinishOnMainThread, 0, from); + Core::System::GetInstance().GetCoreTiming().ScheduleEvent(cycles, et_SetTokenFinishOnMainThread, + 0, from); } // SetToken |
