aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2020-04-02 13:27:08 -0400
committerFernando Sahmkow <fsahmkow27@gmail.com>2020-06-27 11:36:07 -0400
commitafb6d31c02e7a421a568007cb6c534fe69b9ee4e (patch)
tree6fec4aae569ef4ced64d1a1e52058975d2b9ca9b
parent9f7adff3d3872e480fdecc72a01be7952a34fb7f (diff)
CoreTiming/CycleTimer: Correct Idling.
-rw-r--r--src/core/core_timing.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core/core_timing.cpp b/src/core/core_timing.cpp
index 12e9e60a4a..b02119494e 100644
--- a/src/core/core_timing.cpp
+++ b/src/core/core_timing.cpp
@@ -136,8 +136,11 @@ void CoreTiming::AddTicks(u64 ticks) {
void CoreTiming::Idle() {
if (!event_queue.empty()) {
- u64 next_event_time = event_queue.front().time;
- ticks = nsToCycles(std::chrono::nanoseconds(next_event_time)) + 10U;
+ const u64 next_event_time = event_queue.front().time;
+ const u64 next_ticks = nsToCycles(std::chrono::nanoseconds(next_event_time)) + 10U;
+ if (next_ticks > ticks) {
+ ticks = next_ticks;
+ }
return;
}
ticks += 1000U;