| 2595 | #endif |
| 2596 | |
| 2597 | void 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 |
nothing calls this directly
no test coverage detected