summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2019-12-07 02:00:23 +0100
committerGitHub <noreply@github.com>2019-12-07 02:00:23 +0100
commit4bbb22a477d72cc5bcb08fbacce7166ced1907df (patch)
tree210de0776a29ef4e514a4843198d98a958a59235 /src
parentMerge pull request #3197 from ReinUsesLisp/shader-char (diff)
parentCpuCore: Clear exclusive state after doing a run in dynarmic. (diff)
downloadyuzu-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
Diffstat (limited to 'src')
-rw-r--r--src/core/core_cpu.cpp2
-rw-r--r--src/core/hle/kernel/scheduler.cpp1
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