summaryrefslogtreecommitdiffstats
path: root/src/core/core_timing_util.cpp
diff options
context:
space:
mode:
authorDavid <25727384+ogniK5377@users.noreply.github.com>2020-06-27 17:34:07 +0200
committerGitHub <noreply@github.com>2020-06-27 17:34:07 +0200
commit0ea4a8bcc4bca14bb7c65b248ed1899d2e7167cf (patch)
treea83acb1e779b98d31fa54389bae4be5669573a41 /src/core/core_timing_util.cpp
parentMerge pull request #4097 from kevinxucs/kevinxucs/device-pixel-scaling-float (diff)
parentCommon: Fix non-conan build (diff)
downloadyuzu-0ea4a8bcc4bca14bb7c65b248ed1899d2e7167cf.tar
yuzu-0ea4a8bcc4bca14bb7c65b248ed1899d2e7167cf.tar.gz
yuzu-0ea4a8bcc4bca14bb7c65b248ed1899d2e7167cf.tar.bz2
yuzu-0ea4a8bcc4bca14bb7c65b248ed1899d2e7167cf.tar.lz
yuzu-0ea4a8bcc4bca14bb7c65b248ed1899d2e7167cf.tar.xz
yuzu-0ea4a8bcc4bca14bb7c65b248ed1899d2e7167cf.tar.zst
yuzu-0ea4a8bcc4bca14bb7c65b248ed1899d2e7167cf.zip
Diffstat (limited to 'src/core/core_timing_util.cpp')
-rw-r--r--src/core/core_timing_util.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/core/core_timing_util.cpp b/src/core/core_timing_util.cpp
index de50d3b14..be34b26fe 100644
--- a/src/core/core_timing_util.cpp
+++ b/src/core/core_timing_util.cpp
@@ -49,6 +49,21 @@ s64 nsToCycles(std::chrono::nanoseconds ns) {
return (Hardware::BASE_CLOCK_RATE * ns.count()) / 1000000000;
}
+u64 msToClockCycles(std::chrono::milliseconds ns) {
+ const u128 temp = Common::Multiply64Into128(ns.count(), Hardware::CNTFREQ);
+ return Common::Divide128On32(temp, 1000).first;
+}
+
+u64 usToClockCycles(std::chrono::microseconds ns) {
+ const u128 temp = Common::Multiply64Into128(ns.count(), Hardware::CNTFREQ);
+ return Common::Divide128On32(temp, 1000000).first;
+}
+
+u64 nsToClockCycles(std::chrono::nanoseconds ns) {
+ const u128 temp = Common::Multiply64Into128(ns.count(), Hardware::CNTFREQ);
+ return Common::Divide128On32(temp, 1000000000).first;
+}
+
u64 CpuCyclesToClockCycles(u64 ticks) {
const u128 temporal = Common::Multiply64Into128(ticks, Hardware::CNTFREQ);
return Common::Divide128On32(temporal, static_cast<u32>(Hardware::BASE_CLOCK_RATE)).first;