summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2020-05-29 17:37:37 -0400
committerGravatar Fernando Sahmkow2020-06-27 11:36:21 -0400
commit7fd7d05838b88e9dd63a7329e29ea355669a5f18 (patch)
tree083e938c7a3a82be30050fb990fe2d62c4aeee57 /src
parentServices/NvFlinger: Do vSync in a sepparate thread on Multicore. (diff)
downloadyuzu-7fd7d05838b88e9dd63a7329e29ea355669a5f18.tar.gz
yuzu-7fd7d05838b88e9dd63a7329e29ea355669a5f18.tar.xz
yuzu-7fd7d05838b88e9dd63a7329e29ea355669a5f18.zip
Common/Kernel: Corrections and small bug fixing.
Diffstat (limited to '')
-rw-r--r--src/common/wall_clock.cpp7
-rw-r--r--src/core/hle/kernel/svc.cpp4
2 files changed, 3 insertions, 8 deletions
diff --git a/src/common/wall_clock.cpp b/src/common/wall_clock.cpp
index a46db6bbf..3afbdb898 100644
--- a/src/common/wall_clock.cpp
+++ b/src/common/wall_clock.cpp
@@ -68,12 +68,7 @@ std::unique_ptr<WallClock> CreateBestMatchingClock(u32 emulated_cpu_frequency,
68 const auto& caps = GetCPUCaps(); 68 const auto& caps = GetCPUCaps();
69 u64 rtsc_frequency = 0; 69 u64 rtsc_frequency = 0;
70 if (caps.invariant_tsc) { 70 if (caps.invariant_tsc) {
71 if (caps.base_frequency != 0) { 71 rtsc_frequency = EstimateRDTSCFrequency();
72 rtsc_frequency = static_cast<u64>(caps.base_frequency) * 1000000U;
73 }
74 if (rtsc_frequency == 0) {
75 rtsc_frequency = EstimateRDTSCFrequency();
76 }
77 } 72 }
78 if (rtsc_frequency == 0) { 73 if (rtsc_frequency == 0) {
79 return std::make_unique<StandardWallClock>(emulated_cpu_frequency, 74 return std::make_unique<StandardWallClock>(emulated_cpu_frequency,
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp
index 781032cd1..013ae9e34 100644
--- a/src/core/hle/kernel/svc.cpp
+++ b/src/core/hle/kernel/svc.cpp
@@ -344,9 +344,9 @@ static ResultCode SendSyncRequest(Core::System& system, Handle handle) {
344 SchedulerLock lock(system.Kernel()); 344 SchedulerLock lock(system.Kernel());
345 auto* sync_object = thread->GetHLESyncObject(); 345 auto* sync_object = thread->GetHLESyncObject();
346 sync_object->RemoveWaitingThread(SharedFrom(thread)); 346 sync_object->RemoveWaitingThread(SharedFrom(thread));
347
348 thread->InvokeHLECallback(SharedFrom(thread));
349 } 347 }
348
349 thread->InvokeHLECallback(SharedFrom(thread));
350 } 350 }
351 351
352 return thread->GetSignalingResult(); 352 return thread->GetSignalingResult();