summaryrefslogtreecommitdiffstats
path: root/src/core
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2022-10-30 16:01:22 +0100
committerLiam <byteslice@airmail.cc>2022-10-30 16:01:22 +0100
commit8f00c59462354b66cec6cc05ed6d9259297a19f6 (patch)
treea227f2ee5080a99c4d56dd4eaee3194a05d29985 /src/core
parentMerge pull request #9149 from german77/volum (diff)
downloadyuzu-8f00c59462354b66cec6cc05ed6d9259297a19f6.tar
yuzu-8f00c59462354b66cec6cc05ed6d9259297a19f6.tar.gz
yuzu-8f00c59462354b66cec6cc05ed6d9259297a19f6.tar.bz2
yuzu-8f00c59462354b66cec6cc05ed6d9259297a19f6.tar.lz
yuzu-8f00c59462354b66cec6cc05ed6d9259297a19f6.tar.xz
yuzu-8f00c59462354b66cec6cc05ed6d9259297a19f6.tar.zst
yuzu-8f00c59462354b66cec6cc05ed6d9259297a19f6.zip
Diffstat (limited to 'src/core')
-rw-r--r--src/core/core.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp
index 40a610435..d8934be52 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -137,6 +137,7 @@ struct System::Impl {
device_memory = std::make_unique<Core::DeviceMemory>();
is_multicore = Settings::values.use_multi_core.GetValue();
+ extended_memory_layout = Settings::values.use_extended_memory_layout.GetValue();
core_timing.SetMulticore(is_multicore);
core_timing.Initialize([&system]() { system.RegisterHostThread(); });
@@ -166,13 +167,18 @@ struct System::Impl {
}
void ReinitializeIfNecessary(System& system) {
- if (is_multicore == Settings::values.use_multi_core.GetValue()) {
+ const bool must_reinitialize =
+ is_multicore != Settings::values.use_multi_core.GetValue() ||
+ extended_memory_layout != Settings::values.use_extended_memory_layout.GetValue();
+
+ if (!must_reinitialize) {
return;
}
LOG_DEBUG(Kernel, "Re-initializing");
is_multicore = Settings::values.use_multi_core.GetValue();
+ extended_memory_layout = Settings::values.use_extended_memory_layout.GetValue();
Initialize(system);
}
@@ -521,6 +527,7 @@ struct System::Impl {
bool is_multicore{};
bool is_async_gpu{};
+ bool extended_memory_layout{};
ExecuteProgramCallback execute_program_callback;
ExitCallback exit_callback;