This is the third (and last) part of the Wayland driver Vulkan subseries:
1. Implement `vkQueuePresentKHR` and support reporting `VK_ERROR_OUT_OF_DATE_KHR` and `VK_ERROR_SURFACE_LOST_KHR`. 2. Misc. enhancements/fixes to ensure the subsurface containing the vulkan rendering is displayed properly. 3. Implement a couple of remaining Vulkan functions.
With this MR you can start enjoying some of your games with the Wayland driver (either directly with Vulkan or with a D3D->Vulkan translation). Please note, however, that we don't currently support what's needed for mouselook (you will currently get erratic view movement), so most first-person 3D games are not playable yet.
Thanks!
-- v3: winewayland.drv: Implement vkGetPhysicalDevicePresentRectanglesKHR. winewayland.drv: Implement vkGetDeviceGroupSurfacePresentModesKHR. winewayland.drv: Apply client subsurface position on creation. winewayland.drv: Ensure Vulkan parent surface is mapped with proper size. winewayland.drv: Detect and report vkQueuePresentKHR errors.