diff options
author | Morph <39850852+Morph1984@users.noreply.github.com> | 2022-10-30 13:23:57 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-30 13:23:57 -0400 |
commit | e09756b2dfe58d14572537bc94c37bdc664c5346 (patch) | |
tree | bda67242a6ad2cc3c30040d9700efc3a74bd66d2 /src/core/core.cpp | |
parent | 1cdd2d5204f3fe15a65c3a5af59f36e4bfc8af2e (diff) | |
parent | 8f00c59462354b66cec6cc05ed6d9259297a19f6 (diff) |
Merge pull request #9151 from liamwhite/dram-size
kernel: reinitialize after dram layout change
Diffstat (limited to 'src/core/core.cpp')
-rw-r--r-- | src/core/core.cpp | 9 |
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; |