aboutsummaryrefslogtreecommitdiff
path: root/src/common/cpu_features.cpp
diff options
context:
space:
mode:
authorcirakg <cirakg@cirakg.xyz>2026-11-03 21:58:24 +0100
committercirakg <cirakg@cirakg.xyz>2026-11-03 21:58:24 +0100
commitcdfb1ae93444c0aa02dfe592af36d70ab36549fd (patch)
tree2fa8d7062d907d5ab8d85d64c66be87ea4cdf0d1 /src/common/cpu_features.cpp
parent51341ec09b25de1d9b01d0c00ee828dd5b861d5c (diff)
parent4383b9787afbf6c63291bf803c8330afb4f21a16 (diff)
Merge upstream Djihads80/Eglantine nx2 into nx2HEADnx2
# Conflicts: # .github/workflows/release-binaries.yml
Diffstat (limited to 'src/common/cpu_features.cpp')
-rw-r--r--src/common/cpu_features.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/common/cpu_features.cpp b/src/common/cpu_features.cpp
index 93eecb1dc5..c7f6e6f036 100644
--- a/src/common/cpu_features.cpp
+++ b/src/common/cpu_features.cpp
@@ -227,8 +227,10 @@ const CPUCaps g_cpu_caps = [] {
// AMD CPUs have no leaf 0x15 (Zen 4 stops at 0x10): measure their invariant TSC too, or every
// guest clock read (CNTPCT, which games read thousands of times a frame) goes through the
- // host's much slower QueryPerformanceCounter.
- if (caps.invariant_tsc && caps.tsc_frequency == 0) {
+ // host's much slower QueryPerformanceCounter. Intel CPUs that have the leaf but report no
+ // crystal frequency (e.g. Coffee Lake) keep the OS clock: an i5-9400F crashed at launch on the
+ // measured RDTSC clock.
+ if (max_std_fn < 0x15 && caps.invariant_tsc && caps.tsc_frequency == 0) {
caps.tsc_frequency = X64::EstimateRDTSCFrequency();
}