diff options
author | bunnei <bunneidev@gmail.com> | 2021-08-14 11:14:19 +0200 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2021-08-14 11:14:19 +0200 |
commit | aef0ca6f0d422623f46f47c15e9a4c9b5fd04dd0 (patch) | |
tree | f82819f5b1470345ea3aab20ba18eba67afe63e5 /src/core/hle/kernel/k_thread.h | |
parent | core: hle: kernel: k_thread: Mark KScopedDisableDispatch as nodiscard. (diff) | |
download | yuzu-aef0ca6f0d422623f46f47c15e9a4c9b5fd04dd0.tar yuzu-aef0ca6f0d422623f46f47c15e9a4c9b5fd04dd0.tar.gz yuzu-aef0ca6f0d422623f46f47c15e9a4c9b5fd04dd0.tar.bz2 yuzu-aef0ca6f0d422623f46f47c15e9a4c9b5fd04dd0.tar.lz yuzu-aef0ca6f0d422623f46f47c15e9a4c9b5fd04dd0.tar.xz yuzu-aef0ca6f0d422623f46f47c15e9a4c9b5fd04dd0.tar.zst yuzu-aef0ca6f0d422623f46f47c15e9a4c9b5fd04dd0.zip |
Diffstat (limited to 'src/core/hle/kernel/k_thread.h')
-rw-r--r-- | src/core/hle/kernel/k_thread.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/core/hle/kernel/k_thread.h b/src/core/hle/kernel/k_thread.h index 8bbf66c52..e4c4c877d 100644 --- a/src/core/hle/kernel/k_thread.h +++ b/src/core/hle/kernel/k_thread.h @@ -454,8 +454,12 @@ public: return GetActiveCore() == 3; } + [[nodiscard]] bool IsDispatchTrackingDisabled() const { + return is_single_core || IsKernelThread(); + } + [[nodiscard]] s32 GetDisableDispatchCount() const { - if (IsKernelThread()) { + if (IsDispatchTrackingDisabled()) { // TODO(bunnei): Until kernel threads are emulated, we cannot enable/disable dispatch. return 1; } @@ -464,7 +468,7 @@ public: } void DisableDispatch() { - if (IsKernelThread()) { + if (IsDispatchTrackingDisabled()) { // TODO(bunnei): Until kernel threads are emulated, we cannot enable/disable dispatch. return; } @@ -474,7 +478,7 @@ public: } void EnableDispatch() { - if (IsKernelThread()) { + if (IsDispatchTrackingDisabled()) { // TODO(bunnei): Until kernel threads are emulated, we cannot enable/disable dispatch. return; } @@ -727,6 +731,7 @@ private: // For emulation std::shared_ptr<Common::Fiber> host_context{}; + bool is_single_core{}; // For debugging std::vector<KSynchronizationObject*> wait_objects_for_debugging; |