From 6183eb363282e5143bfd52aa36b5e6a318c4c992 Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Mon, 7 Sep 2015 12:27:26 +0100 Subject: [PATCH] gdk: master-clock: disable vsync throttling When running with a master clock based on the GdkFrameClock, we get synchronized with the compositor, so no need for throttling rendering. In particular when dealing with foreign windows, we run into deadlocks in Mesa because of the way the Mesa wayland backend is implemented [1]. [1] : http://cgit.freedesktop.org/mesa/mesa/tree/src/egl/drivers/dri2/platform_wayland.c#n330 https://bugzilla.gnome.org/show_bug.cgi?id=754671 --- clutter/gdk/clutter-master-clock-gdk.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/clutter/gdk/clutter-master-clock-gdk.c b/clutter/gdk/clutter-master-clock-gdk.c index a3ed8ecbf..228d31f12 100644 --- a/clutter/gdk/clutter-master-clock-gdk.c +++ b/clutter/gdk/clutter-master-clock-gdk.c @@ -476,6 +476,9 @@ clutter_master_clock_gdk_init (ClutterMasterClockGdk *self) for (l = stages; l; l = l->next) clutter_master_clock_gdk_stage_added (manager, l->data, self); + /* Deactivate sync to vblank since we have clock to drive us from + the compositor. */ + _clutter_set_sync_to_vblank (FALSE); if (G_UNLIKELY (clutter_paint_debug_flags & CLUTTER_DEBUG_CONTINUOUS_REDRAW)) g_warning ("Continuous redraw is not supported with the GDK backend.");