diff options
| author | 2020-04-23 12:58:41 -0400 | |
|---|---|---|
| committer | 2020-06-27 11:36:11 -0400 | |
| commit | 71f1c0f9f9aa92200fbc6c173a3305fcb5a0c85d (patch) | |
| tree | f97dfc365975933a79bd7e06510942270931f9fe /src | |
| parent | Core: Split Microprofile Dynarmic timing per Core (diff) | |
| download | yuzu-71f1c0f9f9aa92200fbc6c173a3305fcb5a0c85d.tar.gz yuzu-71f1c0f9f9aa92200fbc6c173a3305fcb5a0c85d.tar.xz yuzu-71f1c0f9f9aa92200fbc6c173a3305fcb5a0c85d.zip | |
CoreTiming: Correct rebase bugs and other miscellaneous things.
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/core_timing.cpp | 2 | ||||
| -rw-r--r-- | src/tests/core/core_timing.cpp | 10 |
2 files changed, 8 insertions, 4 deletions
diff --git a/src/core/core_timing.cpp b/src/core/core_timing.cpp index 032b29e33..1aa89a1cc 100644 --- a/src/core/core_timing.cpp +++ b/src/core/core_timing.cpp | |||
| @@ -56,6 +56,7 @@ void CoreTiming::ThreadEntry(CoreTiming& instance) { | |||
| 56 | void CoreTiming::Initialize(std::function<void(void)>&& on_thread_init_) { | 56 | void CoreTiming::Initialize(std::function<void(void)>&& on_thread_init_) { |
| 57 | on_thread_init = std::move(on_thread_init_); | 57 | on_thread_init = std::move(on_thread_init_); |
| 58 | event_fifo_id = 0; | 58 | event_fifo_id = 0; |
| 59 | shutting_down = false; | ||
| 59 | ticks = 0; | 60 | ticks = 0; |
| 60 | const auto empty_timed_callback = [](u64, s64) {}; | 61 | const auto empty_timed_callback = [](u64, s64) {}; |
| 61 | ev_lost = CreateEvent("_lost_event", empty_timed_callback); | 62 | ev_lost = CreateEvent("_lost_event", empty_timed_callback); |
| @@ -79,6 +80,7 @@ void CoreTiming::Shutdown() { | |||
| 79 | 80 | ||
| 80 | void CoreTiming::Pause(bool is_paused) { | 81 | void CoreTiming::Pause(bool is_paused) { |
| 81 | paused = is_paused; | 82 | paused = is_paused; |
| 83 | pause_event.Set(); | ||
| 82 | } | 84 | } |
| 83 | 85 | ||
| 84 | void CoreTiming::SyncPause(bool is_paused) { | 86 | void CoreTiming::SyncPause(bool is_paused) { |
diff --git a/src/tests/core/core_timing.cpp b/src/tests/core/core_timing.cpp index 21a5840fb..5aa339731 100644 --- a/src/tests/core/core_timing.cpp +++ b/src/tests/core/core_timing.cpp | |||
| @@ -16,10 +16,10 @@ | |||
| 16 | 16 | ||
| 17 | namespace { | 17 | namespace { |
| 18 | // Numbers are chosen randomly to make sure the correct one is given. | 18 | // Numbers are chosen randomly to make sure the correct one is given. |
| 19 | static constexpr std::array<u64, 5> CB_IDS{{42, 144, 93, 1026, UINT64_C(0xFFFF7FFFF7FFFF)}}; | 19 | constexpr std::array<u64, 5> CB_IDS{{42, 144, 93, 1026, UINT64_C(0xFFFF7FFFF7FFFF)}}; |
| 20 | static constexpr int MAX_SLICE_LENGTH = 10000; // Copied from CoreTiming internals | 20 | constexpr int MAX_SLICE_LENGTH = 10000; // Copied from CoreTiming internals |
| 21 | static constexpr std::array<u64, 5> calls_order{{2, 0, 1, 4, 3}}; | 21 | constexpr std::array<u64, 5> calls_order{{2, 0, 1, 4, 3}}; |
| 22 | static std::array<s64, 5> delays{}; | 22 | std::array<s64, 5> delays{}; |
| 23 | 23 | ||
| 24 | std::bitset<CB_IDS.size()> callbacks_ran_flags; | 24 | std::bitset<CB_IDS.size()> callbacks_ran_flags; |
| 25 | u64 expected_callback = 0; | 25 | u64 expected_callback = 0; |
| @@ -49,6 +49,8 @@ struct ScopeInit final { | |||
| 49 | Core::Timing::CoreTiming core_timing; | 49 | Core::Timing::CoreTiming core_timing; |
| 50 | }; | 50 | }; |
| 51 | 51 | ||
| 52 | } // Anonymous namespace | ||
| 53 | |||
| 52 | TEST_CASE("CoreTiming[BasicOrder]", "[core]") { | 54 | TEST_CASE("CoreTiming[BasicOrder]", "[core]") { |
| 53 | ScopeInit guard; | 55 | ScopeInit guard; |
| 54 | auto& core_timing = guard.core_timing; | 56 | auto& core_timing = guard.core_timing; |