diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2020-02-15 18:56:50 +0100 |
---|---|---|
committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2020-06-18 22:29:22 +0200 |
commit | 96b2d8419c94f9bcb5f2f970bbb453aa7383b510 (patch) | |
tree | 9ca96e9c9ad0f85f57d19f89120ae8c1d6cf11e2 /src/core/host_timing.h | |
parent | Core/HostTiming: Allow events to be advanced manually. (diff) | |
download | yuzu-96b2d8419c94f9bcb5f2f970bbb453aa7383b510.tar yuzu-96b2d8419c94f9bcb5f2f970bbb453aa7383b510.tar.gz yuzu-96b2d8419c94f9bcb5f2f970bbb453aa7383b510.tar.bz2 yuzu-96b2d8419c94f9bcb5f2f970bbb453aa7383b510.tar.lz yuzu-96b2d8419c94f9bcb5f2f970bbb453aa7383b510.tar.xz yuzu-96b2d8419c94f9bcb5f2f970bbb453aa7383b510.tar.zst yuzu-96b2d8419c94f9bcb5f2f970bbb453aa7383b510.zip |
Diffstat (limited to 'src/core/host_timing.h')
-rw-r--r-- | src/core/host_timing.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/core/host_timing.h b/src/core/host_timing.h index cd44b308c..5ad8c5f35 100644 --- a/src/core/host_timing.h +++ b/src/core/host_timing.h @@ -4,6 +4,7 @@ #pragma once +#include <atomic> #include <chrono> #include <functional> #include <memory> @@ -18,6 +19,7 @@ #include "common/thread.h" #include "common/threadsafe_queue.h" #include "common/wall_clock.h" +#include "core/hardware_properties.h" namespace Core::HostTiming { @@ -91,6 +93,11 @@ 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 ResetTicks(std::size_t core_index); + /// Returns current time in emulated CPU cycles u64 GetCPUTicks() const; @@ -138,6 +145,8 @@ private: std::atomic<bool> wait_set{}; std::atomic<bool> shutting_down{}; std::atomic<bool> has_started{}; + + std::array<std::atomic<u64>, Core::Hardware::NUM_CPU_CORES> ticks_count{}; }; /// Creates a core timing event with the given name and callback. |