diff options
author | Lioncash <mathew1800@gmail.com> | 2019-04-16 02:17:15 +0200 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2019-04-29 07:37:51 +0200 |
commit | 69a2003a8e904399a84ec9d9573d77cdccb359d2 (patch) | |
tree | 0832deca2738710a7fa397f507288d73471b16cb | |
parent | Merge pull request #2378 from lioncash/ro (diff) | |
download | yuzu-69a2003a8e904399a84ec9d9573d77cdccb359d2.tar yuzu-69a2003a8e904399a84ec9d9573d77cdccb359d2.tar.gz yuzu-69a2003a8e904399a84ec9d9573d77cdccb359d2.tar.bz2 yuzu-69a2003a8e904399a84ec9d9573d77cdccb359d2.tar.lz yuzu-69a2003a8e904399a84ec9d9573d77cdccb359d2.tar.xz yuzu-69a2003a8e904399a84ec9d9573d77cdccb359d2.tar.zst yuzu-69a2003a8e904399a84ec9d9573d77cdccb359d2.zip |
-rw-r--r-- | src/core/hle/kernel/svc.cpp | 2 | ||||
-rw-r--r-- | src/core/hle/kernel/thread.h | 21 |
2 files changed, 16 insertions, 7 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index e5d4d6b55..bb12f9ac7 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp @@ -1776,7 +1776,7 @@ static ResultCode SetThreadCoreMask(Core::System& system, Handle thread_handle, if (core == OnlyChangeMask) { core = thread->GetIdealCore(); - } else if (core >= Core::NUM_CPU_CORES && core != static_cast<u32>(-1)) { + } else if (core >= Core::NUM_CPU_CORES && core != static_cast<u32>(THREADPROCESSORID_DONT_UPDATE)) { LOG_ERROR(Kernel_SVC, "Invalid core specified, got {}", core); return ERR_INVALID_PROCESSOR_ID; } diff --git a/src/core/hle/kernel/thread.h b/src/core/hle/kernel/thread.h index 83c83e45a..c340a801d 100644 --- a/src/core/hle/kernel/thread.h +++ b/src/core/hle/kernel/thread.h @@ -30,12 +30,21 @@ enum ThreadPriority : u32 { }; enum ThreadProcessorId : s32 { - THREADPROCESSORID_IDEAL = -2, ///< Run thread on the ideal core specified by the process. - THREADPROCESSORID_0 = 0, ///< Run thread on core 0 - THREADPROCESSORID_1 = 1, ///< Run thread on core 1 - THREADPROCESSORID_2 = 2, ///< Run thread on core 2 - THREADPROCESSORID_3 = 3, ///< Run thread on core 3 - THREADPROCESSORID_MAX = 4, ///< Processor ID must be less than this + /// Indicates that no particular processor core is preferred. + THREADPROCESSORID_DONT_CARE = -1, + + /// Run thread on the ideal core specified by the process. + THREADPROCESSORID_IDEAL = -2, + + /// Indicates that the preferred processor ID shouldn't be updated in + /// a core mask setting operation. + THREADPROCESSORID_DONT_UPDATE = -3, + + THREADPROCESSORID_0 = 0, ///< Run thread on core 0 + THREADPROCESSORID_1 = 1, ///< Run thread on core 1 + THREADPROCESSORID_2 = 2, ///< Run thread on core 2 + THREADPROCESSORID_3 = 3, ///< Run thread on core 3 + THREADPROCESSORID_MAX = 4, ///< Processor ID must be less than this /// Allowed CPU mask THREADPROCESSORID_DEFAULT_MASK = (1 << THREADPROCESSORID_0) | (1 << THREADPROCESSORID_1) | |