diff options
Diffstat (limited to 'src/core')
29 files changed, 69 insertions, 73 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic.cpp b/src/core/arm/dynarmic/arm_dynarmic.cpp index afbda8d8b..f28951f8a 100644 --- a/src/core/arm/dynarmic/arm_dynarmic.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic.cpp | |||
| @@ -112,14 +112,14 @@ public: | |||
| 112 | // Always execute at least one tick. | 112 | // Always execute at least one tick. |
| 113 | amortized_ticks = std::max<u64>(amortized_ticks, 1); | 113 | amortized_ticks = std::max<u64>(amortized_ticks, 1); |
| 114 | 114 | ||
| 115 | CoreTiming::AddTicks(amortized_ticks); | 115 | Timing::AddTicks(amortized_ticks); |
| 116 | num_interpreted_instructions = 0; | 116 | num_interpreted_instructions = 0; |
| 117 | } | 117 | } |
| 118 | u64 GetTicksRemaining() override { | 118 | u64 GetTicksRemaining() override { |
| 119 | return std::max(CoreTiming::GetDowncount(), 0); | 119 | return std::max(Timing::GetDowncount(), 0); |
| 120 | } | 120 | } |
| 121 | u64 GetCNTPCT() override { | 121 | u64 GetCNTPCT() override { |
| 122 | return CoreTiming::GetTicks(); | 122 | return Timing::GetTicks(); |
| 123 | } | 123 | } |
| 124 | 124 | ||
| 125 | ARM_Dynarmic& parent; | 125 | ARM_Dynarmic& parent; |
diff --git a/src/core/arm/unicorn/arm_unicorn.cpp b/src/core/arm/unicorn/arm_unicorn.cpp index c455c81fb..c36c15c02 100644 --- a/src/core/arm/unicorn/arm_unicorn.cpp +++ b/src/core/arm/unicorn/arm_unicorn.cpp | |||
| @@ -177,7 +177,7 @@ void ARM_Unicorn::Run() { | |||
| 177 | if (GDBStub::IsServerEnabled()) { | 177 | if (GDBStub::IsServerEnabled()) { |
| 178 | ExecuteInstructions(std::max(4000000, 0)); | 178 | ExecuteInstructions(std::max(4000000, 0)); |
| 179 | } else { | 179 | } else { |
| 180 | ExecuteInstructions(std::max(CoreTiming::GetDowncount(), 0)); | 180 | ExecuteInstructions(std::max(Timing::GetDowncount(), 0)); |
| 181 | } | 181 | } |
| 182 | } | 182 | } |
| 183 | 183 | ||
| @@ -190,7 +190,7 @@ MICROPROFILE_DEFINE(ARM_Jit_Unicorn, "ARM JIT", "Unicorn", MP_RGB(255, 64, 64)); | |||
| 190 | void ARM_Unicorn::ExecuteInstructions(int num_instructions) { | 190 | void ARM_Unicorn::ExecuteInstructions(int num_instructions) { |
| 191 | MICROPROFILE_SCOPE(ARM_Jit_Unicorn); | 191 | MICROPROFILE_SCOPE(ARM_Jit_Unicorn); |
| 192 | CHECKED(uc_emu_start(uc, GetPC(), 1ULL << 63, 0, num_instructions)); | 192 | CHECKED(uc_emu_start(uc, GetPC(), 1ULL << 63, 0, num_instructions)); |
| 193 | CoreTiming::AddTicks(num_instructions); | 193 | Timing::AddTicks(num_instructions); |
| 194 | if (GDBStub::IsServerEnabled()) { | 194 | if (GDBStub::IsServerEnabled()) { |
| 195 | if (last_bkpt_hit) { | 195 | if (last_bkpt_hit) { |
| 196 | uc_reg_write(uc, UC_ARM64_REG_PC, &last_bkpt.address); | 196 | uc_reg_write(uc, UC_ARM64_REG_PC, &last_bkpt.address); |
diff --git a/src/core/core.cpp b/src/core/core.cpp index 1dd576c26..4d9d21ee4 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp | |||
| @@ -94,7 +94,7 @@ struct System::Impl { | |||
| 94 | ResultStatus Init(System& system, Frontend::EmuWindow& emu_window) { | 94 | ResultStatus Init(System& system, Frontend::EmuWindow& emu_window) { |
| 95 | LOG_DEBUG(HW_Memory, "initialized OK"); | 95 | LOG_DEBUG(HW_Memory, "initialized OK"); |
| 96 | 96 | ||
| 97 | CoreTiming::Init(); | 97 | Timing::Init(); |
| 98 | kernel.Initialize(); | 98 | kernel.Initialize(); |
| 99 | 99 | ||
| 100 | const auto current_time = std::chrono::duration_cast<std::chrono::seconds>( | 100 | const auto current_time = std::chrono::duration_cast<std::chrono::seconds>( |
| @@ -205,7 +205,7 @@ struct System::Impl { | |||
| 205 | 205 | ||
| 206 | // Shutdown kernel and core timing | 206 | // Shutdown kernel and core timing |
| 207 | kernel.Shutdown(); | 207 | kernel.Shutdown(); |
| 208 | CoreTiming::Shutdown(); | 208 | Timing::Shutdown(); |
| 209 | 209 | ||
| 210 | // Close app loader | 210 | // Close app loader |
| 211 | app_loader.reset(); | 211 | app_loader.reset(); |
| @@ -232,7 +232,7 @@ struct System::Impl { | |||
| 232 | } | 232 | } |
| 233 | 233 | ||
| 234 | PerfStatsResults GetAndResetPerfStats() { | 234 | PerfStatsResults GetAndResetPerfStats() { |
| 235 | return perf_stats.GetAndResetStats(CoreTiming::GetGlobalTimeUs()); | 235 | return perf_stats.GetAndResetStats(Timing::GetGlobalTimeUs()); |
| 236 | } | 236 | } |
| 237 | 237 | ||
| 238 | Kernel::KernelCore kernel; | 238 | Kernel::KernelCore kernel; |
diff --git a/src/core/core_cpu.cpp b/src/core/core_cpu.cpp index fffda8a99..452366250 100644 --- a/src/core/core_cpu.cpp +++ b/src/core/core_cpu.cpp | |||
| @@ -93,14 +93,14 @@ void Cpu::RunLoop(bool tight_loop) { | |||
| 93 | 93 | ||
| 94 | if (IsMainCore()) { | 94 | if (IsMainCore()) { |
| 95 | // TODO(Subv): Only let CoreTiming idle if all 4 cores are idling. | 95 | // TODO(Subv): Only let CoreTiming idle if all 4 cores are idling. |
| 96 | CoreTiming::Idle(); | 96 | Timing::Idle(); |
| 97 | CoreTiming::Advance(); | 97 | Timing::Advance(); |
| 98 | } | 98 | } |
| 99 | 99 | ||
| 100 | PrepareReschedule(); | 100 | PrepareReschedule(); |
| 101 | } else { | 101 | } else { |
| 102 | if (IsMainCore()) { | 102 | if (IsMainCore()) { |
| 103 | CoreTiming::Advance(); | 103 | Timing::Advance(); |
| 104 | } | 104 | } |
| 105 | 105 | ||
| 106 | if (tight_loop) { | 106 | if (tight_loop) { |
diff --git a/src/core/core_timing.cpp b/src/core/core_timing.cpp index 7953c8720..2b7ca9766 100644 --- a/src/core/core_timing.cpp +++ b/src/core/core_timing.cpp | |||
| @@ -15,7 +15,7 @@ | |||
| 15 | #include "common/threadsafe_queue.h" | 15 | #include "common/threadsafe_queue.h" |
| 16 | #include "core/core_timing_util.h" | 16 | #include "core/core_timing_util.h" |
| 17 | 17 | ||
| 18 | namespace CoreTiming { | 18 | namespace Core::Timing { |
| 19 | 19 | ||
| 20 | static s64 global_timer; | 20 | static s64 global_timer; |
| 21 | static int slice_length; | 21 | static int slice_length; |
| @@ -242,4 +242,4 @@ int GetDowncount() { | |||
| 242 | return downcount; | 242 | return downcount; |
| 243 | } | 243 | } |
| 244 | 244 | ||
| 245 | } // namespace CoreTiming | 245 | } // namespace Core::Timing |
diff --git a/src/core/core_timing.h b/src/core/core_timing.h index 9ed757bd7..093989d4c 100644 --- a/src/core/core_timing.h +++ b/src/core/core_timing.h | |||
| @@ -22,7 +22,7 @@ | |||
| 22 | #include <string> | 22 | #include <string> |
| 23 | #include "common/common_types.h" | 23 | #include "common/common_types.h" |
| 24 | 24 | ||
| 25 | namespace CoreTiming { | 25 | namespace Core::Timing { |
| 26 | 26 | ||
| 27 | struct EventType; | 27 | struct EventType; |
| 28 | 28 | ||
| @@ -92,4 +92,4 @@ std::chrono::microseconds GetGlobalTimeUs(); | |||
| 92 | 92 | ||
| 93 | int GetDowncount(); | 93 | int GetDowncount(); |
| 94 | 94 | ||
| 95 | } // namespace CoreTiming | 95 | } // namespace Core::Timing |
diff --git a/src/core/core_timing_util.cpp b/src/core/core_timing_util.cpp index 73dea4edb..88ff70233 100644 --- a/src/core/core_timing_util.cpp +++ b/src/core/core_timing_util.cpp | |||
| @@ -8,7 +8,7 @@ | |||
| 8 | #include <limits> | 8 | #include <limits> |
| 9 | #include "common/logging/log.h" | 9 | #include "common/logging/log.h" |
| 10 | 10 | ||
| 11 | namespace CoreTiming { | 11 | namespace Core::Timing { |
| 12 | 12 | ||
| 13 | constexpr u64 MAX_VALUE_TO_MULTIPLY = std::numeric_limits<s64>::max() / BASE_CLOCK_RATE; | 13 | constexpr u64 MAX_VALUE_TO_MULTIPLY = std::numeric_limits<s64>::max() / BASE_CLOCK_RATE; |
| 14 | 14 | ||
| @@ -60,4 +60,4 @@ s64 nsToCycles(u64 ns) { | |||
| 60 | return (BASE_CLOCK_RATE * static_cast<s64>(ns)) / 1000000000; | 60 | return (BASE_CLOCK_RATE * static_cast<s64>(ns)) / 1000000000; |
| 61 | } | 61 | } |
| 62 | 62 | ||
| 63 | } // namespace CoreTiming | 63 | } // namespace Core::Timing |
diff --git a/src/core/core_timing_util.h b/src/core/core_timing_util.h index 5c3718782..513cfac1b 100644 --- a/src/core/core_timing_util.h +++ b/src/core/core_timing_util.h | |||
| @@ -6,7 +6,7 @@ | |||
| 6 | 6 | ||
| 7 | #include "common/common_types.h" | 7 | #include "common/common_types.h" |
| 8 | 8 | ||
| 9 | namespace CoreTiming { | 9 | namespace Core::Timing { |
| 10 | 10 | ||
| 11 | // The below clock rate is based on Switch's clockspeed being widely known as 1.020GHz | 11 | // The below clock rate is based on Switch's clockspeed being widely known as 1.020GHz |
| 12 | // The exact value used is of course unverified. | 12 | // The exact value used is of course unverified. |
| @@ -61,4 +61,4 @@ inline u64 cyclesToMs(s64 cycles) { | |||
| 61 | return cycles * 1000 / BASE_CLOCK_RATE; | 61 | return cycles * 1000 / BASE_CLOCK_RATE; |
| 62 | } | 62 | } |
| 63 | 63 | ||
| 64 | } // namespace CoreTiming | 64 | } // namespace Core::Timing |
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp index 7a524ce5a..3721ae8fe 100644 --- a/src/core/hle/kernel/kernel.cpp +++ b/src/core/hle/kernel/kernel.cpp | |||
| @@ -124,7 +124,7 @@ struct KernelCore::Impl { | |||
| 124 | 124 | ||
| 125 | void InitializeThreads() { | 125 | void InitializeThreads() { |
| 126 | thread_wakeup_event_type = | 126 | thread_wakeup_event_type = |
| 127 | CoreTiming::RegisterEvent("ThreadWakeupCallback", ThreadWakeupCallback); | 127 | Core::Timing::RegisterEvent("ThreadWakeupCallback", ThreadWakeupCallback); |
| 128 | } | 128 | } |
| 129 | 129 | ||
| 130 | std::atomic<u32> next_object_id{0}; | 130 | std::atomic<u32> next_object_id{0}; |
| @@ -137,7 +137,7 @@ struct KernelCore::Impl { | |||
| 137 | 137 | ||
| 138 | SharedPtr<ResourceLimit> system_resource_limit; | 138 | SharedPtr<ResourceLimit> system_resource_limit; |
| 139 | 139 | ||
| 140 | CoreTiming::EventType* thread_wakeup_event_type = nullptr; | 140 | Core::Timing::EventType* thread_wakeup_event_type = nullptr; |
| 141 | // TODO(yuriks): This can be removed if Thread objects are explicitly pooled in the future, | 141 | // TODO(yuriks): This can be removed if Thread objects are explicitly pooled in the future, |
| 142 | // allowing us to simply use a pool index or similar. | 142 | // allowing us to simply use a pool index or similar. |
| 143 | Kernel::HandleTable thread_wakeup_callback_handle_table; | 143 | Kernel::HandleTable thread_wakeup_callback_handle_table; |
| @@ -213,7 +213,7 @@ u64 KernelCore::CreateNewProcessID() { | |||
| 213 | return impl->next_process_id++; | 213 | return impl->next_process_id++; |
| 214 | } | 214 | } |
| 215 | 215 | ||
| 216 | CoreTiming::EventType* KernelCore::ThreadWakeupCallbackEventType() const { | 216 | Core::Timing::EventType* KernelCore::ThreadWakeupCallbackEventType() const { |
| 217 | return impl->thread_wakeup_event_type; | 217 | return impl->thread_wakeup_event_type; |
| 218 | } | 218 | } |
| 219 | 219 | ||
diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h index c643a6401..7406f107e 100644 --- a/src/core/hle/kernel/kernel.h +++ b/src/core/hle/kernel/kernel.h | |||
| @@ -11,7 +11,7 @@ | |||
| 11 | template <typename T> | 11 | template <typename T> |
| 12 | class ResultVal; | 12 | class ResultVal; |
| 13 | 13 | ||
| 14 | namespace CoreTiming { | 14 | namespace Core::Timing { |
| 15 | struct EventType; | 15 | struct EventType; |
| 16 | } | 16 | } |
| 17 | 17 | ||
| @@ -89,7 +89,7 @@ private: | |||
| 89 | u64 CreateNewThreadID(); | 89 | u64 CreateNewThreadID(); |
| 90 | 90 | ||
| 91 | /// Retrieves the event type used for thread wakeup callbacks. | 91 | /// Retrieves the event type used for thread wakeup callbacks. |
| 92 | CoreTiming::EventType* ThreadWakeupCallbackEventType() const; | 92 | Core::Timing::EventType* ThreadWakeupCallbackEventType() const; |
| 93 | 93 | ||
| 94 | /// Provides a reference to the thread wakeup callback handle table. | 94 | /// Provides a reference to the thread wakeup callback handle table. |
| 95 | Kernel::HandleTable& ThreadWakeupCallbackHandleTable(); | 95 | Kernel::HandleTable& ThreadWakeupCallbackHandleTable(); |
diff --git a/src/core/hle/kernel/scheduler.cpp b/src/core/hle/kernel/scheduler.cpp index df4d6cf0a..9e2517e1b 100644 --- a/src/core/hle/kernel/scheduler.cpp +++ b/src/core/hle/kernel/scheduler.cpp | |||
| @@ -111,7 +111,7 @@ void Scheduler::SwitchContext(Thread* new_thread) { | |||
| 111 | 111 | ||
| 112 | void Scheduler::UpdateLastContextSwitchTime(Thread* thread, Process* process) { | 112 | void Scheduler::UpdateLastContextSwitchTime(Thread* thread, Process* process) { |
| 113 | const u64 prev_switch_ticks = last_context_switch_time; | 113 | const u64 prev_switch_ticks = last_context_switch_time; |
| 114 | const u64 most_recent_switch_ticks = CoreTiming::GetTicks(); | 114 | const u64 most_recent_switch_ticks = Core::Timing::GetTicks(); |
| 115 | const u64 update_ticks = most_recent_switch_ticks - prev_switch_ticks; | 115 | const u64 update_ticks = most_recent_switch_ticks - prev_switch_ticks; |
| 116 | 116 | ||
| 117 | if (thread != nullptr) { | 117 | if (thread != nullptr) { |
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index 7cfecb68c..5f040f79f 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp | |||
| @@ -927,9 +927,9 @@ static ResultCode GetInfo(u64* result, u64 info_id, u64 handle, u64 info_sub_id) | |||
| 927 | if (same_thread && info_sub_id == 0xFFFFFFFFFFFFFFFF) { | 927 | if (same_thread && info_sub_id == 0xFFFFFFFFFFFFFFFF) { |
| 928 | const u64 thread_ticks = current_thread->GetTotalCPUTimeTicks(); | 928 | const u64 thread_ticks = current_thread->GetTotalCPUTimeTicks(); |
| 929 | 929 | ||
| 930 | out_ticks = thread_ticks + (CoreTiming::GetTicks() - prev_ctx_ticks); | 930 | out_ticks = thread_ticks + (Core::Timing::GetTicks() - prev_ctx_ticks); |
| 931 | } else if (same_thread && info_sub_id == system.CurrentCoreIndex()) { | 931 | } else if (same_thread && info_sub_id == system.CurrentCoreIndex()) { |
| 932 | out_ticks = CoreTiming::GetTicks() - prev_ctx_ticks; | 932 | out_ticks = Core::Timing::GetTicks() - prev_ctx_ticks; |
| 933 | } | 933 | } |
| 934 | 934 | ||
| 935 | *result = out_ticks; | 935 | *result = out_ticks; |
| @@ -1546,10 +1546,10 @@ static ResultCode SignalToAddress(VAddr address, u32 type, s32 value, s32 num_to | |||
| 1546 | static u64 GetSystemTick() { | 1546 | static u64 GetSystemTick() { |
| 1547 | LOG_TRACE(Kernel_SVC, "called"); | 1547 | LOG_TRACE(Kernel_SVC, "called"); |
| 1548 | 1548 | ||
| 1549 | const u64 result{CoreTiming::GetTicks()}; | 1549 | const u64 result{Core::Timing::GetTicks()}; |
| 1550 | 1550 | ||
| 1551 | // Advance time to defeat dumb games that busy-wait for the frame to end. | 1551 | // Advance time to defeat dumb games that busy-wait for the frame to end. |
| 1552 | CoreTiming::AddTicks(400); | 1552 | Core::Timing::AddTicks(400); |
| 1553 | 1553 | ||
| 1554 | return result; | 1554 | return result; |
| 1555 | } | 1555 | } |
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp index d3984dfc4..7881c2b90 100644 --- a/src/core/hle/kernel/thread.cpp +++ b/src/core/hle/kernel/thread.cpp | |||
| @@ -43,7 +43,7 @@ Thread::~Thread() = default; | |||
| 43 | 43 | ||
| 44 | void Thread::Stop() { | 44 | void Thread::Stop() { |
| 45 | // Cancel any outstanding wakeup events for this thread | 45 | // Cancel any outstanding wakeup events for this thread |
| 46 | CoreTiming::UnscheduleEvent(kernel.ThreadWakeupCallbackEventType(), callback_handle); | 46 | Core::Timing::UnscheduleEvent(kernel.ThreadWakeupCallbackEventType(), callback_handle); |
| 47 | kernel.ThreadWakeupCallbackHandleTable().Close(callback_handle); | 47 | kernel.ThreadWakeupCallbackHandleTable().Close(callback_handle); |
| 48 | callback_handle = 0; | 48 | callback_handle = 0; |
| 49 | 49 | ||
| @@ -85,12 +85,13 @@ void Thread::WakeAfterDelay(s64 nanoseconds) { | |||
| 85 | 85 | ||
| 86 | // This function might be called from any thread so we have to be cautious and use the | 86 | // This function might be called from any thread so we have to be cautious and use the |
| 87 | // thread-safe version of ScheduleEvent. | 87 | // thread-safe version of ScheduleEvent. |
| 88 | CoreTiming::ScheduleEventThreadsafe(CoreTiming::nsToCycles(nanoseconds), | 88 | Core::Timing::ScheduleEventThreadsafe(Core::Timing::nsToCycles(nanoseconds), |
| 89 | kernel.ThreadWakeupCallbackEventType(), callback_handle); | 89 | kernel.ThreadWakeupCallbackEventType(), callback_handle); |
| 90 | } | 90 | } |
| 91 | 91 | ||
| 92 | void Thread::CancelWakeupTimer() { | 92 | void Thread::CancelWakeupTimer() { |
| 93 | CoreTiming::UnscheduleEventThreadsafe(kernel.ThreadWakeupCallbackEventType(), callback_handle); | 93 | Core::Timing::UnscheduleEventThreadsafe(kernel.ThreadWakeupCallbackEventType(), |
| 94 | callback_handle); | ||
| 94 | } | 95 | } |
| 95 | 96 | ||
| 96 | static std::optional<s32> GetNextProcessorId(u64 mask) { | 97 | static std::optional<s32> GetNextProcessorId(u64 mask) { |
| @@ -197,7 +198,7 @@ ResultVal<SharedPtr<Thread>> Thread::Create(KernelCore& kernel, std::string name | |||
| 197 | thread->stack_top = stack_top; | 198 | thread->stack_top = stack_top; |
| 198 | thread->tpidr_el0 = 0; | 199 | thread->tpidr_el0 = 0; |
| 199 | thread->nominal_priority = thread->current_priority = priority; | 200 | thread->nominal_priority = thread->current_priority = priority; |
| 200 | thread->last_running_ticks = CoreTiming::GetTicks(); | 201 | thread->last_running_ticks = Core::Timing::GetTicks(); |
| 201 | thread->processor_id = processor_id; | 202 | thread->processor_id = processor_id; |
| 202 | thread->ideal_core = processor_id; | 203 | thread->ideal_core = processor_id; |
| 203 | thread->affinity_mask = 1ULL << processor_id; | 204 | thread->affinity_mask = 1ULL << processor_id; |
| @@ -257,7 +258,7 @@ void Thread::SetStatus(ThreadStatus new_status) { | |||
| 257 | } | 258 | } |
| 258 | 259 | ||
| 259 | if (status == ThreadStatus::Running) { | 260 | if (status == ThreadStatus::Running) { |
| 260 | last_running_ticks = CoreTiming::GetTicks(); | 261 | last_running_ticks = Core::Timing::GetTicks(); |
| 261 | } | 262 | } |
| 262 | 263 | ||
| 263 | status = new_status; | 264 | status = new_status; |
diff --git a/src/core/hle/service/hid/controllers/debug_pad.cpp b/src/core/hle/service/hid/controllers/debug_pad.cpp index c22357d8c..b264c9503 100644 --- a/src/core/hle/service/hid/controllers/debug_pad.cpp +++ b/src/core/hle/service/hid/controllers/debug_pad.cpp | |||
| @@ -22,7 +22,7 @@ void Controller_DebugPad::OnInit() {} | |||
| 22 | void Controller_DebugPad::OnRelease() {} | 22 | void Controller_DebugPad::OnRelease() {} |
| 23 | 23 | ||
| 24 | void Controller_DebugPad::OnUpdate(u8* data, std::size_t size) { | 24 | void Controller_DebugPad::OnUpdate(u8* data, std::size_t size) { |
| 25 | shared_memory.header.timestamp = CoreTiming::GetTicks(); | 25 | shared_memory.header.timestamp = Core::Timing::GetTicks(); |
| 26 | shared_memory.header.total_entry_count = 17; | 26 | shared_memory.header.total_entry_count = 17; |
| 27 | 27 | ||
| 28 | if (!IsControllerActivated()) { | 28 | if (!IsControllerActivated()) { |
diff --git a/src/core/hle/service/hid/controllers/gesture.cpp b/src/core/hle/service/hid/controllers/gesture.cpp index 898572277..6d21f1a7d 100644 --- a/src/core/hle/service/hid/controllers/gesture.cpp +++ b/src/core/hle/service/hid/controllers/gesture.cpp | |||
| @@ -18,7 +18,7 @@ void Controller_Gesture::OnInit() {} | |||
| 18 | void Controller_Gesture::OnRelease() {} | 18 | void Controller_Gesture::OnRelease() {} |
| 19 | 19 | ||
| 20 | void Controller_Gesture::OnUpdate(u8* data, std::size_t size) { | 20 | void Controller_Gesture::OnUpdate(u8* data, std::size_t size) { |
| 21 | shared_memory.header.timestamp = CoreTiming::GetTicks(); | 21 | shared_memory.header.timestamp = Core::Timing::GetTicks(); |
| 22 | shared_memory.header.total_entry_count = 17; | 22 | shared_memory.header.total_entry_count = 17; |
| 23 | 23 | ||
| 24 | if (!IsControllerActivated()) { | 24 | if (!IsControllerActivated()) { |
diff --git a/src/core/hle/service/hid/controllers/keyboard.cpp b/src/core/hle/service/hid/controllers/keyboard.cpp index ca75adc2b..798f30436 100644 --- a/src/core/hle/service/hid/controllers/keyboard.cpp +++ b/src/core/hle/service/hid/controllers/keyboard.cpp | |||
| @@ -20,7 +20,7 @@ void Controller_Keyboard::OnInit() {} | |||
| 20 | void Controller_Keyboard::OnRelease() {} | 20 | void Controller_Keyboard::OnRelease() {} |
| 21 | 21 | ||
| 22 | void Controller_Keyboard::OnUpdate(u8* data, std::size_t size) { | 22 | void Controller_Keyboard::OnUpdate(u8* data, std::size_t size) { |
| 23 | shared_memory.header.timestamp = CoreTiming::GetTicks(); | 23 | shared_memory.header.timestamp = Core::Timing::GetTicks(); |
| 24 | shared_memory.header.total_entry_count = 17; | 24 | shared_memory.header.total_entry_count = 17; |
| 25 | 25 | ||
| 26 | if (!IsControllerActivated()) { | 26 | if (!IsControllerActivated()) { |
diff --git a/src/core/hle/service/hid/controllers/mouse.cpp b/src/core/hle/service/hid/controllers/mouse.cpp index 63391dbe9..4985037be 100644 --- a/src/core/hle/service/hid/controllers/mouse.cpp +++ b/src/core/hle/service/hid/controllers/mouse.cpp | |||
| @@ -18,7 +18,7 @@ void Controller_Mouse::OnInit() {} | |||
| 18 | void Controller_Mouse::OnRelease() {} | 18 | void Controller_Mouse::OnRelease() {} |
| 19 | 19 | ||
| 20 | void Controller_Mouse::OnUpdate(u8* data, std::size_t size) { | 20 | void Controller_Mouse::OnUpdate(u8* data, std::size_t size) { |
| 21 | shared_memory.header.timestamp = CoreTiming::GetTicks(); | 21 | shared_memory.header.timestamp = Core::Timing::GetTicks(); |
| 22 | shared_memory.header.total_entry_count = 17; | 22 | shared_memory.header.total_entry_count = 17; |
| 23 | 23 | ||
| 24 | if (!IsControllerActivated()) { | 24 | if (!IsControllerActivated()) { |
diff --git a/src/core/hle/service/hid/controllers/npad.cpp b/src/core/hle/service/hid/controllers/npad.cpp index 04c8c35a8..ffdd1c593 100644 --- a/src/core/hle/service/hid/controllers/npad.cpp +++ b/src/core/hle/service/hid/controllers/npad.cpp | |||
| @@ -308,7 +308,7 @@ void Controller_NPad::OnUpdate(u8* data, std::size_t data_len) { | |||
| 308 | const auto& last_entry = | 308 | const auto& last_entry = |
| 309 | main_controller->npad[main_controller->common.last_entry_index]; | 309 | main_controller->npad[main_controller->common.last_entry_index]; |
| 310 | 310 | ||
| 311 | main_controller->common.timestamp = CoreTiming::GetTicks(); | 311 | main_controller->common.timestamp = Core::Timing::GetTicks(); |
| 312 | main_controller->common.last_entry_index = | 312 | main_controller->common.last_entry_index = |
| 313 | (main_controller->common.last_entry_index + 1) % 17; | 313 | (main_controller->common.last_entry_index + 1) % 17; |
| 314 | 314 | ||
diff --git a/src/core/hle/service/hid/controllers/stubbed.cpp b/src/core/hle/service/hid/controllers/stubbed.cpp index 02fcfadd9..cca4dca1d 100644 --- a/src/core/hle/service/hid/controllers/stubbed.cpp +++ b/src/core/hle/service/hid/controllers/stubbed.cpp | |||
| @@ -22,7 +22,7 @@ void Controller_Stubbed::OnUpdate(u8* data, std::size_t size) { | |||
| 22 | } | 22 | } |
| 23 | 23 | ||
| 24 | CommonHeader header{}; | 24 | CommonHeader header{}; |
| 25 | header.timestamp = CoreTiming::GetTicks(); | 25 | header.timestamp = Core::Timing::GetTicks(); |
| 26 | header.total_entry_count = 17; | 26 | header.total_entry_count = 17; |
| 27 | header.entry_count = 0; | 27 | header.entry_count = 0; |
| 28 | header.last_entry_index = 0; | 28 | header.last_entry_index = 0; |
diff --git a/src/core/hle/service/hid/controllers/touchscreen.cpp b/src/core/hle/service/hid/controllers/touchscreen.cpp index f666b1bd8..a7c8acc72 100644 --- a/src/core/hle/service/hid/controllers/touchscreen.cpp +++ b/src/core/hle/service/hid/controllers/touchscreen.cpp | |||
| @@ -21,7 +21,7 @@ void Controller_Touchscreen::OnInit() {} | |||
| 21 | void Controller_Touchscreen::OnRelease() {} | 21 | void Controller_Touchscreen::OnRelease() {} |
| 22 | 22 | ||
| 23 | void Controller_Touchscreen::OnUpdate(u8* data, std::size_t size) { | 23 | void Controller_Touchscreen::OnUpdate(u8* data, std::size_t size) { |
| 24 | shared_memory.header.timestamp = CoreTiming::GetTicks(); | 24 | shared_memory.header.timestamp = Core::Timing::GetTicks(); |
| 25 | shared_memory.header.total_entry_count = 17; | 25 | shared_memory.header.total_entry_count = 17; |
| 26 | 26 | ||
| 27 | if (!IsControllerActivated()) { | 27 | if (!IsControllerActivated()) { |
| @@ -48,7 +48,7 @@ void Controller_Touchscreen::OnUpdate(u8* data, std::size_t size) { | |||
| 48 | touch_entry.diameter_x = Settings::values.touchscreen.diameter_x; | 48 | touch_entry.diameter_x = Settings::values.touchscreen.diameter_x; |
| 49 | touch_entry.diameter_y = Settings::values.touchscreen.diameter_y; | 49 | touch_entry.diameter_y = Settings::values.touchscreen.diameter_y; |
| 50 | touch_entry.rotation_angle = Settings::values.touchscreen.rotation_angle; | 50 | touch_entry.rotation_angle = Settings::values.touchscreen.rotation_angle; |
| 51 | const u64 tick = CoreTiming::GetTicks(); | 51 | const u64 tick = Core::Timing::GetTicks(); |
| 52 | touch_entry.delta_time = tick - last_touch; | 52 | touch_entry.delta_time = tick - last_touch; |
| 53 | last_touch = tick; | 53 | last_touch = tick; |
| 54 | touch_entry.finger = Settings::values.touchscreen.finger; | 54 | touch_entry.finger = Settings::values.touchscreen.finger; |
diff --git a/src/core/hle/service/hid/controllers/xpad.cpp b/src/core/hle/service/hid/controllers/xpad.cpp index cd397c70b..eff03d14e 100644 --- a/src/core/hle/service/hid/controllers/xpad.cpp +++ b/src/core/hle/service/hid/controllers/xpad.cpp | |||
| @@ -19,7 +19,7 @@ void Controller_XPad::OnRelease() {} | |||
| 19 | 19 | ||
| 20 | void Controller_XPad::OnUpdate(u8* data, std::size_t size) { | 20 | void Controller_XPad::OnUpdate(u8* data, std::size_t size) { |
| 21 | for (auto& xpad_entry : shared_memory.shared_memory_entries) { | 21 | for (auto& xpad_entry : shared_memory.shared_memory_entries) { |
| 22 | xpad_entry.header.timestamp = CoreTiming::GetTicks(); | 22 | xpad_entry.header.timestamp = Core::Timing::GetTicks(); |
| 23 | xpad_entry.header.total_entry_count = 17; | 23 | xpad_entry.header.total_entry_count = 17; |
| 24 | 24 | ||
| 25 | if (!IsControllerActivated()) { | 25 | if (!IsControllerActivated()) { |
diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp index 008bf3f02..79c320d04 100644 --- a/src/core/hle/service/hid/hid.cpp +++ b/src/core/hle/service/hid/hid.cpp | |||
| @@ -36,9 +36,9 @@ namespace Service::HID { | |||
| 36 | 36 | ||
| 37 | // Updating period for each HID device. | 37 | // Updating period for each HID device. |
| 38 | // TODO(ogniK): Find actual polling rate of hid | 38 | // TODO(ogniK): Find actual polling rate of hid |
| 39 | constexpr u64 pad_update_ticks = CoreTiming::BASE_CLOCK_RATE / 66; | 39 | constexpr u64 pad_update_ticks = Core::Timing::BASE_CLOCK_RATE / 66; |
| 40 | constexpr u64 accelerometer_update_ticks = CoreTiming::BASE_CLOCK_RATE / 100; | 40 | constexpr u64 accelerometer_update_ticks = Core::Timing::BASE_CLOCK_RATE / 100; |
| 41 | constexpr u64 gyroscope_update_ticks = CoreTiming::BASE_CLOCK_RATE / 100; | 41 | constexpr u64 gyroscope_update_ticks = Core::Timing::BASE_CLOCK_RATE / 100; |
| 42 | constexpr std::size_t SHARED_MEMORY_SIZE = 0x40000; | 42 | constexpr std::size_t SHARED_MEMORY_SIZE = 0x40000; |
| 43 | 43 | ||
| 44 | IAppletResource::IAppletResource() : ServiceFramework("IAppletResource") { | 44 | IAppletResource::IAppletResource() : ServiceFramework("IAppletResource") { |
| @@ -73,14 +73,13 @@ IAppletResource::IAppletResource() : ServiceFramework("IAppletResource") { | |||
| 73 | GetController<Controller_Stubbed>(HidController::Unknown3).SetCommonHeaderOffset(0x5000); | 73 | GetController<Controller_Stubbed>(HidController::Unknown3).SetCommonHeaderOffset(0x5000); |
| 74 | 74 | ||
| 75 | // Register update callbacks | 75 | // Register update callbacks |
| 76 | pad_update_event = | 76 | pad_update_event = Core::Timing::RegisterEvent( |
| 77 | CoreTiming::RegisterEvent("HID::UpdatePadCallback", [this](u64 userdata, int cycles_late) { | 77 | "HID::UpdatePadCallback", |
| 78 | UpdateControllers(userdata, cycles_late); | 78 | [this](u64 userdata, int cycles_late) { UpdateControllers(userdata, cycles_late); }); |
| 79 | }); | ||
| 80 | 79 | ||
| 81 | // TODO(shinyquagsire23): Other update callbacks? (accel, gyro?) | 80 | // TODO(shinyquagsire23): Other update callbacks? (accel, gyro?) |
| 82 | 81 | ||
| 83 | CoreTiming::ScheduleEvent(pad_update_ticks, pad_update_event); | 82 | Core::Timing::ScheduleEvent(pad_update_ticks, pad_update_event); |
| 84 | 83 | ||
| 85 | ReloadInputDevices(); | 84 | ReloadInputDevices(); |
| 86 | } | 85 | } |
| @@ -94,7 +93,7 @@ void IAppletResource::DeactivateController(HidController controller) { | |||
| 94 | } | 93 | } |
| 95 | 94 | ||
| 96 | IAppletResource ::~IAppletResource() { | 95 | IAppletResource ::~IAppletResource() { |
| 97 | CoreTiming::UnscheduleEvent(pad_update_event, 0); | 96 | Core::Timing::UnscheduleEvent(pad_update_event, 0); |
| 98 | } | 97 | } |
| 99 | 98 | ||
| 100 | void IAppletResource::GetSharedMemoryHandle(Kernel::HLERequestContext& ctx) { | 99 | void IAppletResource::GetSharedMemoryHandle(Kernel::HLERequestContext& ctx) { |
| @@ -114,7 +113,7 @@ void IAppletResource::UpdateControllers(u64 userdata, int cycles_late) { | |||
| 114 | controller->OnUpdate(shared_mem->GetPointer(), SHARED_MEMORY_SIZE); | 113 | controller->OnUpdate(shared_mem->GetPointer(), SHARED_MEMORY_SIZE); |
| 115 | } | 114 | } |
| 116 | 115 | ||
| 117 | CoreTiming::ScheduleEvent(pad_update_ticks - cycles_late, pad_update_event); | 116 | Core::Timing::ScheduleEvent(pad_update_ticks - cycles_late, pad_update_event); |
| 118 | } | 117 | } |
| 119 | 118 | ||
| 120 | class IActiveVibrationDeviceList final : public ServiceFramework<IActiveVibrationDeviceList> { | 119 | class IActiveVibrationDeviceList final : public ServiceFramework<IActiveVibrationDeviceList> { |
diff --git a/src/core/hle/service/hid/hid.h b/src/core/hle/service/hid/hid.h index eca27c056..6d897c842 100644 --- a/src/core/hle/service/hid/hid.h +++ b/src/core/hle/service/hid/hid.h | |||
| @@ -7,7 +7,7 @@ | |||
| 7 | #include "controllers/controller_base.h" | 7 | #include "controllers/controller_base.h" |
| 8 | #include "core/hle/service/service.h" | 8 | #include "core/hle/service/service.h" |
| 9 | 9 | ||
| 10 | namespace CoreTiming { | 10 | namespace Core::Timing { |
| 11 | struct EventType; | 11 | struct EventType; |
| 12 | } | 12 | } |
| 13 | 13 | ||
| @@ -66,7 +66,7 @@ private: | |||
| 66 | 66 | ||
| 67 | Kernel::SharedPtr<Kernel::SharedMemory> shared_mem; | 67 | Kernel::SharedPtr<Kernel::SharedMemory> shared_mem; |
| 68 | 68 | ||
| 69 | CoreTiming::EventType* pad_update_event; | 69 | Core::Timing::EventType* pad_update_event; |
| 70 | 70 | ||
| 71 | std::array<std::unique_ptr<ControllerBase>, static_cast<size_t>(HidController::MaxControllers)> | 71 | std::array<std::unique_ptr<ControllerBase>, static_cast<size_t>(HidController::MaxControllers)> |
| 72 | controllers{}; | 72 | controllers{}; |
diff --git a/src/core/hle/service/hid/irs.cpp b/src/core/hle/service/hid/irs.cpp index 3c7f8b1ee..b427d4068 100644 --- a/src/core/hle/service/hid/irs.cpp +++ b/src/core/hle/service/hid/irs.cpp | |||
| @@ -98,7 +98,7 @@ void IRS::GetImageTransferProcessorState(Kernel::HLERequestContext& ctx) { | |||
| 98 | 98 | ||
| 99 | IPC::ResponseBuilder rb{ctx, 5}; | 99 | IPC::ResponseBuilder rb{ctx, 5}; |
| 100 | rb.Push(RESULT_SUCCESS); | 100 | rb.Push(RESULT_SUCCESS); |
| 101 | rb.PushRaw<u64>(CoreTiming::GetTicks()); | 101 | rb.PushRaw<u64>(Core::Timing::GetTicks()); |
| 102 | rb.PushRaw<u32>(0); | 102 | rb.PushRaw<u32>(0); |
| 103 | } | 103 | } |
| 104 | 104 | ||
diff --git a/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.cpp b/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.cpp index d57a54ee8..88d80ba06 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.cpp +++ b/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.cpp | |||
| @@ -184,7 +184,7 @@ u32 nvhost_ctrl_gpu::GetGpuTime(const std::vector<u8>& input, std::vector<u8>& o | |||
| 184 | 184 | ||
| 185 | IoctlGetGpuTime params{}; | 185 | IoctlGetGpuTime params{}; |
| 186 | std::memcpy(¶ms, input.data(), input.size()); | 186 | std::memcpy(¶ms, input.data(), input.size()); |
| 187 | params.gpu_time = CoreTiming::cyclesToNs(CoreTiming::GetTicks()); | 187 | params.gpu_time = Core::Timing::cyclesToNs(Core::Timing::GetTicks()); |
| 188 | std::memcpy(output.data(), ¶ms, output.size()); | 188 | std::memcpy(output.data(), ¶ms, output.size()); |
| 189 | return 0; | 189 | return 0; |
| 190 | } | 190 | } |
diff --git a/src/core/hle/service/nvflinger/buffer_queue.h b/src/core/hle/service/nvflinger/buffer_queue.h index b171f256c..ab90d591e 100644 --- a/src/core/hle/service/nvflinger/buffer_queue.h +++ b/src/core/hle/service/nvflinger/buffer_queue.h | |||
| @@ -13,10 +13,6 @@ | |||
| 13 | #include "core/hle/kernel/object.h" | 13 | #include "core/hle/kernel/object.h" |
| 14 | #include "core/hle/kernel/writable_event.h" | 14 | #include "core/hle/kernel/writable_event.h" |
| 15 | 15 | ||
| 16 | namespace CoreTiming { | ||
| 17 | struct EventType; | ||
| 18 | } | ||
| 19 | |||
| 20 | namespace Service::NVFlinger { | 16 | namespace Service::NVFlinger { |
| 21 | 17 | ||
| 22 | struct IGBPBuffer { | 18 | struct IGBPBuffer { |
diff --git a/src/core/hle/service/nvflinger/nvflinger.cpp b/src/core/hle/service/nvflinger/nvflinger.cpp index cde06916d..ce1b59860 100644 --- a/src/core/hle/service/nvflinger/nvflinger.cpp +++ b/src/core/hle/service/nvflinger/nvflinger.cpp | |||
| @@ -25,21 +25,21 @@ | |||
| 25 | namespace Service::NVFlinger { | 25 | namespace Service::NVFlinger { |
| 26 | 26 | ||
| 27 | constexpr std::size_t SCREEN_REFRESH_RATE = 60; | 27 | constexpr std::size_t SCREEN_REFRESH_RATE = 60; |
| 28 | constexpr u64 frame_ticks = static_cast<u64>(CoreTiming::BASE_CLOCK_RATE / SCREEN_REFRESH_RATE); | 28 | constexpr u64 frame_ticks = static_cast<u64>(Core::Timing::BASE_CLOCK_RATE / SCREEN_REFRESH_RATE); |
| 29 | 29 | ||
| 30 | NVFlinger::NVFlinger() { | 30 | NVFlinger::NVFlinger() { |
| 31 | // Schedule the screen composition events | 31 | // Schedule the screen composition events |
| 32 | composition_event = | 32 | composition_event = |
| 33 | CoreTiming::RegisterEvent("ScreenComposition", [this](u64 userdata, int cycles_late) { | 33 | Core::Timing::RegisterEvent("ScreenComposition", [this](u64 userdata, int cycles_late) { |
| 34 | Compose(); | 34 | Compose(); |
| 35 | CoreTiming::ScheduleEvent(frame_ticks - cycles_late, composition_event); | 35 | Core::Timing::ScheduleEvent(frame_ticks - cycles_late, composition_event); |
| 36 | }); | 36 | }); |
| 37 | 37 | ||
| 38 | CoreTiming::ScheduleEvent(frame_ticks, composition_event); | 38 | Core::Timing::ScheduleEvent(frame_ticks, composition_event); |
| 39 | } | 39 | } |
| 40 | 40 | ||
| 41 | NVFlinger::~NVFlinger() { | 41 | NVFlinger::~NVFlinger() { |
| 42 | CoreTiming::UnscheduleEvent(composition_event, 0); | 42 | Core::Timing::UnscheduleEvent(composition_event, 0); |
| 43 | } | 43 | } |
| 44 | 44 | ||
| 45 | void NVFlinger::SetNVDrvInstance(std::shared_ptr<Nvidia::Module> instance) { | 45 | void NVFlinger::SetNVDrvInstance(std::shared_ptr<Nvidia::Module> instance) { |
diff --git a/src/core/hle/service/nvflinger/nvflinger.h b/src/core/hle/service/nvflinger/nvflinger.h index 4c55e99f4..6d8bcbd30 100644 --- a/src/core/hle/service/nvflinger/nvflinger.h +++ b/src/core/hle/service/nvflinger/nvflinger.h | |||
| @@ -14,7 +14,7 @@ | |||
| 14 | #include "common/common_types.h" | 14 | #include "common/common_types.h" |
| 15 | #include "core/hle/kernel/object.h" | 15 | #include "core/hle/kernel/object.h" |
| 16 | 16 | ||
| 17 | namespace CoreTiming { | 17 | namespace Core::Timing { |
| 18 | struct EventType; | 18 | struct EventType; |
| 19 | } | 19 | } |
| 20 | 20 | ||
| @@ -115,8 +115,8 @@ private: | |||
| 115 | /// layers. | 115 | /// layers. |
| 116 | u32 next_buffer_queue_id = 1; | 116 | u32 next_buffer_queue_id = 1; |
| 117 | 117 | ||
| 118 | /// CoreTiming event that handles screen composition. | 118 | /// Event that handles screen composition. |
| 119 | CoreTiming::EventType* composition_event; | 119 | Core::Timing::EventType* composition_event; |
| 120 | }; | 120 | }; |
| 121 | 121 | ||
| 122 | } // namespace Service::NVFlinger | 122 | } // namespace Service::NVFlinger |
diff --git a/src/core/hle/service/time/time.cpp b/src/core/hle/service/time/time.cpp index c13640ad8..efebd1b24 100644 --- a/src/core/hle/service/time/time.cpp +++ b/src/core/hle/service/time/time.cpp | |||
| @@ -106,8 +106,8 @@ private: | |||
| 106 | void GetCurrentTimePoint(Kernel::HLERequestContext& ctx) { | 106 | void GetCurrentTimePoint(Kernel::HLERequestContext& ctx) { |
| 107 | LOG_DEBUG(Service_Time, "called"); | 107 | LOG_DEBUG(Service_Time, "called"); |
| 108 | 108 | ||
| 109 | SteadyClockTimePoint steady_clock_time_point{ | 109 | const SteadyClockTimePoint steady_clock_time_point{ |
| 110 | CoreTiming::cyclesToMs(CoreTiming::GetTicks()) / 1000}; | 110 | Core::Timing::cyclesToMs(Core::Timing::GetTicks()) / 1000}; |
| 111 | IPC::ResponseBuilder rb{ctx, (sizeof(SteadyClockTimePoint) / 4) + 2}; | 111 | IPC::ResponseBuilder rb{ctx, (sizeof(SteadyClockTimePoint) / 4) + 2}; |
| 112 | rb.Push(RESULT_SUCCESS); | 112 | rb.Push(RESULT_SUCCESS); |
| 113 | rb.PushRaw(steady_clock_time_point); | 113 | rb.PushRaw(steady_clock_time_point); |
| @@ -282,7 +282,7 @@ void Module::Interface::GetClockSnapshot(Kernel::HLERequestContext& ctx) { | |||
| 282 | } | 282 | } |
| 283 | 283 | ||
| 284 | const SteadyClockTimePoint steady_clock_time_point{ | 284 | const SteadyClockTimePoint steady_clock_time_point{ |
| 285 | CoreTiming::cyclesToMs(CoreTiming::GetTicks()) / 1000, {}}; | 285 | Core::Timing::cyclesToMs(Core::Timing::GetTicks()) / 1000, {}}; |
| 286 | 286 | ||
| 287 | CalendarTime calendar_time{}; | 287 | CalendarTime calendar_time{}; |
| 288 | calendar_time.year = tm->tm_year + 1900; | 288 | calendar_time.year = tm->tm_year + 1900; |