summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2020-02-10 14:45:08 -0400
committerGravatar Fernando Sahmkow2020-06-18 16:29:21 -0400
commit1f7dd36499786d373b143a4437d4c32e077a32aa (patch)
tree26d21b113d85c6630f3ff67f7affc7c1b6f508a5 /src/core
parentCommon: Make MinGW build use Windows Fibers instead of fcontext_t (diff)
downloadyuzu-1f7dd36499786d373b143a4437d4c32e077a32aa.tar.gz
yuzu-1f7dd36499786d373b143a4437d4c32e077a32aa.tar.xz
yuzu-1f7dd36499786d373b143a4437d4c32e077a32aa.zip
Common/Tests: Address Feedback
Diffstat (limited to 'src/core')
-rw-r--r--src/core/core_timing_util.cpp14
-rw-r--r--src/core/core_timing_util.h2
-rw-r--r--src/core/host_timing.cpp4
-rw-r--r--src/core/host_timing.h6
4 files changed, 19 insertions, 7 deletions
diff --git a/src/core/core_timing_util.cpp b/src/core/core_timing_util.cpp
index f42666b4d..be34b26fe 100644
--- a/src/core/core_timing_util.cpp
+++ b/src/core/core_timing_util.cpp
@@ -49,9 +49,19 @@ s64 nsToCycles(std::chrono::nanoseconds ns) {
49 return (Hardware::BASE_CLOCK_RATE * ns.count()) / 1000000000; 49 return (Hardware::BASE_CLOCK_RATE * ns.count()) / 1000000000;
50} 50}
51 51
52u64 msToClockCycles(std::chrono::milliseconds ns) {
53 const u128 temp = Common::Multiply64Into128(ns.count(), Hardware::CNTFREQ);
54 return Common::Divide128On32(temp, 1000).first;
55}
56
57u64 usToClockCycles(std::chrono::microseconds ns) {
58 const u128 temp = Common::Multiply64Into128(ns.count(), Hardware::CNTFREQ);
59 return Common::Divide128On32(temp, 1000000).first;
60}
61
52u64 nsToClockCycles(std::chrono::nanoseconds ns) { 62u64 nsToClockCycles(std::chrono::nanoseconds ns) {
53 const u128 temporal = Common::Multiply64Into128(ns.count(), CNTFREQ); 63 const u128 temp = Common::Multiply64Into128(ns.count(), Hardware::CNTFREQ);
54 return Common::Divide128On32(temporal, 1000000000).first; 64 return Common::Divide128On32(temp, 1000000000).first;
55} 65}
56 66
57u64 CpuCyclesToClockCycles(u64 ticks) { 67u64 CpuCyclesToClockCycles(u64 ticks) {
diff --git a/src/core/core_timing_util.h b/src/core/core_timing_util.h
index 65fb7368b..b3c58447d 100644
--- a/src/core/core_timing_util.h
+++ b/src/core/core_timing_util.h
@@ -13,6 +13,8 @@ namespace Core::Timing {
13s64 msToCycles(std::chrono::milliseconds ms); 13s64 msToCycles(std::chrono::milliseconds ms);
14s64 usToCycles(std::chrono::microseconds us); 14s64 usToCycles(std::chrono::microseconds us);
15s64 nsToCycles(std::chrono::nanoseconds ns); 15s64 nsToCycles(std::chrono::nanoseconds ns);
16u64 msToClockCycles(std::chrono::milliseconds ns);
17u64 usToClockCycles(std::chrono::microseconds ns);
16u64 nsToClockCycles(std::chrono::nanoseconds ns); 18u64 nsToClockCycles(std::chrono::nanoseconds ns);
17 19
18inline std::chrono::milliseconds CyclesToMs(s64 cycles) { 20inline std::chrono::milliseconds CyclesToMs(s64 cycles) {
diff --git a/src/core/host_timing.cpp b/src/core/host_timing.cpp
index c734a118e..be80d9f8e 100644
--- a/src/core/host_timing.cpp
+++ b/src/core/host_timing.cpp
@@ -76,11 +76,11 @@ void CoreTiming::SyncPause(bool is_paused) {
76 ; 76 ;
77} 77}
78 78
79bool CoreTiming::IsRunning() { 79bool CoreTiming::IsRunning() const {
80 return !paused_set; 80 return !paused_set;
81} 81}
82 82
83bool CoreTiming::HasPendingEvents() { 83bool CoreTiming::HasPendingEvents() const {
84 return !(wait_set && event_queue.empty()); 84 return !(wait_set && event_queue.empty());
85} 85}
86 86
diff --git a/src/core/host_timing.h b/src/core/host_timing.h
index 15a150904..679fcf491 100644
--- a/src/core/host_timing.h
+++ b/src/core/host_timing.h
@@ -72,15 +72,15 @@ public:
72 void SyncPause(bool is_paused); 72 void SyncPause(bool is_paused);
73 73
74 /// Checks if core timing is running. 74 /// Checks if core timing is running.
75 bool IsRunning(); 75 bool IsRunning() const;
76 76
77 /// Checks if the timer thread has started. 77 /// Checks if the timer thread has started.
78 bool HasStarted() { 78 bool HasStarted() const {
79 return has_started; 79 return has_started;
80 } 80 }
81 81
82 /// Checks if there are any pending time events. 82 /// Checks if there are any pending time events.
83 bool HasPendingEvents(); 83 bool HasPendingEvents() const;
84 84
85 /// Schedules an event in core timing 85 /// Schedules an event in core timing
86 void ScheduleEvent(s64 ns_into_future, const std::shared_ptr<EventType>& event_type, 86 void ScheduleEvent(s64 ns_into_future, const std::shared_ptr<EventType>& event_type,