summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Liam2024-01-30 00:44:26 -0500
committerGravatar Liam2024-02-09 09:20:53 -0500
commit2e8c21ad2d2de1d42db7a02e67adb71a57df7b98 (patch)
treec09a31cc797fd717c8129a54fd0d2ce0f5f39c92 /src
parentMerge pull request #12967 from german77/let_me_out (diff)
downloadyuzu-2e8c21ad2d2de1d42db7a02e67adb71a57df7b98.tar.gz
yuzu-2e8c21ad2d2de1d42db7a02e67adb71a57df7b98.tar.xz
yuzu-2e8c21ad2d2de1d42db7a02e67adb71a57df7b98.zip
core: fix multiprocess with nce
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/kernel/k_process.cpp7
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 }