diff options
author | Elvis Lee <kwangwoong.lee@lge.com> | 2020-12-31 10:53:08 +0900 |
---|---|---|
committer | Elvis Lee <kwangwoong.lee@lge.com> | 2021-04-29 07:38:17 +0900 |
commit | cd72f971739ab27e4a613baf560f0482388ade20 (patch) | |
tree | 0513413864dd3a2dcb3a0239f1cf607e14a4c5a9 | |
parent | 723dd936bb6b1055c4a552366cb7c220390d68d2 (diff) |
Export wayland-egl compositor hwintegration
Support wayland-egl compositor hwintegration
as a module for external build
Change-Id: I794ad4eb38fc2dda31ace1b0eeb2e001020d0956
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
-rw-r--r-- | src/hardwareintegration/CMakeLists.txt | 3 | ||||
-rw-r--r-- | src/hardwareintegration/compositor/CMakeLists.txt | 5 | ||||
-rw-r--r-- | src/hardwareintegration/compositor/wayland-egl/CMakeLists.txt | 21 | ||||
-rw-r--r-- | src/hardwareintegration/compositor/wayland-egl/wayland-egl.pri | 2 | ||||
-rw-r--r-- | src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.cpp | 2 | ||||
-rw-r--r-- | src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration_p.h (renamed from src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.h) | 7 | ||||
-rw-r--r-- | src/plugins/hardwareintegration/compositor/wayland-egl/CMakeLists.txt | 8 | ||||
-rw-r--r-- | src/plugins/hardwareintegration/compositor/wayland-egl/main.cpp | 2 | ||||
-rw-r--r-- | sync.profile | 1 |
9 files changed, 37 insertions, 14 deletions
diff --git a/src/hardwareintegration/CMakeLists.txt b/src/hardwareintegration/CMakeLists.txt index 599de8616..f2bab1e1c 100644 --- a/src/hardwareintegration/CMakeLists.txt +++ b/src/hardwareintegration/CMakeLists.txt @@ -1,3 +1,6 @@ if(TARGET Qt::WaylandClient) add_subdirectory(client) endif() +if(TARGET Qt::WaylandCompositor) + add_subdirectory(compositor) +endif() diff --git a/src/hardwareintegration/compositor/CMakeLists.txt b/src/hardwareintegration/compositor/CMakeLists.txt new file mode 100644 index 000000000..82e0be9d4 --- /dev/null +++ b/src/hardwareintegration/compositor/CMakeLists.txt @@ -0,0 +1,5 @@ +# Generated from compositor.pro. + +if(QT_FEATURE_wayland_egl) + add_subdirectory(wayland-egl) +endif() diff --git a/src/hardwareintegration/compositor/wayland-egl/CMakeLists.txt b/src/hardwareintegration/compositor/wayland-egl/CMakeLists.txt new file mode 100644 index 000000000..0858d4920 --- /dev/null +++ b/src/hardwareintegration/compositor/wayland-egl/CMakeLists.txt @@ -0,0 +1,21 @@ +##################################################################### +## WaylandEglCompositorHwIntegration Module: +##################################################################### +qt_find_package(EGL) # special case + +qt_internal_add_module(WaylandEglCompositorHwIntegration + CONFIG_MODULE_NAME wayland_egl_compositor_hw_integration + INTERNAL_MODULE + SOURCES + waylandeglclientbufferintegration.cpp waylandeglclientbufferintegration_p.h + INCLUDE_DIRECTORIES + ${CMAKE_CURRENT_SOURCE_DIR} + LIBRARIES + EGL::EGL + Wayland::Egl + Wayland::Server + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::WaylandCompositorPrivate +) diff --git a/src/hardwareintegration/compositor/wayland-egl/wayland-egl.pri b/src/hardwareintegration/compositor/wayland-egl/wayland-egl.pri index 0a90583be..23615f316 100644 --- a/src/hardwareintegration/compositor/wayland-egl/wayland-egl.pri +++ b/src/hardwareintegration/compositor/wayland-egl/wayland-egl.pri @@ -6,4 +6,4 @@ SOURCES += \ $$PWD/waylandeglclientbufferintegration.cpp HEADERS += \ - $$PWD/waylandeglclientbufferintegration.h + $$PWD/waylandeglclientbufferintegration_p.h diff --git a/src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.cpp b/src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.cpp index 8649e70be..5d53b615e 100644 --- a/src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.cpp +++ b/src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.cpp @@ -27,7 +27,7 @@ ** ****************************************************************************/ -#include "waylandeglclientbufferintegration.h" +#include "waylandeglclientbufferintegration_p.h" #include <QtWaylandCompositor/QWaylandCompositor> #include <qpa/qplatformnativeinterface.h> diff --git a/src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.h b/src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration_p.h index 7bd13466e..986678f37 100644 --- a/src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.h +++ b/src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration_p.h @@ -38,7 +38,7 @@ QT_BEGIN_NAMESPACE class WaylandEglClientBufferIntegrationPrivate; -class WaylandEglClientBufferIntegration : public QtWayland::ClientBufferIntegration +class Q_WAYLAND_COMPOSITOR_EXPORT WaylandEglClientBufferIntegration : public QtWayland::ClientBufferIntegration { Q_DECLARE_PRIVATE(WaylandEglClientBufferIntegration) public: @@ -56,9 +56,10 @@ private: struct BufferState; -class WaylandEglClientBuffer : public QtWayland::ClientBuffer +class Q_WAYLAND_COMPOSITOR_EXPORT WaylandEglClientBuffer : public QtWayland::ClientBuffer { public: + WaylandEglClientBuffer(WaylandEglClientBufferIntegration* integration, wl_resource *bufferResource); ~WaylandEglClientBuffer() override; QWaylandBufferRef::BufferFormatEgl bufferFormatEgl() const override; @@ -74,8 +75,6 @@ private: friend class WaylandEglClientBufferIntegration; friend class WaylandEglClientBufferIntegrationPrivate; - WaylandEglClientBuffer(WaylandEglClientBufferIntegration* integration, wl_resource *bufferResource); - BufferState *d = nullptr; WaylandEglClientBufferIntegration *m_integration = nullptr; }; diff --git a/src/plugins/hardwareintegration/compositor/wayland-egl/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/wayland-egl/CMakeLists.txt index e631743b7..69b3d3d25 100644 --- a/src/plugins/hardwareintegration/compositor/wayland-egl/CMakeLists.txt +++ b/src/plugins/hardwareintegration/compositor/wayland-egl/CMakeLists.txt @@ -9,19 +9,13 @@ qt_internal_add_plugin(QWaylandEglClientBufferIntegrationPlugin OUTPUT_NAME qt-wayland-compositor-wayland-egl TYPE wayland-graphics-integration-server SOURCES - ../../../../hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.cpp ../../../../hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.h main.cpp - INCLUDE_DIRECTORIES - ../../../../hardwareintegration/compositor/wayland-egl - LIBRARIES - EGL::EGL - Wayland::Egl - Wayland::Server PUBLIC_LIBRARIES Qt::CorePrivate Qt::GuiPrivate Qt::WaylandCompositor Qt::WaylandCompositorPrivate + Qt::WaylandEglCompositorHwIntegrationPrivate ) #### Keys ignored in scope 1:.:.:wayland-egl.pro:<TRUE>: diff --git a/src/plugins/hardwareintegration/compositor/wayland-egl/main.cpp b/src/plugins/hardwareintegration/compositor/wayland-egl/main.cpp index 0197675b9..c1e65928d 100644 --- a/src/plugins/hardwareintegration/compositor/wayland-egl/main.cpp +++ b/src/plugins/hardwareintegration/compositor/wayland-egl/main.cpp @@ -29,7 +29,7 @@ #include <QtWaylandCompositor/private/qwlclientbufferintegrationfactory_p.h> #include <QtWaylandCompositor/private/qwlclientbufferintegrationplugin_p.h> -#include "waylandeglclientbufferintegration.h" +#include <QtWaylandEglCompositorHwIntegration/private/waylandeglclientbufferintegration_p.h> QT_BEGIN_NAMESPACE diff --git a/sync.profile b/sync.profile index 2d3e57ce3..6becb2a93 100644 --- a/sync.profile +++ b/sync.profile @@ -2,6 +2,7 @@ "QtWaylandCompositor" => "$basedir/src/compositor", "QtWaylandClient" => "$basedir/src/client", "QtWaylandEglClientHwIntegration" => "$basedir/src/hardwareintegration/client/wayland-egl", + "QtWaylandEglCompositorHwIntegration" => "$basedir/src/hardwareintegration/compositor/wayland-egl", ); %moduleheaders = ( # restrict the module headers to those found in relative path ); |