summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2020-04-23 12:58:41 -0400
committerGravatar Fernando Sahmkow2020-06-27 11:36:11 -0400
commit71f1c0f9f9aa92200fbc6c173a3305fcb5a0c85d (patch)
treef97dfc365975933a79bd7e06510942270931f9fe /src
parentCore: Split Microprofile Dynarmic timing per Core (diff)
downloadyuzu-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.cpp2
-rw-r--r--src/tests/core/core_timing.cpp10
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) {
56void CoreTiming::Initialize(std::function<void(void)>&& on_thread_init_) { 56void 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
80void CoreTiming::Pause(bool is_paused) { 81void CoreTiming::Pause(bool is_paused) {
81 paused = is_paused; 82 paused = is_paused;
83 pause_event.Set();
82} 84}
83 85
84void CoreTiming::SyncPause(bool is_paused) { 86void 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
17namespace { 17namespace {
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.
19static constexpr std::array<u64, 5> CB_IDS{{42, 144, 93, 1026, UINT64_C(0xFFFF7FFFF7FFFF)}}; 19constexpr std::array<u64, 5> CB_IDS{{42, 144, 93, 1026, UINT64_C(0xFFFF7FFFF7FFFF)}};
20static constexpr int MAX_SLICE_LENGTH = 10000; // Copied from CoreTiming internals 20constexpr int MAX_SLICE_LENGTH = 10000; // Copied from CoreTiming internals
21static constexpr std::array<u64, 5> calls_order{{2, 0, 1, 4, 3}}; 21constexpr std::array<u64, 5> calls_order{{2, 0, 1, 4, 3}};
22static std::array<s64, 5> delays{}; 22std::array<s64, 5> delays{};
23 23
24std::bitset<CB_IDS.size()> callbacks_ran_flags; 24std::bitset<CB_IDS.size()> callbacks_ran_flags;
25u64 expected_callback = 0; 25u64 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
52TEST_CASE("CoreTiming[BasicOrder]", "[core]") { 54TEST_CASE("CoreTiming[BasicOrder]", "[core]") {
53 ScopeInit guard; 55 ScopeInit guard;
54 auto& core_timing = guard.core_timing; 56 auto& core_timing = guard.core_timing;