kwin/plugins/platforms/drm
Roman Gilg df3c1de848 [platforms/drm] Rework enablement and dpms switching
Summary:
This patch further refines output management.

We go now through AbstractWaylandOutput virtual functions to enable and
disable outputs.

Dpms changes and enablement switches use separate code paths at start in the
Drm backend code since they are similar but not the directly same. Common code
is shared though, functions are renamed accordingly.

Asserts have been put in place to better understand and check the control
flow. A seemingly unnecessary call to DrmOutput::pageFlipped on reactivation
after Vt switch has been removed to allow for that.

In future patches we need to look additionally at the legacy mode switching
code path which was and is still not working and better handling of the
current monitor Dpms state. For example a monitor being switched off is not
properly acted on and the workspace still expanded.

Test Plan:
With one and two monitors:
* Dpms off/on
* Vt switches
* Screen disable/enable

Reviewers: #kwin

Subscribers: kwin

Tags: #kwin

Maniphest Tasks: T11459

Differential Revision: https://phabricator.kde.org/D23600
2019-09-05 17:36:21 +02:00
..
CMakeLists.txt [platforms/drm] Refactor out Edid class 2019-07-02 20:45:55 +03:00
drm.json SVN_SILENT made messages (.desktop file) - always resolve ours 2019-07-23 05:20:30 +02:00
drm_backend.cpp [platforms/drm] Rework enablement and dpms switching 2019-09-05 17:36:21 +02:00
drm_backend.h [platforms/drm] Rework enablement and dpms switching 2019-09-05 17:36:21 +02:00
drm_buffer.cpp Port away from deprecated headers 2019-07-09 23:59:07 +03:00
drm_buffer.h Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
drm_buffer_gbm.cpp Port away from deprecated headers 2019-07-09 23:59:07 +03:00
drm_buffer_gbm.h Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
drm_inputeventfilter.cpp Be consistent about touch point id type: use qint32 2019-08-11 22:15:05 +02:00
drm_inputeventfilter.h Be consistent about touch point id type: use qint32 2019-08-11 22:15:05 +02:00
drm_object.cpp [platforms/drm] Rework ScopedDrmPointer 2019-04-09 14:09:19 +03:00
drm_object.h Fix minor EBN issues 2018-08-29 21:02:16 +03:00
drm_object_connector.cpp [platforms/drm] Rework ScopedDrmPointer 2019-04-09 14:09:19 +03:00
drm_object_connector.h Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
drm_object_crtc.cpp Backport Night Color feature to X11 2019-06-17 12:09:04 +03:00
drm_object_crtc.h Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
drm_object_plane.cpp [platforms/drm] Rework ScopedDrmPointer 2019-04-09 14:09:19 +03:00
drm_object_plane.h Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
drm_output.cpp [platforms/drm] Rework enablement and dpms switching 2019-09-05 17:36:21 +02:00
drm_output.h [platforms/drm] Rework enablement and dpms switching 2019-09-05 17:36:21 +02:00
drm_pointer.h [platforms/drm] Rework ScopedDrmPointer 2019-04-09 14:09:19 +03:00
edid.cpp [platforms/drm] Refactor out Edid class 2019-07-02 20:45:55 +03:00
edid.h Use more traditional doxygen style 2019-07-29 22:06:19 +03:00
egl_gbm_backend.cpp Introduce generic Output class 2018-08-31 11:53:12 +02:00
egl_gbm_backend.h Use more traditional doxygen style 2019-07-29 22:06:19 +03:00
egl_stream_backend.cpp [platforms/drm] EGLStream DRM Backend Initial Implementation 2019-04-15 07:26:22 -07:00
egl_stream_backend.h Use more traditional doxygen style 2019-07-29 22:06:19 +03:00
gbm_surface.cpp [platforms/drm] Use a shared pointer for gbm_surface 2017-10-05 21:32:46 +02:00
gbm_surface.h Port away from deprecated headers 2019-07-09 23:59:07 +03: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
remoteaccess_manager.cpp Port away from deprecated headers 2019-07-09 23:59:07 +03:00
remoteaccess_manager.h Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
scene_qpainter_drm_backend.cpp Introduce generic Output class 2018-08-31 11:53:12 +02:00
scene_qpainter_drm_backend.h Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
screens_drm.cpp Move output refresh rate getter into AbstractOutput 2018-11-14 20:04:29 +01:00
screens_drm.h Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00