D19084: Restrict available supported compositors based on first initialized one

Martin Flöser <[email protected]>
Newsgroups gmane.comp.kde.devel.kwin
Message-ID <[email protected]>
graesslin created this revision.
graesslin added a reviewer: kwin.
Herald added a project: KWin.
graesslin requested review of this revision.

REVISION SUMMARY
  On Wayland we cannot switch from OpenGL to QPainter compositor as this
  would break any running OpenGL application. KWin registers it's
  EGLDisplay to Wayland and without OpenGL this doesn't make sense any
  more. We are not able to render OpenGL buffers in the QPainter
  compositor.
  
  While it's theoretically possible to switch from QPainter to OpenGL it
  doesn't make any sense for the same reason. Any running OpenGL
  application would be using llvmpipe and could not be switched to proper
  OpenGL.
  
  This change stores the selected compositing type in Platform and the
  implementations can use it to restrict the supported compositors. On X11
  we don't need this, all other Platforms implement the restriction. Thus
  it's no longer possible to switch the backends at runtime.

TEST PLAN
  Adjusted tests run, no runtime test as gui doesn't support
  switching to QPainter anyway.

REPOSITORY
  R108 KWin

BRANCH
  restrict-runtime-switch-compositor

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

AFFECTED FILES
  autotests/integration/generic_scene_opengl_test.cpp
  autotests/integration/scene_qpainter_test.cpp
  composite.cpp
  platform.h
  plugins/platforms/drm/drm_backend.cpp
  plugins/platforms/virtual/virtual_backend.h
  plugins/platforms/wayland/wayland_backend.cpp
  plugins/platforms/x11/windowed/x11windowed_backend.h

To: graesslin, kwin
Cc: jraleigh, GB_2, mkulinski, ragreen, jackyalcine, Pitel, iodelay, bwowk, ZrenBot, ngraham, alexeymin, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.