diff options
author | bunnei <bunneidev@gmail.com> | 2020-08-24 23:58:41 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-24 23:58:41 +0200 |
commit | 6fd3a1bf85f9aa2a8e0873495801b295efedd3fe (patch) | |
tree | 42914ee1f144fe980f833e57bd0f3d8f8e3ab978 | |
parent | Merge pull request #4573 from lioncash/label (diff) | |
parent | cpu_manager: Make use of ranged for where applicable (diff) | |
download | yuzu-6fd3a1bf85f9aa2a8e0873495801b295efedd3fe.tar yuzu-6fd3a1bf85f9aa2a8e0873495801b295efedd3fe.tar.gz yuzu-6fd3a1bf85f9aa2a8e0873495801b295efedd3fe.tar.bz2 yuzu-6fd3a1bf85f9aa2a8e0873495801b295efedd3fe.tar.lz yuzu-6fd3a1bf85f9aa2a8e0873495801b295efedd3fe.tar.xz yuzu-6fd3a1bf85f9aa2a8e0873495801b295efedd3fe.tar.zst yuzu-6fd3a1bf85f9aa2a8e0873495801b295efedd3fe.zip |
-rw-r--r-- | src/core/cpu_manager.cpp | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/src/core/cpu_manager.cpp b/src/core/cpu_manager.cpp index 358943429..ef0bae556 100644 --- a/src/core/cpu_manager.cpp +++ b/src/core/cpu_manager.cpp @@ -41,9 +41,9 @@ void CpuManager::Shutdown() { running_mode = false; Pause(false); if (is_multicore) { - for (std::size_t core = 0; core < Core::Hardware::NUM_CPU_CORES; core++) { - core_data[core].host_thread->join(); - core_data[core].host_thread.reset(); + for (auto& data : core_data) { + data.host_thread->join(); + data.host_thread.reset(); } } else { core_data[0].host_thread->join(); @@ -166,25 +166,23 @@ void CpuManager::MultiCorePause(bool paused) { bool all_not_barrier = false; while (!all_not_barrier) { all_not_barrier = true; - for (std::size_t core = 0; core < Core::Hardware::NUM_CPU_CORES; core++) { - all_not_barrier &= - !core_data[core].is_running.load() && core_data[core].initialized.load(); + for (const auto& data : core_data) { + all_not_barrier &= !data.is_running.load() && data.initialized.load(); } } - for (std::size_t core = 0; core < Core::Hardware::NUM_CPU_CORES; core++) { - core_data[core].enter_barrier->Set(); + for (auto& data : core_data) { + data.enter_barrier->Set(); } if (paused_state.load()) { bool all_barrier = false; while (!all_barrier) { all_barrier = true; - for (std::size_t core = 0; core < Core::Hardware::NUM_CPU_CORES; core++) { - all_barrier &= - core_data[core].is_paused.load() && core_data[core].initialized.load(); + for (const auto& data : core_data) { + all_barrier &= data.is_paused.load() && data.initialized.load(); } } - for (std::size_t core = 0; core < Core::Hardware::NUM_CPU_CORES; core++) { - core_data[core].exit_barrier->Set(); + for (auto& data : core_data) { + data.exit_barrier->Set(); } } } else { @@ -192,9 +190,8 @@ void CpuManager::MultiCorePause(bool paused) { bool all_barrier = false; while (!all_barrier) { all_barrier = true; - for (std::size_t core = 0; core < Core::Hardware::NUM_CPU_CORES; core++) { - all_barrier &= - core_data[core].is_paused.load() && core_data[core].initialized.load(); + for (const auto& data : core_data) { + all_barrier &= data.is_paused.load() && data.initialized.load(); } } /// Don't release the barrier |