summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorJonas Ådahl <jadahl@gmail.com>2018-03-21 14:08:13 +0800
committerJonas Ådahl <jadahl@gmail.com>2018-03-21 14:14:32 +0800
commit7e102f887924a31eaf635823adf884236f434d19 (patch)
tree0b4a7f6eea390d5d3fdb37ff4d65d58a2494f758 /gdk
parent1d5d46ff29c7e5c012bf7dd571304cc54fb95bed (diff)
downloadgtk+-7e102f887924a31eaf635823adf884236f434d19.tar.gz
wayland/vulkancontext: Sync surface state before vkQueuePresentKHR
A side effect of vkQueuePresentKHR is the Vulkan implementation calling wl_surface_commit() on the corresponding Wayland surface. Thus, before this, we must synchronize the surface state (e.g. opaque region, window geometry, etc) that changed since last time. Prior to this commit this was done after calling vkQueuePresentKHR(), causing the surface state to always correspond to the previous buffer state. As of this commit this is now done before calling vkQueuePresentKHR(), thus before wl_surface_commit().
Diffstat (limited to 'gdk')
-rw-r--r--gdk/wayland/gdkvulkancontext-wayland.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gdk/wayland/gdkvulkancontext-wayland.c b/gdk/wayland/gdkvulkancontext-wayland.c
index 4e85469741..b5e82139f5 100644
--- a/gdk/wayland/gdkvulkancontext-wayland.c
+++ b/gdk/wayland/gdkvulkancontext-wayland.c
@@ -66,9 +66,9 @@ gdk_vulkan_context_wayland_end_frame (GdkDrawContext *context,
{
GdkSurface *surface = gdk_draw_context_get_surface (GDK_DRAW_CONTEXT (context));
- GDK_DRAW_CONTEXT_CLASS (gdk_wayland_vulkan_context_parent_class)->end_frame (context, painted, damage);
-
gdk_wayland_surface_sync (surface);
+
+ GDK_DRAW_CONTEXT_CLASS (gdk_wayland_vulkan_context_parent_class)->end_frame (context, painted, damage);
}
static void