mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-11-22 02:32:36 +01:00
Fix minor issue with usage of STL thread::hardware_concurrency()
This commit is contained in:
parent
11ba6e45ab
commit
d3bc96a201
@ -2518,7 +2518,7 @@ u64 thread_ctrl::get_affinity_mask(thread_class group)
|
||||
{
|
||||
detect_cpu_layout();
|
||||
|
||||
if (const auto thread_count = std::thread::hardware_concurrency())
|
||||
if (const auto thread_count = utils::get_thread_count())
|
||||
{
|
||||
const u64 all_cores_mask = process_affinity_mask;
|
||||
|
||||
|
@ -2344,7 +2344,7 @@ extern void ppu_initialize(const ppu_module& info)
|
||||
|
||||
static s32 limit()
|
||||
{
|
||||
return static_cast<s32>(std::thread::hardware_concurrency());
|
||||
return static_cast<s32>(utils::get_thread_count());
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -9035,7 +9035,7 @@ struct spu_llvm
|
||||
|
||||
u32 worker_count = 1;
|
||||
|
||||
if (uint hc = std::thread::hardware_concurrency(); hc >= 12)
|
||||
if (uint hc = utils::get_thread_count(); hc >= 12)
|
||||
{
|
||||
worker_count = hc - 10;
|
||||
}
|
||||
|
@ -4,6 +4,8 @@
|
||||
|
||||
#include <thread>
|
||||
|
||||
#include "util/sysinfo.hpp"
|
||||
|
||||
namespace gl
|
||||
{
|
||||
// Global list of worker threads
|
||||
@ -97,7 +99,7 @@ namespace gl
|
||||
if (num_worker_threads == 0)
|
||||
{
|
||||
// Select optimal number of compiler threads
|
||||
const auto hw_threads = std::thread::hardware_concurrency();
|
||||
const auto hw_threads = utils::get_thread_count();
|
||||
if (hw_threads > 12)
|
||||
{
|
||||
num_worker_threads = 6;
|
||||
|
@ -6,6 +6,8 @@
|
||||
|
||||
#include <thread>
|
||||
|
||||
#include "util/sysinfo.hpp"
|
||||
|
||||
namespace vk
|
||||
{
|
||||
// Global list of worker threads
|
||||
@ -186,7 +188,7 @@ namespace vk
|
||||
if (num_worker_threads == 0)
|
||||
{
|
||||
// Select optimal number of compiler threads
|
||||
const auto hw_threads = std::thread::hardware_concurrency();
|
||||
const auto hw_threads = utils::get_thread_count();
|
||||
if (hw_threads > 12)
|
||||
{
|
||||
num_worker_threads = 6;
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include <unordered_map>
|
||||
|
||||
#include "util/vm.hpp"
|
||||
#include "util/sysinfo.hpp"
|
||||
|
||||
namespace rsx
|
||||
{
|
||||
@ -628,7 +629,7 @@ namespace rsx
|
||||
|
||||
// Preload everything needed to compile the shaders
|
||||
unpacked_type unpacked;
|
||||
uint nb_workers = g_cfg.video.renderer == video_renderer::vulkan ? std::thread::hardware_concurrency() : 1;
|
||||
uint nb_workers = g_cfg.video.renderer == video_renderer::vulkan ? utils::get_thread_count() : 1;
|
||||
|
||||
load_shaders(nb_workers, unpacked, directory_path, entries, entry_count, dlg);
|
||||
|
||||
|
@ -1931,7 +1931,8 @@ std::string Emulator::GetFormattedTitle(double fps) const
|
||||
u32 Emulator::GetMaxThreads() const
|
||||
{
|
||||
const u32 max_threads = static_cast<u32>(g_cfg.core.llvm_threads);
|
||||
const u32 thread_count = max_threads > 0 ? std::min(max_threads, std::thread::hardware_concurrency()) : std::thread::hardware_concurrency();
|
||||
const u32 hw_threads = utils::get_thread_count();
|
||||
const u32 thread_count = max_threads > 0 ? std::min(max_threads, hw_threads) : hw_threads;
|
||||
return thread_count;
|
||||
}
|
||||
|
||||
|
@ -1145,9 +1145,9 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> gui_settings, std
|
||||
|
||||
// Comboboxes
|
||||
|
||||
m_emu_settings->EnhanceComboBox(ui->maxLLVMThreads, emu_settings_type::MaxLLVMThreads, true, true, std::thread::hardware_concurrency());
|
||||
m_emu_settings->EnhanceComboBox(ui->maxLLVMThreads, emu_settings_type::MaxLLVMThreads, true, true, utils::get_thread_count());
|
||||
SubscribeTooltip(ui->gb_max_llvm, tooltips.settings.max_llvm_threads);
|
||||
ui->maxLLVMThreads->setItemText(ui->maxLLVMThreads->findData(0), tr("All (%1)", "Max LLVM threads").arg(std::thread::hardware_concurrency()));
|
||||
ui->maxLLVMThreads->setItemText(ui->maxLLVMThreads->findData(0), tr("All (%1)", "Max LLVM threads").arg(utils::get_thread_count()));
|
||||
|
||||
m_emu_settings->EnhanceComboBox(ui->perfOverlayDetailLevel, emu_settings_type::PerfOverlayDetailLevel);
|
||||
SubscribeTooltip(ui->perf_overlay_detail_level, tooltips.settings.perf_overlay_detail_level);
|
||||
|
@ -409,13 +409,18 @@ u64 utils::get_total_memory()
|
||||
|
||||
u32 utils::get_thread_count()
|
||||
{
|
||||
static const u32 g_count = []()
|
||||
{
|
||||
#ifdef _WIN32
|
||||
::SYSTEM_INFO sysInfo;
|
||||
::GetNativeSystemInfo(&sysInfo);
|
||||
return sysInfo.dwNumberOfProcessors;
|
||||
::SYSTEM_INFO sysInfo;
|
||||
::GetNativeSystemInfo(&sysInfo);
|
||||
return sysInfo.dwNumberOfProcessors;
|
||||
#else
|
||||
return ::sysconf(_SC_NPROCESSORS_ONLN);
|
||||
return ::sysconf(_SC_NPROCESSORS_ONLN);
|
||||
#endif
|
||||
}();
|
||||
|
||||
return g_count;
|
||||
}
|
||||
|
||||
u32 utils::get_cpu_family()
|
||||
|
Loading…
Reference in New Issue
Block a user