diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2020-03-09 02:13:18 +0100 |
---|---|---|
committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2020-06-27 17:35:41 +0200 |
commit | 391f5f360d4144c21d65b998dd4e467b56533f78 (patch) | |
tree | d22922c1d44946632747427f763a6ad743876d64 | |
parent | Kernel: Corrections to TimeManager, Scheduler and Mutex. (diff) | |
download | yuzu-391f5f360d4144c21d65b998dd4e467b56533f78.tar yuzu-391f5f360d4144c21d65b998dd4e467b56533f78.tar.gz yuzu-391f5f360d4144c21d65b998dd4e467b56533f78.tar.bz2 yuzu-391f5f360d4144c21d65b998dd4e467b56533f78.tar.lz yuzu-391f5f360d4144c21d65b998dd4e467b56533f78.tar.xz yuzu-391f5f360d4144c21d65b998dd4e467b56533f78.tar.zst yuzu-391f5f360d4144c21d65b998dd4e467b56533f78.zip |
-rw-r--r-- | src/core/hle/kernel/scheduler.cpp | 2 | ||||
-rw-r--r-- | src/core/hle/kernel/thread.cpp | 4 |
2 files changed, 2 insertions, 4 deletions
diff --git a/src/core/hle/kernel/scheduler.cpp b/src/core/hle/kernel/scheduler.cpp index 98fbb8fe5..d68d86cdf 100644 --- a/src/core/hle/kernel/scheduler.cpp +++ b/src/core/hle/kernel/scheduler.cpp @@ -616,6 +616,7 @@ void Scheduler::SwitchContextStep2() { // Cancel any outstanding wakeup events for this thread new_thread->SetIsRunning(true); + new_thread->last_running_ticks = system.CoreTiming().GetCPUTicks(); auto* const thread_owner_process = current_thread->GetOwnerProcess(); if (previous_process != thread_owner_process && thread_owner_process != nullptr) { @@ -654,6 +655,7 @@ void Scheduler::SwitchContext() { // Save context for previous thread if (previous_thread) { + previous_thread->last_running_ticks = system.CoreTiming().GetCPUTicks(); if (!previous_thread->IsHLEThread()) { auto& cpu_core = system.ArmInterface(core_id); cpu_core.SaveContext(previous_thread->GetContext32()); diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp index 51cc5dcca..fc6c0bc85 100644 --- a/src/core/hle/kernel/thread.cpp +++ b/src/core/hle/kernel/thread.cpp @@ -295,10 +295,6 @@ void Thread::SetStatus(ThreadStatus new_status) { break; } - if (status == ThreadStatus::Running) { - last_running_ticks = Core::System::GetInstance().CoreTiming().GetCPUTicks(); - } - status = new_status; } |