kwin/plugins/platforms/drm
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
drm.json
drm_backend.cpp Restrict available supported compositors based on first initialized one 2019-02-22 16:59:08 +01:00
drm_backend.h Overhaul doxygen comments 2019-02-12 19:29:33 +02:00
drm_buffer.cpp
drm_buffer.h
drm_buffer_gbm.cpp
drm_buffer_gbm.h
drm_inputeventfilter.cpp
drm_inputeventfilter.h
drm_object.cpp [platforms/drm] Use more ScopedDrmPointer 2019-02-10 20:26:02 +02:00
drm_object.h
drm_object_connector.cpp [platforms/drm] Use more ScopedDrmPointer 2019-02-10 20:26:02 +02:00
drm_object_connector.h
drm_object_crtc.cpp [platforms/drm] Use more ScopedDrmPointer 2019-02-10 20:26:02 +02:00
drm_object_crtc.h
drm_object_plane.cpp [platforms/drm] Use more ScopedDrmPointer 2019-02-10 20:26:02 +02:00
drm_object_plane.h
drm_output.cpp Add output orientation size helper 2018-11-14 20:05:39 +01:00
drm_output.h Move output refresh rate getter into AbstractOutput 2018-11-14 20:04:29 +01:00
drm_pointer.h
egl_gbm_backend.cpp
egl_gbm_backend.h Overhaul doxygen comments 2019-02-12 19:29:33 +02:00
gbm_surface.cpp
gbm_surface.h
logging.cpp
logging.h
remoteaccess_manager.cpp
remoteaccess_manager.h
scene_qpainter_drm_backend.cpp
scene_qpainter_drm_backend.h
screens_drm.cpp Move output refresh rate getter into AbstractOutput 2018-11-14 20:04:29 +01:00
screens_drm.h Move output refresh rate getter into AbstractOutput 2018-11-14 20:04:29 +01:00