diff options
author | bunnei <bunneidev@gmail.com> | 2019-12-07 02:00:23 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-12-07 02:00:23 +0100 |
commit | 4bbb22a477d72cc5bcb08fbacce7166ced1907df (patch) | |
tree | 210de0776a29ef4e514a4843198d98a958a59235 | |
parent | Merge pull request #3197 from ReinUsesLisp/shader-char (diff) | |
parent | CpuCore: Clear exclusive state after doing a run in dynarmic. (diff) | |
download | yuzu-4bbb22a477d72cc5bcb08fbacce7166ced1907df.tar yuzu-4bbb22a477d72cc5bcb08fbacce7166ced1907df.tar.gz yuzu-4bbb22a477d72cc5bcb08fbacce7166ced1907df.tar.bz2 yuzu-4bbb22a477d72cc5bcb08fbacce7166ced1907df.tar.lz yuzu-4bbb22a477d72cc5bcb08fbacce7166ced1907df.tar.xz yuzu-4bbb22a477d72cc5bcb08fbacce7166ced1907df.tar.zst yuzu-4bbb22a477d72cc5bcb08fbacce7166ced1907df.zip |
-rw-r--r-- | src/core/core_cpu.cpp | 2 | ||||
-rw-r--r-- | src/core/hle/kernel/scheduler.cpp | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/src/core/core_cpu.cpp b/src/core/core_cpu.cpp index cf3fe0b0b..630cd4feb 100644 --- a/src/core/core_cpu.cpp +++ b/src/core/core_cpu.cpp @@ -96,6 +96,8 @@ void Cpu::RunLoop(bool tight_loop) { } else { arm_interface->Step(); } + // We are stopping a run, exclusive state must be cleared + arm_interface->ClearExclusiveState(); } core_timing.Advance(); diff --git a/src/core/hle/kernel/scheduler.cpp b/src/core/hle/kernel/scheduler.cpp index 3f5192087..d36fcd7d9 100644 --- a/src/core/hle/kernel/scheduler.cpp +++ b/src/core/hle/kernel/scheduler.cpp @@ -458,7 +458,6 @@ void Scheduler::SwitchContext() { cpu_core.LoadContext(new_thread->GetContext()); cpu_core.SetTlsAddress(new_thread->GetTLSAddress()); cpu_core.SetTPIDR_EL0(new_thread->GetTPIDR_EL0()); - cpu_core.ClearExclusiveState(); } else { current_thread = nullptr; // Note: We do not reset the current process and current page table when idling because |