MCPcopy Create free account
hub / github.com/PCSX2/pcsx2 / LogCPUCapabilities

Method LogCPUCapabilities

pcsx2/VMManager.cpp:2597–2658  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2595#endif
2596
2597void VMManager::LogCPUCapabilities()
2598{
2599 Console.WriteLn(Color_StrongGreen, "PCSX2 %s", BuildVersion::GitRev);
2600 Console.WriteLnFmt("Savestate version: 0x{:x}\n", g_SaveVersion);
2601 Console.WriteLn();
2602
2603 Console.WriteLn(Color_StrongBlack, "Host Machine Init:");
2604
2605 Console.WriteLnFmt(
2606 " Operating System = {}\n"
2607 " Available RAM = {} MB ({:.2f} GB)\n"
2608 " Physical RAM = {} MB ({:.2f} GB)\n",
2609 GetOSVersionString(),
2610 GetAvailablePhysicalMemory() / _1mb,
2611 static_cast<double>(GetAvailablePhysicalMemory()) / static_cast<double>(_1gb),
2612 GetPhysicalMemory() / _1mb,
2613 static_cast<double>(GetPhysicalMemory()) / static_cast<double>(_1gb));
2614
2615 const CPUInfo& cpuinfo = GetCPUInfo();
2616 Console.WriteLnFmt(" Processor = {}", cpuinfo.name);
2617 Console.WriteLnFmt(" Core Count = {} cores", cpuinfo.num_big_cores + cpuinfo.num_small_cores);
2618 Console.WriteLnFmt(" Thread Count = {} threads", cpuinfo.num_threads);
2619 Console.WriteLnFmt(" Cluster Count = {} clusters", cpuinfo.num_clusters);
2620#ifdef _WIN32
2621 LogUserPowerPlan();
2622#endif
2623
2624#ifdef ARCH_X86
2625 std::string extensions;
2626 if (g_cpu.vectorISA >= ProcessorFeatures::VectorISA::AVX)
2627 extensions += "AVX ";
2628 if (g_cpu.vectorISA >= ProcessorFeatures::VectorISA::AVX2)
2629 extensions += "AVX2 ";
2630 if (g_cpu.vectorISA >= ProcessorFeatures::VectorISA::AVX512F)
2631 extensions += "AVX512F ";
2632#ifdef ARCH_ARM64
2633 if (cpuinfo_has_arm_neon())
2634 extensions += "NEON ";
2635#endif
2636
2637 StringUtil::StripWhitespace(&extensions);
2638
2639 Console.WriteLn(Color_StrongBlack, "CPU Extensions Detected:");
2640 Console.WriteLnFmt(" {}", extensions);
2641 Console.WriteLn();
2642#endif
2643
2644#ifdef ARCH_ARM64
2645 const size_t runtime_cache_line_size = HostSys::GetRuntimeCacheLineSize();
2646 if (__cachelinesize != runtime_cache_line_size)
2647 {
2648 // Not fatal, but does have performance implications.
2649 WARNING_LOG(
2650 "Cache line size mismatch. This build was compiled with {} byte lines, but the system has {} byte lines.",
2651 __cachelinesize, runtime_cache_line_size);
2652 }
2653#endif
2654

Callers

nothing calls this directly

Calls 9

LogUserPowerPlanFunction · 0.85
cpuinfo_has_arm_neonFunction · 0.85
StripWhitespaceFunction · 0.85
LogGPUCapabilitiesFunction · 0.85
GetOSVersionStringFunction · 0.50
GetPhysicalMemoryFunction · 0.50
WriteLnMethod · 0.45
WriteLnFmtMethod · 0.45

Tested by

no test coverage detected