-
- Downloads
Bug 1699985 - Implement basic native Wayland compositor backend, r=stransky,mstange,aosmond
This implements a mostly working native backend for Wayland. It can be enabled via `gfx.webrender.compositor.force-enabled`. The focus here was to get a basic structure in place while mini- mising changes in shared code. Known issues and limitations: - No readback - this will likely require an internal compositor again, as Wayland doesn't allow easily allow readback of the composited image, at least not without asking for permission. Alternatively, a new Wayland extension could be written for it. - Frame-call related issues when using a compositor that optimizes them (e.g. Gnome-Shell). This will be fixed in a follow-up, in the mean time disabling `widget.wayland.opaque-region.enabled` and `widget.wayland.vsync.enabled` works around the issues. - Only works on Weston or very recent versions of Gnome-Shell, see bug 1699754 Differential Revision: https://phabricator.services.mozilla.com/D111662
Showing
- gfx/layers/LayersTypes.h 1 addition, 0 deletionsgfx/layers/LayersTypes.h
- gfx/layers/NativeLayer.h 4 additions, 0 deletionsgfx/layers/NativeLayer.h
- gfx/layers/NativeLayerWayland.cpp 514 additions, 0 deletionsgfx/layers/NativeLayerWayland.cpp
- gfx/layers/NativeLayerWayland.h 137 additions, 0 deletionsgfx/layers/NativeLayerWayland.h
- gfx/layers/SurfacePool.h 5 additions, 1 deletiongfx/layers/SurfacePool.h
- gfx/layers/SurfacePoolWayland.cpp 124 additions, 0 deletionsgfx/layers/SurfacePoolWayland.cpp
- gfx/layers/SurfacePoolWayland.h 114 additions, 0 deletionsgfx/layers/SurfacePoolWayland.h
- gfx/layers/moz.build 6 additions, 0 deletionsgfx/layers/moz.build
- gfx/thebes/gfxPlatformGtk.cpp 28 additions, 0 deletionsgfx/thebes/gfxPlatformGtk.cpp
- gfx/thebes/gfxPlatformGtk.h 1 addition, 0 deletionsgfx/thebes/gfxPlatformGtk.h
- gfx/webrender_bindings/RenderCompositor.cpp 12 additions, 1 deletiongfx/webrender_bindings/RenderCompositor.cpp
- gfx/webrender_bindings/RenderCompositorNative.cpp 11 additions, 7 deletionsgfx/webrender_bindings/RenderCompositorNative.cpp
- gfx/webrender_bindings/RenderThread.cpp 1 addition, 1 deletiongfx/webrender_bindings/RenderThread.cpp
- gfx/webrender_bindings/moz.build 2 additions, 0 deletionsgfx/webrender_bindings/moz.build
- widget/gtk/GfxInfo.cpp 8 additions, 0 deletionswidget/gtk/GfxInfo.cpp
- widget/gtk/GtkCompositorWidget.cpp 20 additions, 0 deletionswidget/gtk/GtkCompositorWidget.cpp
- widget/gtk/GtkCompositorWidget.h 10 additions, 0 deletionswidget/gtk/GtkCompositorWidget.h
- widget/gtk/MozContainerWayland.cpp 20 additions, 0 deletionswidget/gtk/MozContainerWayland.cpp
- widget/gtk/MozContainerWayland.h 2 additions, 0 deletionswidget/gtk/MozContainerWayland.h
Loading
Please register or sign in to comment