mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-25 21:21:21 +00:00
wayland: Set EGL swap interval to 0.
There's no need for EGL to do any timing, we do it in GTK already. This fixes hangs in Mesa when we hide a surface after a SwapBuffers() but before the frame callback arrives. If we then reshow the surface and immediately render to it, Mesa would still have a frame callback from before the hiding and forever poll() waiting for the compositor to send the callback. Fixes #5761
This commit is contained in:
parent
45216e1c88
commit
b4c859c011
@ -75,6 +75,9 @@ gdk_wayland_gl_context_end_frame (GdkDrawContext *draw_context,
|
||||
WL_SURFACE_OFFSET_SINCE_VERSION)
|
||||
wl_surface_offset (impl->display_server.wl_surface, dx, dy);
|
||||
|
||||
/* We should do ths when setting up the EGLSurface, but we don't make_current then */
|
||||
eglSwapInterval (gdk_display_get_egl_display (gdk_draw_context_get_display (draw_context)), 0);
|
||||
|
||||
GDK_DRAW_CONTEXT_CLASS (gdk_wayland_gl_context_parent_class)->end_frame (draw_context, painted);
|
||||
|
||||
gdk_wayland_surface_notify_committed (surface);
|
||||
|
Loading…
Reference in New Issue
Block a user