Input: Improve Controller Interface devices threading

This specific issue was already addressed by https://github.com/dolphin-emu/dolphin/pull/11635
though I felt like there was something more we could do, and wasn't too happy with the
likelihood of devices update calls being skipped (due to `m_devices_population_mutex` being locked).
This commit is contained in:
Filoppi
2023-05-24 22:58:30 +03:00
parent e498759d14
commit e456bef163
25 changed files with 125 additions and 58 deletions

View File

@ -128,7 +128,7 @@ private:
};
public:
void UpdateInput() override;
Core::DeviceRemoval UpdateInput() override;
Device(std::string name, int index, std::string server_address, u16 server_port, u32 client_uid);
@ -614,7 +614,7 @@ std::string Device::GetSource() const
return std::string(DUALSHOCKUDP_SOURCE_NAME);
}
void Device::UpdateInput()
Core::DeviceRemoval Device::UpdateInput()
{
// Regularly tell the UDP server to feed us controller data
const auto now = SteadyClock::now();
@ -660,6 +660,8 @@ void Device::UpdateInput()
m_prev_touch_valid = true;
}
}
return Core::DeviceRemoval::Keep;
}
std::optional<int> Device::GetPreferredId() const