summaryrefslogtreecommitdiff
path: root/src/common/wall_clock.cpp
diff options
context:
space:
mode:
authorGravatar Marshall Mohror2022-07-06 12:42:01 -0500
committerGravatar Marshall Mohror2022-07-06 12:42:01 -0500
commitb2ad4dd189135be9a87af86619d6f5854525f7fa (patch)
treed290710b8975e063db7c38ef497e46cfdc71301f /src/common/wall_clock.cpp
parentMerge pull request #8486 from liushuyu/github-actions-verify (diff)
downloadyuzu-b2ad4dd189135be9a87af86619d6f5854525f7fa.tar.gz
yuzu-b2ad4dd189135be9a87af86619d6f5854525f7fa.tar.xz
yuzu-b2ad4dd189135be9a87af86619d6f5854525f7fa.zip
common/x64: Use TSC clock rate from CPUID when available
The current method used to estimate the TSC is fairly accurate - within a few kHz - but the exact value can be extracted from CPUID if available.
Diffstat (limited to 'src/common/wall_clock.cpp')
-rw-r--r--src/common/wall_clock.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/common/wall_clock.cpp b/src/common/wall_clock.cpp
index b4fb3a59f..ae07f2811 100644
--- a/src/common/wall_clock.cpp
+++ b/src/common/wall_clock.cpp
@@ -67,7 +67,7 @@ std::unique_ptr<WallClock> CreateBestMatchingClock(u64 emulated_cpu_frequency,
67 const auto& caps = GetCPUCaps(); 67 const auto& caps = GetCPUCaps();
68 u64 rtsc_frequency = 0; 68 u64 rtsc_frequency = 0;
69 if (caps.invariant_tsc) { 69 if (caps.invariant_tsc) {
70 rtsc_frequency = EstimateRDTSCFrequency(); 70 rtsc_frequency = caps.tsc_frequency ? caps.tsc_frequency : EstimateRDTSCFrequency();
71 } 71 }
72 72
73 // Fallback to StandardWallClock if the hardware TSC does not have the precision greater than: 73 // Fallback to StandardWallClock if the hardware TSC does not have the precision greater than: