--
v2: winebus: Use hid_device_add_gamepad in the evdev backend.
winebus: Introduce a new hid_device_add_gamepad helper.
winebus: Emulate some gamepad buttons in the evdev backend.
winebus: Introduce a new set_abs_axis_value helper.
winebus: Return error status if SDL is disabled.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8732
Support filter expressions consisting of basic comparison operators in DevGetObjects(Ex).
--
v8: cfgmgr32: Implement support for basic filter expressions in DevGetObjects.
cfgmgr32: Validate DEVPROP_FILTER_EXPRESSION values passed to Dev{GetObjects, CreateObjectQueryEx}.
cfgmgr32/tests: Add some tests for calling DevGetObjects with filters.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8723
If the swapchain image size is not equal to the presentation size (e.g. because of DPI virtualization or display mode change emulation), MoltenVK's `vkQueuePresentKHR` returns `VK_SUBOPTIMAL_KHR` (see [`MVKSwapchain::hasOptimalSurface()`](https://github.com/KhronosGroup/MoltenVK/blob/a046e779df332f5c23a03df1cb6de4607847d6e0/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm#L132). I can see this with a vkcube hacked to run in fullscreen, and it's especially problematic with wined3d which recreates the swapchain on `VK_SUBOPTIMAL_KHR` (every frame).
Create the swapchain with `VkSwapchainPresentScalingCreateInfoEXT` when the window is being scaled to avoid this. I'm not sure if it's proper to be enabling the extension in winevulkan and then using it in win32u, but I don't see an obvious way to hook `vkCreateDevice` in win32u.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8718