diff options
| author | bunnei <bunneidev@gmail.com> | 2019-03-16 21:58:59 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-03-16 21:58:59 -0400 |
| commit | 059465d496df3ccf6681e8a1d5aee4be3cc0b7e7 (patch) | |
| tree | d4fb745d01e5c351a4c6646fb886c84cab5e5afe /src/core/core_timing_util.cpp | |
| parent | 29c242721a420c75e181f5a1ac583da14e9af769 (diff) | |
| parent | a8d4927e29bb1acbf5f3267f368801847acd4222 (diff) | |
Merge pull request #2129 from FernandoS27/cntpct
Correct CNTPCT from using CPU Cycles to using Clock Cycles
Diffstat (limited to 'src/core/core_timing_util.cpp')
| -rw-r--r-- | src/core/core_timing_util.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/core/core_timing_util.cpp b/src/core/core_timing_util.cpp index 88ff70233..7942f30d6 100644 --- a/src/core/core_timing_util.cpp +++ b/src/core/core_timing_util.cpp @@ -7,6 +7,7 @@ #include <cinttypes> #include <limits> #include "common/logging/log.h" +#include "common/uint128.h" namespace Core::Timing { @@ -60,4 +61,9 @@ s64 nsToCycles(u64 ns) { return (BASE_CLOCK_RATE * static_cast<s64>(ns)) / 1000000000; } +u64 CpuCyclesToClockCycles(u64 ticks) { + const u128 temporal = Common::Multiply64Into128(ticks, CNTFREQ); + return Common::Divide128On32(temporal, static_cast<u32>(BASE_CLOCK_RATE)).first; +} + } // namespace Core::Timing |
