kwin/plugins/qpa
Martin Gräßlin 26b3569a0b [wayland] Add a QPA plugin for kwin_wayland
This introduces an own QPA plugin for KWin. QtWayland's plugin is not
a good solution for KWin as QtWayland is meant for Wayland clients and
not for a Wayland server. Given that it makes more sense to have a very
minimal QPA plugin which supports the use cases we actually have.

With our own QPA plugin we should be able to improve the following
areas:
* no need to create Wayland server before QApplication
* Qt::BypassWindowManagerHint can be supported
* no workaround for creating OpenGL context in main thread
* sharing OpenGL context with Qt
* OpenGL context for Qt on libhybris backend

The plugin supports so far the following features:
* creating a QPlatformWindow using KWayland::Client (ShellSurface)
* creating a QPlatformBackingStore using a ShmPool
* creating a QPlatformOpenGLContext with Wayland::EGL
* or creating a QPlatformOpenGLContext which shares with KWin's scene
* creating a QPlatformScreen for each KWayland::Client::Output
* QPlatformNativeInterface compatible to QtWayland
2015-08-25 14:33:50 +02:00
..
abstractplatformcontext.cpp [wayland] Add a QPA plugin for kwin_wayland 2015-08-25 14:33:50 +02:00
abstractplatformcontext.h [wayland] Add a QPA plugin for kwin_wayland 2015-08-25 14:33:50 +02:00
backingstore.cpp [wayland] Add a QPA plugin for kwin_wayland 2015-08-25 14:33:50 +02:00
backingstore.h [wayland] Add a QPA plugin for kwin_wayland 2015-08-25 14:33:50 +02:00
CMakeLists.txt [wayland] Add a QPA plugin for kwin_wayland 2015-08-25 14:33:50 +02:00
integration.cpp [wayland] Add a QPA plugin for kwin_wayland 2015-08-25 14:33:50 +02:00
integration.h [wayland] Add a QPA plugin for kwin_wayland 2015-08-25 14:33:50 +02:00
kwin.json [wayland] Add a QPA plugin for kwin_wayland 2015-08-25 14:33:50 +02:00
main.cpp [wayland] Add a QPA plugin for kwin_wayland 2015-08-25 14:33:50 +02:00
nativeinterface.cpp [wayland] Add a QPA plugin for kwin_wayland 2015-08-25 14:33:50 +02:00
nativeinterface.h [wayland] Add a QPA plugin for kwin_wayland 2015-08-25 14:33:50 +02:00
platformcontextwayland.cpp [wayland] Add a QPA plugin for kwin_wayland 2015-08-25 14:33:50 +02:00
platformcontextwayland.h [wayland] Add a QPA plugin for kwin_wayland 2015-08-25 14:33:50 +02:00
screen.cpp [wayland] Add a QPA plugin for kwin_wayland 2015-08-25 14:33:50 +02:00
screen.h [wayland] Add a QPA plugin for kwin_wayland 2015-08-25 14:33:50 +02:00
sharingplatformcontext.cpp [wayland] Add a QPA plugin for kwin_wayland 2015-08-25 14:33:50 +02:00
sharingplatformcontext.h [wayland] Add a QPA plugin for kwin_wayland 2015-08-25 14:33:50 +02:00
window.cpp [wayland] Add a QPA plugin for kwin_wayland 2015-08-25 14:33:50 +02:00
window.h [wayland] Add a QPA plugin for kwin_wayland 2015-08-25 14:33:50 +02:00