summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorVlad Firoiu <vladfi2@gmail.com>2026-04-30 18:26:38 -0400
committerVlad Firoiu <vladfi2@gmail.com>2026-05-06 15:57:03 -0400
commit20718de37e7a109db046a2f0663f90cf6b45f0e8 (patch)
treed74fd006df4c3724d7295e744e974b782214a1ae /Source/Core
parent1907ffa45db050da0a9c9091a09a5fc9e71d6172 (diff)
Unconditionally lock in ControllerInterface::UpdateInput.
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp10
1 files changed, 2 insertions, 8 deletions
diff --git a/Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp b/Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp
index 9dd8cdb6a9..20fd517b2d 100644
--- a/Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp
+++ b/Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp
@@ -319,7 +319,7 @@ void ControllerInterface::RemoveDevice(std::function<bool(const ciface::Core::De
InvokeDevicesChangedCallbacks();
}
-// Update input for all devices if lock can be acquired without waiting.
+// Update input for all devices.
void ControllerInterface::UpdateInput()
{
// This should never happen
@@ -337,13 +337,7 @@ void ControllerInterface::UpdateInput()
std::vector<std::weak_ptr<ciface::Core::Device>> devices_to_remove;
{
- // TODO: if we are an emulation input channel, we should probably always lock.
- // Prefer outdated values over blocking UI or CPU thread (this avoids short but noticeable frame
- // drops)
- if (!m_devices_mutex.try_lock())
- return;
-
- std::lock_guard lk_devices(m_devices_mutex, std::adopt_lock);
+ std::lock_guard lk_devices(m_devices_mutex);
tls_is_updating_devices = true;