kwin/plugins/platforms/wayland
Martin Flöser cbbe94d769 Restrict available supported compositors based on first initialized one
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.

Reviewers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D19084
2019-02-22 16:59:08 +01:00
..
CMakeLists.txt Build platform plugins in correct sub directory of build dir 2018-12-13 19:36:28 +01:00
egl_wayland_backend.cpp Move SceneOpenGL into a dedicated plugin 2017-09-30 13:12:10 +02:00
egl_wayland_backend.h Move SceneOpenGL into a dedicated plugin 2017-09-30 13:12:10 +02:00
logging.cpp Move backends/ to plugins/platforms/ 2016-04-12 08:01:27 +02:00
logging.h Move backends/ to plugins/platforms/ 2016-04-12 08:01:27 +02:00
scene_qpainter_wayland_backend.cpp Move backends/ to plugins/platforms/ 2016-04-12 08:01:27 +02:00
scene_qpainter_wayland_backend.h Move QPainter compositor into plugin 2017-09-01 17:44:49 +02:00
wayland.json SVN_SILENT made messages (.desktop file) - always resolve ours 2018-12-24 05:25:01 +01:00
wayland_backend.cpp Restrict available supported compositors based on first initialized one 2019-02-22 16:59:08 +01:00
wayland_backend.h Overhaul doxygen comments 2019-02-12 19:29:33 +02:00