[SDL] Minimize number of system calls when handling WM_INPUT raw input messages.

Details:
Currently doing 4 system calls per WM_INPUT message, which can cause the thread handling the message loop to be swapped out several times:
* GetProp - to get window data from the window handle
* GetRawInputData - to retrieve the raw input data
* 2 calls to GetMessageExtraInfo - to ignore synthetic mouse events generated for touchscreens

In this change:
* Replaced GetProp by iterating the list of windows maintained by SDL (with a fallback to GetProp). Note that this will affect all messages and not just WM_INPUT
* only calling GetMessageExtraInfo if a touchscreen has been detected

Fix for https://jira.valve.org/browse/CSGO-4855
@saml
This commit is contained in:
Sam Lantinga 2021-05-21 09:45:08 -07:00
parent dbbc725f5e
commit 157c3f8097
3 changed files with 24 additions and 3 deletions

0
build-scripts/config.guess vendored Executable file → Normal file
View file

0
build-scripts/config.sub vendored Executable file → Normal file
View file