From dd0eb4d9d89c3b796044c7fac8397c8713c5cdeb Mon Sep 17 00:00:00 2001 From: Martin Stransky Date: Fri, 25 May 2018 12:50:35 +0200 Subject: Enable Wayland backend --- mozilla-1462622.patch | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 mozilla-1462622.patch (limited to 'mozilla-1462622.patch') diff --git a/mozilla-1462622.patch b/mozilla-1462622.patch new file mode 100644 index 0000000..a1903dc --- /dev/null +++ b/mozilla-1462622.patch @@ -0,0 +1,36 @@ + +# HG changeset patch +# User Martin Stransky +# Date 1526647470 -7200 +# Node ID d41fee41e38400fab5da0689c1f49e30f80e2d1b +# Parent d2b91476bebc48f9e89f9d3e6c7b33decb2ae941 +Bug 1462622 - [Gtk/Linux] Don't use GLXVsyncSource() on non-X11 displays, r=lsalzman + +MozReview-Commit-ID: BBtnNLWqSiq + +diff --git a/gfx/thebes/gfxPlatformGtk.cpp b/gfx/thebes/gfxPlatformGtk.cpp +--- a/gfx/thebes/gfxPlatformGtk.cpp ++++ b/gfx/thebes/gfxPlatformGtk.cpp +@@ -736,18 +736,20 @@ private: + }; + + already_AddRefed + gfxPlatformGtk::CreateHardwareVsyncSource() + { + // Only use GLX vsync when the OpenGL compositor is being used. + // The extra cost of initializing a GLX context while blocking the main + // thread is not worth it when using basic composition. ++ // Also don't use it on non-X11 displays. + if (gfxConfig::IsEnabled(Feature::HW_COMPOSITING)) { +- if (gl::sGLXLibrary.SupportsVideoSync()) { ++ if (GDK_IS_X11_DISPLAY(gdk_display_get_default()) && ++ gl::sGLXLibrary.SupportsVideoSync()) { + RefPtr vsyncSource = new GLXVsyncSource(); + VsyncSource::Display& display = vsyncSource->GetGlobalDisplay(); + if (!static_cast(display).Setup()) { + NS_WARNING("Failed to setup GLContext, falling back to software vsync."); + return gfxPlatform::CreateHardwareVsyncSource(); + } + return vsyncSource.forget(); + } + -- cgit