diff options
| author | 2024-01-30 00:44:26 -0500 | |
|---|---|---|
| committer | 2024-02-09 09:20:53 -0500 | |
| commit | 2e8c21ad2d2de1d42db7a02e67adb71a57df7b98 (patch) | |
| tree | c09a31cc797fd717c8129a54fd0d2ce0f5f39c92 | |
| parent | Merge pull request #12967 from german77/let_me_out (diff) | |
| download | yuzu-2e8c21ad2d2de1d42db7a02e67adb71a57df7b98.tar.gz yuzu-2e8c21ad2d2de1d42db7a02e67adb71a57df7b98.tar.xz yuzu-2e8c21ad2d2de1d42db7a02e67adb71a57df7b98.zip | |
core: fix multiprocess with nce
| -rw-r--r-- | src/core/hle/kernel/k_process.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/core/hle/kernel/k_process.cpp b/src/core/hle/kernel/k_process.cpp index 0b08e877e..1bcc42890 100644 --- a/src/core/hle/kernel/k_process.cpp +++ b/src/core/hle/kernel/k_process.cpp | |||
| @@ -4,8 +4,9 @@ | |||
| 4 | #include <random> | 4 | #include <random> |
| 5 | #include "common/scope_exit.h" | 5 | #include "common/scope_exit.h" |
| 6 | #include "common/settings.h" | 6 | #include "common/settings.h" |
| 7 | #include "core/arm/dynarmic/arm_dynarmic.h" | ||
| 8 | #include "core/arm/dynarmic/dynarmic_exclusive_monitor.h" | ||
| 7 | #include "core/core.h" | 9 | #include "core/core.h" |
| 8 | #include "core/gpu_dirty_memory_manager.h" | ||
| 9 | #include "core/hle/kernel/k_process.h" | 10 | #include "core/hle/kernel/k_process.h" |
| 10 | #include "core/hle/kernel/k_scoped_resource_reservation.h" | 11 | #include "core/hle/kernel/k_scoped_resource_reservation.h" |
| 11 | #include "core/hle/kernel/k_shared_memory.h" | 12 | #include "core/hle/kernel/k_shared_memory.h" |
| @@ -1258,6 +1259,10 @@ void KProcess::InitializeInterfaces() { | |||
| 1258 | 1259 | ||
| 1259 | #ifdef HAS_NCE | 1260 | #ifdef HAS_NCE |
| 1260 | if (this->IsApplication() && Settings::IsNceEnabled()) { | 1261 | if (this->IsApplication() && Settings::IsNceEnabled()) { |
| 1262 | // Register the scoped JIT handler before creating any NCE instances | ||
| 1263 | // so that its signal handler will appear first in the signal chain. | ||
| 1264 | Core::ScopedJitExecution::RegisterHandler(); | ||
| 1265 | |||
| 1261 | for (size_t i = 0; i < Core::Hardware::NUM_CPU_CORES; i++) { | 1266 | for (size_t i = 0; i < Core::Hardware::NUM_CPU_CORES; i++) { |
| 1262 | m_arm_interfaces[i] = std::make_unique<Core::ArmNce>(m_kernel.System(), true, i); | 1267 | m_arm_interfaces[i] = std::make_unique<Core::ArmNce>(m_kernel.System(), true, i); |
| 1263 | } | 1268 | } |