kwin/plugins/platforms/drm
Roman Gilg 997cf97c9f Atomic Mode Setting / Universal Plane preliminary support
This is Milestone 1 of full support of Atomic Mode Setting (AMS) and
Universal Planes in the KWin DRM backend.

With Milestone 1 we can use the primary plane of a DRM output and do an
AMS commit (this means mode setting aswell as page flipping), if the
driver supports it. Until now the functionality is only tested on Intel
graphics. You need the drm-next kernel for most recent DRM kernel
developments. As boot option set "i915.nuclear_pageflip". Additionally
at the moment AMS is still hidden behind the environment variable
KWIN_DRM_AMS. Set it, if you want to try out AMS.

What needs to be done next: Make it possible to transfer EGL buffers
directly to planes and implement logic for deciding about using a plane
or not for a specific buffer.

You can read more about it on LWN:
https://lwn.net/Articles/653071
And on Martin's blog:
https://blog.martin-graesslin.com/blog/2015/08/layered-compositing/
I used as model previous work by Daniel Stone for Weston:
https://git.collabora.com/cgit/user/daniels/weston.git

Reviewed-by: mgraesslin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D2370
2016-08-31 14:06:31 +02:00
..
CMakeLists.txt Atomic Mode Setting / Universal Plane preliminary support 2016-08-31 14:06:31 +02:00
drm.json
drm_backend.cpp Atomic Mode Setting / Universal Plane preliminary support 2016-08-31 14:06:31 +02:00
drm_backend.h Atomic Mode Setting / Universal Plane preliminary support 2016-08-31 14:06:31 +02:00
drm_buffer.cpp [platforms/drm] Add better warnings in DrmBuffer if things fail 2016-07-15 08:37:17 +02:00
drm_buffer.h Atomic Mode Setting / Universal Plane preliminary support 2016-08-31 14:06:31 +02:00
drm_inputeventfilter.cpp
drm_inputeventfilter.h
drm_object.cpp Atomic Mode Setting / Universal Plane preliminary support 2016-08-31 14:06:31 +02:00
drm_object.h Atomic Mode Setting / Universal Plane preliminary support 2016-08-31 14:06:31 +02:00
drm_object_connector.cpp Atomic Mode Setting / Universal Plane preliminary support 2016-08-31 14:06:31 +02:00
drm_object_connector.h Atomic Mode Setting / Universal Plane preliminary support 2016-08-31 14:06:31 +02:00
drm_object_crtc.cpp Atomic Mode Setting / Universal Plane preliminary support 2016-08-31 14:06:31 +02:00
drm_object_crtc.h Atomic Mode Setting / Universal Plane preliminary support 2016-08-31 14:06:31 +02:00
drm_object_plane.cpp Atomic Mode Setting / Universal Plane preliminary support 2016-08-31 14:06:31 +02:00
drm_object_plane.h Atomic Mode Setting / Universal Plane preliminary support 2016-08-31 14:06:31 +02:00
drm_output.cpp Atomic Mode Setting / Universal Plane preliminary support 2016-08-31 14:06:31 +02:00
drm_output.h Atomic Mode Setting / Universal Plane preliminary support 2016-08-31 14:06:31 +02:00
drm_pointer.h
egl_gbm_backend.cpp Atomic Mode Setting / Universal Plane preliminary support 2016-08-31 14:06:31 +02:00
egl_gbm_backend.h [platforms/drm] Pass ownership of gbm_device to Platform 2016-08-19 16:09:18 +02:00
logging.cpp
logging.h
scene_qpainter_drm_backend.cpp [plugins/drm] Drop dependency on VirtualTerminal 2016-04-22 14:18:56 +02:00
scene_qpainter_drm_backend.h add override to bufferForScreen 2016-05-02 14:50:23 +02:00
screens_drm.cpp Set initial count of screens before calling Screens::init 2016-08-05 09:59:22 +02:00
screens_drm.h