aboutsummaryrefslogtreecommitdiff
path: root/src/core/core_timing.h
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2020-03-28 15:23:28 -0400
committerFernando Sahmkow <fsahmkow27@gmail.com>2020-06-27 11:36:01 -0400
commitf5e32935ca9d1727624c86ca78aff91027caf819 (patch)
treea041186cd47fcea90880b300af3351a56fb819aa /src/core/core_timing.h
parent9bde28d7b100fdcd1cc50c8f2a4b8c74704f5e34 (diff)
SingleCore: Use Cycle Timing instead of Host Timing.
Diffstat (limited to 'src/core/core_timing.h')
-rw-r--r--src/core/core_timing.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/core/core_timing.h b/src/core/core_timing.h
index 03f9a5c764..ed5de9b97a 100644
--- a/src/core/core_timing.h
+++ b/src/core/core_timing.h
@@ -98,9 +98,15 @@ public:
/// We only permit one event of each type in the queue at a time.
void RemoveEvent(const std::shared_ptr<EventType>& event_type);
- void AddTicks(std::size_t core_index, u64 ticks);
+ void AddTicks(u64 ticks);
- void ResetTicks(std::size_t core_index);
+ void ResetTicks();
+
+ void Idle();
+
+ s64 GetDowncount() const {
+ return downcount;
+ }
/// Returns current time in emulated CPU cycles
u64 GetCPUTicks() const;
@@ -154,7 +160,9 @@ private:
bool is_multicore{};
- std::array<std::atomic<u64>, Core::Hardware::NUM_CPU_CORES> ticks_count{};
+ /// Cycle timing
+ u64 ticks{};
+ s64 downcount{};
};
/// Creates a core timing event with the given name and callback.