Skip to content
Snippets Groups Projects
Commit 157d5402 authored by Alexandros Frantzis's avatar Alexandros Frantzis Committed by Alexandre Julliard
Browse files

winewayland.drv: Apply surface configuration during Vulkan presentation.

When we have a Vulkan client subsurface, and depending on timings and
window state (e.g., fullscreen), we may not get the chance to apply new
surface configurations when presenting content to the main window
surface. To ensure new configurations are applied, also check for and
apply/ack configurations during Vulkan presentation.

This fixes some games which resize when they become fullscreen, but are
not properly placed by the compositor, because they never ack the
fullscreen state.
parent 6a4fb894
Branches
No related tags found
No related merge requests found
......@@ -270,6 +270,15 @@ static VkResult check_queue_present(const VkPresentInfoKHR *present_info,
wayland_surface_ensure_contents(wayland_surface);
/* Handle any processed configure request, to ensure the related
* surface state is applied by the compositor. */
if (wayland_surface->processing.serial &&
wayland_surface->processing.processed &&
wayland_surface_reconfigure(wayland_surface))
{
wl_surface_commit(wayland_surface->wl_surface);
}
pthread_mutex_unlock(&wayland_surface->mutex);
if (client_width == wine_vk_swapchain->extent.width &&
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment