diff --git a/src/xenia/base/threading.cc b/src/xenia/base/threading.cc index 40d89a6c0..98c91715e 100644 --- a/src/xenia/base/threading.cc +++ b/src/xenia/base/threading.cc @@ -12,6 +12,14 @@ namespace xe { namespace threading { +uint32_t logical_processor_count() { + static uint32_t value = 0; + if (!value) { + value = std::thread::hardware_concurrency(); + } + return value; +} + thread_local uint32_t current_thread_id_ = UINT_MAX; uint32_t current_thread_id() { diff --git a/src/xenia/base/threading_win.cc b/src/xenia/base/threading_win.cc index d36ee76e1..4381db8cb 100644 --- a/src/xenia/base/threading_win.cc +++ b/src/xenia/base/threading_win.cc @@ -16,16 +16,6 @@ namespace xe { namespace threading { -uint32_t logical_processor_count() { - static uint32_t value = 0; - if (!value) { - SYSTEM_INFO system_info; - GetSystemInfo(&system_info); - value = system_info.dwNumberOfProcessors; - } - return value; -} - void EnableAffinityConfiguration() { HANDLE process_handle = GetCurrentProcess(); DWORD_PTR process_affinity_mask;