diff options
Diffstat (limited to 'src')
| -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 { | |||
| 137 | device_memory = std::make_unique<Core::DeviceMemory>(); | 137 | device_memory = std::make_unique<Core::DeviceMemory>(); |
| 138 | 138 | ||
| 139 | is_multicore = Settings::values.use_multi_core.GetValue(); | 139 | is_multicore = Settings::values.use_multi_core.GetValue(); |
| 140 | extended_memory_layout = Settings::values.use_extended_memory_layout.GetValue(); | ||
| 140 | 141 | ||
| 141 | core_timing.SetMulticore(is_multicore); | 142 | core_timing.SetMulticore(is_multicore); |
| 142 | core_timing.Initialize([&system]() { system.RegisterHostThread(); }); | 143 | core_timing.Initialize([&system]() { system.RegisterHostThread(); }); |
| @@ -166,13 +167,18 @@ struct System::Impl { | |||
| 166 | } | 167 | } |
| 167 | 168 | ||
| 168 | void ReinitializeIfNecessary(System& system) { | 169 | void ReinitializeIfNecessary(System& system) { |
| 169 | if (is_multicore == Settings::values.use_multi_core.GetValue()) { | 170 | const bool must_reinitialize = |
| 171 | is_multicore != Settings::values.use_multi_core.GetValue() || | ||
| 172 | extended_memory_layout != Settings::values.use_extended_memory_layout.GetValue(); | ||
| 173 | |||
| 174 | if (!must_reinitialize) { | ||
| 170 | return; | 175 | return; |
| 171 | } | 176 | } |
| 172 | 177 | ||
| 173 | LOG_DEBUG(Kernel, "Re-initializing"); | 178 | LOG_DEBUG(Kernel, "Re-initializing"); |
| 174 | 179 | ||
| 175 | is_multicore = Settings::values.use_multi_core.GetValue(); | 180 | is_multicore = Settings::values.use_multi_core.GetValue(); |
| 181 | extended_memory_layout = Settings::values.use_extended_memory_layout.GetValue(); | ||
| 176 | 182 | ||
| 177 | Initialize(system); | 183 | Initialize(system); |
| 178 | } | 184 | } |
| @@ -521,6 +527,7 @@ struct System::Impl { | |||
| 521 | 527 | ||
| 522 | bool is_multicore{}; | 528 | bool is_multicore{}; |
| 523 | bool is_async_gpu{}; | 529 | bool is_async_gpu{}; |
| 530 | bool extended_memory_layout{}; | ||
| 524 | 531 | ||
| 525 | ExecuteProgramCallback execute_program_callback; | 532 | ExecuteProgramCallback execute_program_callback; |
| 526 | ExitCallback exit_callback; | 533 | ExitCallback exit_callback; |