[Differential] [Request, 271 lines] D2202: Support restarting the OpenGL compositor on Wayland

graesslin (Martin Gräßlin) noreply at phabricator.kde.org
Mon Jul 18 08:38:47 UTC 2016


graesslin created this revision.
graesslin added reviewers: KWin, Plasma on Wayland.
Restricted Application added subscribers: kwin, plasma-devel.
Restricted Application added projects: Plasma on Wayland, KWin.

REVISION SUMMARY
  KWin needs to support restarting the OpenGL compositor in case of a
  graphics reset event.
  
  On Wayland the tricky part is that the applications should not notice
  this. Most importantly KWin cannot just destroy the EGLDisplay and create
  a new one. But this is how a restart works: the complete compositor gets
  torn down and recreated - including the EGLDisplay.
  
  This change moves ownership of the EGLDisplay to the Platform.
  The AbstractEglBackend subclasses query the Platform whether there is
  already an EGLDisplay. Only if there is no EGLDisplay the EGLDisplay is
  created and only if no EGLDisplay is registered with Wayland the bind
  is performed.
  
  Another change is regarding the destruction: the AbstractEglDisplay does
  no longer unbind the Wayland display and does no longer destroy the
  EGLDisplay. The EGLDisplay is destroyed by the Platform - so very late
  on application exit. The Wayland display is unbound when the Compositor
  terminates.

TEST PLAN
  Limited testing with the added auto-test. This one needs to
  be extended to fully verify that OpenGL applications continue to work.
  But this requires build.kde.org to support OpenGL on Wayland.

REPOSITORY
  rKWIN KWin

BRANCH
  restart-opengl-compositor

REVISION DETAIL
  https://phabricator.kde.org/D2202

AFFECTED FILES
  abstract_egl_backend.cpp
  abstract_egl_backend.h
  autotests/integration/CMakeLists.txt
  autotests/integration/scene_opengl_test.cpp
  composite.cpp
  platform.cpp
  platform.h
  plugins/platforms/drm/egl_gbm_backend.cpp
  plugins/platforms/hwcomposer/egl_hwcomposer_backend.cpp
  plugins/platforms/virtual/egl_gbm_backend.cpp
  plugins/platforms/wayland/egl_wayland_backend.cpp
  plugins/platforms/x11/common/eglonxbackend.cpp

EMAIL PREFERENCES
  https://phabricator.kde.org/settings/panel/emailpreferences/

To: graesslin, #kwin, #plasma_on_wayland
Cc: plasma-devel, kwin, hardening, jensreuterberg, abetts, sebas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20160718/1ff6e354/attachment.html>


More information about the Plasma-devel mailing list