diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js index f1e3332a5de2..6090b91d8060 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -5070,11 +5070,6 @@ pref("gfx.xrender.enabled",false); pref("widget.content.allow-gtk-dark-theme", false); #endif #endif -#ifdef MOZ_WAYLAND -#ifdef HAVE_LIBDRM -pref("widget.wayland_dmabuf_backend.enabled", false); -#endif -#endif pref("widget.window-transforms.disabled", false); diff --git a/widget/gtk/WindowSurfaceWayland.cpp b/widget/gtk/WindowSurfaceWayland.cpp index d680d7f62622..3dfbc90cffb4 100644 --- a/widget/gtk/WindowSurfaceWayland.cpp +++ b/widget/gtk/WindowSurfaceWayland.cpp @@ -420,9 +420,6 @@ WindowBackBufferDMABuf::WindowBackBufferDMABuf( nsWaylandDisplay* aWaylandDisplay, int aWidth, int aHeight) : WindowBackBuffer(aWaylandDisplay) { mDMAbufSurface.Create(aWidth, aHeight); - - LOGWAYLAND(("%s [%p] Created DMABuf buffer [%d x %d]\n", __PRETTY_FUNCTION__, - (void*)this, aWidth, aHeight)); } WindowBackBufferDMABuf::~WindowBackBufferDMABuf() { mDMAbufSurface.Release(); } @@ -536,8 +533,8 @@ bool WindowSurfaceWayland::UseDMABufBackend() { if (!mUseDMABufInitialized) { #ifdef HAVE_LIBDRM if (WaylandDMABufSurface::IsAvailable()) { - mUseDMABuf = nsWaylandDisplay::IsDMABufEnabled(); - LOGWAYLAND(("%s DMABuf state %d\n", __PRETTY_FUNCTION__, mUseDMABuf)); + mUseDMABuf = + Preferences::GetBool("gfx.wayland_dmabuf_backend.enabled", false); } #endif mUseDMABufInitialized = true; diff --git a/widget/gtk/nsWaylandDisplay.cpp b/widget/gtk/nsWaylandDisplay.cpp index d6c0b9a38829..cfe51c6ab09b 100644 --- a/widget/gtk/nsWaylandDisplay.cpp +++ b/widget/gtk/nsWaylandDisplay.cpp @@ -10,11 +10,6 @@ namespace mozilla { namespace widget { -#ifdef HAVE_LIBDRM -bool nsWaylandDisplay::mIsDMABufEnabled; -bool nsWaylandDisplay::mIsDMABufPrefLoaded; -#endif - // nsWaylandDisplay needs to be created for each calling thread(main thread, // compositor thread and render thread) #define MAX_DISPLAY_CONNECTIONS 3 @@ -293,23 +288,16 @@ nsWaylandDisplay::nsWaylandDisplay(wl_display* aDisplay) , mGbmDevice(nullptr), mGbmFd(-1), - mXRGBFormat({false, false, -1, nullptr, 0}), - mARGBFormat({false, false, -1, nullptr, 0}), mGdmConfigured(false), - mExplicitSync(false) + mExplicitSync(false), + mXRGBFormat({false, false, -1, nullptr, 0}), + mARGBFormat({false, false, -1, nullptr, 0}) #endif { mRegistry = wl_display_get_registry(mDisplay); wl_registry_add_listener(mRegistry, ®istry_listener, this); if (NS_IsMainThread()) { -#ifdef HAVE_LIBDRM - if (!mIsDMABufPrefLoaded) { - mIsDMABufPrefLoaded = true; - mIsDMABufEnabled = - Preferences::GetBool("widget.wayland_dmabuf_backend.enabled", false); - } -#endif // Use default event queue in main thread operated by Gtk+. mEventQueue = nullptr; wl_display_roundtrip(mDisplay); diff --git a/widget/gtk/nsWaylandDisplay.h b/widget/gtk/nsWaylandDisplay.h index a6a73eb11d7f..ea5dfcb7eaf1 100644 --- a/widget/gtk/nsWaylandDisplay.h +++ b/widget/gtk/nsWaylandDisplay.h @@ -68,14 +68,16 @@ class nsWaylandDisplay { #ifdef HAVE_LIBDRM void SetDmabuf(zwp_linux_dmabuf_v1* aDmabuf); zwp_linux_dmabuf_v1* GetDmabuf() { return mDmabuf; }; + gbm_device* GetGbmDevice(); + // Returns -1 if we fails to gbm device file descriptor. int GetGbmDeviceFd(); + bool IsExplicitSyncEnabled() { return mExplicitSync; } GbmFormat* GetGbmFormat(bool aHasAlpha); void AddFormatModifier(bool aHasAlpha, int aFormat, uint32_t mModifierHi, uint32_t mModifierLo); - static bool IsDMABufEnabled() { return mIsDMABufEnabled; }; #endif private: @@ -97,12 +99,10 @@ class nsWaylandDisplay { zwp_linux_dmabuf_v1* mDmabuf; gbm_device* mGbmDevice; int mGbmFd; - GbmFormat mXRGBFormat; - GbmFormat mARGBFormat; bool mGdmConfigured; bool mExplicitSync; - static bool mIsDMABufEnabled; - static bool mIsDMABufPrefLoaded; + GbmFormat mXRGBFormat; + GbmFormat mARGBFormat; #endif };