summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/eglfs/deviceintegration/eglfs_kms')
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/CMakeLists.txt40
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms-plugin.pro17
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms.pro33
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms_gbm_support.pro25
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp6
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor_p.h (renamed from src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.h)11
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice.cpp15
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice_p.h (renamed from src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice.h)18
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp10
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration_p.h (renamed from src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.h)15
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmmain.cpp2
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp6
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen_p.h (renamed from src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.h)21
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow.cpp6
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow_p.h (renamed from src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow.h)13
15 files changed, 169 insertions, 69 deletions
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/CMakeLists.txt b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/CMakeLists.txt
index 3f27a9c397..a790a01c62 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/CMakeLists.txt
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/CMakeLists.txt
@@ -1,6 +1,35 @@
# Generated from eglfs_kms.pro.
#####################################################################
+## EglFsKmsGbmSupport Module:
+#####################################################################
+
+qt_internal_add_module(EglFsKmsGbmSupport
+ INTERNAL_MODULE
+ SOURCES
+ qeglfskmsgbmcursor.cpp qeglfskmsgbmcursor_p.h
+ qeglfskmsgbmdevice.cpp qeglfskmsgbmdevice_p.h
+ qeglfskmsgbmintegration.cpp qeglfskmsgbmintegration_p.h
+ qeglfskmsgbmscreen.cpp qeglfskmsgbmscreen_p.h
+ qeglfskmsgbmwindow.cpp qeglfskmsgbmwindow_p.h
+ DEFINES
+ QT_EGL_NO_X11
+ INCLUDE_DIRECTORIES
+ ../../api
+ ../eglfs_kms_support
+ PUBLIC_LIBRARIES
+ Libdrm::Libdrm
+ Qt::Core
+ Qt::CorePrivate
+ Qt::EglFSDeviceIntegrationPrivate
+ Qt::EglFsKmsSupportPrivate
+ Qt::Gui
+ Qt::GuiPrivate
+ Qt::KmsSupportPrivate
+ gbm::gbm
+)
+
+#####################################################################
## QEglFSKmsGbmIntegrationPlugin Plugin:
#####################################################################
@@ -8,22 +37,15 @@ qt_internal_add_plugin(QEglFSKmsGbmIntegrationPlugin
OUTPUT_NAME qeglfs-kms-integration
TYPE egldeviceintegrations
SOURCES
- qeglfskmsgbmcursor.cpp qeglfskmsgbmcursor.h
- qeglfskmsgbmdevice.cpp qeglfskmsgbmdevice.h
- qeglfskmsgbmintegration.cpp qeglfskmsgbmintegration.h
qeglfskmsgbmmain.cpp
- qeglfskmsgbmscreen.cpp qeglfskmsgbmscreen.h
- qeglfskmsgbmwindow.cpp qeglfskmsgbmwindow.h
DEFINES
QT_EGL_NO_X11
- INCLUDE_DIRECTORIES
- ../../api
- ../eglfs_kms_support
PUBLIC_LIBRARIES
Libdrm::Libdrm
Qt::Core
Qt::CorePrivate
Qt::EglFSDeviceIntegrationPrivate
+ Qt::EglFsKmsGbmSupportPrivate
Qt::EglFsKmsSupportPrivate
Qt::Gui
Qt::GuiPrivate
@@ -31,5 +53,5 @@ qt_internal_add_plugin(QEglFSKmsGbmIntegrationPlugin
gbm::gbm
)
-#### Keys ignored in scope 1:.:.:eglfs_kms.pro:<TRUE>:
+#### Keys ignored in scope 1:.:.:eglfs_kms-plugin.pro:<TRUE>:
# OTHER_FILES = "$$PWD/eglfs_kms.json"
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms-plugin.pro b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms-plugin.pro
new file mode 100644
index 0000000000..37c0e09c74
--- /dev/null
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms-plugin.pro
@@ -0,0 +1,17 @@
+TARGET = qeglfs-kms-integration
+
+PLUGIN_TYPE = egldeviceintegrations
+PLUGIN_CLASS_NAME = QEglFSKmsGbmIntegrationPlugin
+load(qt_plugin)
+
+QT += core-private gui-private eglfsdeviceintegration-private eglfs_kms_support-private kms_support-private eglfs_kms_gbm_support-private
+
+# Avoid X11 header collision, use generic EGL native types
+DEFINES += QT_EGL_NO_X11
+
+QMAKE_USE += gbm drm
+CONFIG += egl
+
+SOURCES += $$PWD/qeglfskmsgbmmain.cpp
+
+OTHER_FILES += $$PWD/eglfs_kms.json
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms.pro b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms.pro
index caf723155a..23063c052e 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms.pro
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms.pro
@@ -1,30 +1,5 @@
-TARGET = qeglfs-kms-integration
+TEMPLATE = subdirs
+CONFIG += ordered
-PLUGIN_TYPE = egldeviceintegrations
-PLUGIN_CLASS_NAME = QEglFSKmsGbmIntegrationPlugin
-load(qt_plugin)
-
-QT += core-private gui-private eglfsdeviceintegration-private eglfs_kms_support-private kms_support-private
-
-INCLUDEPATH += $$PWD/../../api $$PWD/../eglfs_kms_support
-
-# Avoid X11 header collision, use generic EGL native types
-DEFINES += QT_EGL_NO_X11
-
-QMAKE_USE += gbm drm
-CONFIG += egl
-
-SOURCES += $$PWD/qeglfskmsgbmmain.cpp \
- $$PWD/qeglfskmsgbmintegration.cpp \
- $$PWD/qeglfskmsgbmdevice.cpp \
- $$PWD/qeglfskmsgbmscreen.cpp \
- $$PWD/qeglfskmsgbmcursor.cpp \
- $$PWD/qeglfskmsgbmwindow.cpp
-
-HEADERS += $$PWD/qeglfskmsgbmintegration.h \
- $$PWD/qeglfskmsgbmdevice.h \
- $$PWD/qeglfskmsgbmscreen.h \
- $$PWD/qeglfskmsgbmcursor.h \
- $$PWD/qeglfskmsgbmwindow.h
-
-OTHER_FILES += $$PWD/eglfs_kms.json
+SUBDIRS += eglfs_kms_gbm_support.pro
+SUBDIRS += eglfs_kms-plugin.pro
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms_gbm_support.pro b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms_gbm_support.pro
new file mode 100644
index 0000000000..7fde6f81d7
--- /dev/null
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms_gbm_support.pro
@@ -0,0 +1,25 @@
+TARGET = QtEglFsKmsGbmSupport
+CONFIG += internal_module
+load(qt_module)
+
+QT += core-private gui-private eglfsdeviceintegration-private eglfs_kms_support-private kms_support-private
+
+INCLUDEPATH += $$PWD/../../api $$PWD/../eglfs_kms_support
+
+# Avoid X11 header collision, use generic EGL native types
+DEFINES += QT_EGL_NO_X11
+
+QMAKE_USE += gbm drm
+CONFIG += egl
+
+SOURCES += $$PWD/qeglfskmsgbmintegration.cpp \
+ $$PWD/qeglfskmsgbmdevice.cpp \
+ $$PWD/qeglfskmsgbmscreen.cpp \
+ $$PWD/qeglfskmsgbmcursor.cpp \
+ $$PWD/qeglfskmsgbmwindow.cpp
+
+HEADERS += $$PWD/qeglfskmsgbmintegration_p.h \
+ $$PWD/qeglfskmsgbmdevice_p.h \
+ $$PWD/qeglfskmsgbmscreen_p.h \
+ $$PWD/qeglfskmsgbmcursor_p.h \
+ $$PWD/qeglfskmsgbmwindow_p.h
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp
index c802b8e112..b6d2a17079 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp
@@ -39,9 +39,9 @@
**
****************************************************************************/
-#include "qeglfskmsgbmcursor.h"
-#include "qeglfskmsgbmscreen.h"
-#include "qeglfskmsgbmdevice.h"
+#include "qeglfskmsgbmcursor_p.h"
+#include "qeglfskmsgbmscreen_p.h"
+#include "qeglfskmsgbmdevice_p.h"
#include <QtCore/QFile>
#include <QtCore/QJsonDocument>
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor_p.h
index 55420cef62..0d4a472d79 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.h
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor_p.h
@@ -40,6 +40,17 @@
#ifndef QEGLFSKMSGBMCURSOR_H
#define QEGLFSKMSGBMCURSOR_H
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
#include <qpa/qplatformcursor.h>
#include <QtCore/QList>
#include <QtGui/QImage>
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice.cpp
index d32e36b04d..c561b2072e 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice.cpp
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice.cpp
@@ -39,8 +39,8 @@
**
****************************************************************************/
-#include "qeglfskmsgbmdevice.h"
-#include "qeglfskmsgbmscreen.h"
+#include "qeglfskmsgbmdevice_p.h"
+#include "qeglfskmsgbmscreen_p.h"
#include "qeglfsintegration_p.h"
@@ -131,14 +131,19 @@ void QEglFSKmsGbmDevice::destroyGlobalCursor()
}
}
-QPlatformScreen *QEglFSKmsGbmDevice::createScreen(const QKmsOutput &output)
+void QEglFSKmsGbmDevice::createGlobalCursor(QEglFSKmsGbmScreen *screen)
{
- QEglFSKmsGbmScreen *screen = new QEglFSKmsGbmScreen(this, output, false);
-
if (!m_globalCursor && screenConfig()->hwCursor()) {
qCDebug(qLcEglfsKmsDebug, "Creating new global GBM mouse cursor");
m_globalCursor = new QEglFSKmsGbmCursor(screen);
}
+}
+
+QPlatformScreen *QEglFSKmsGbmDevice::createScreen(const QKmsOutput &output)
+{
+ QEglFSKmsGbmScreen *screen = new QEglFSKmsGbmScreen(this, output, false);
+
+ createGlobalCursor(screen);
return screen;
}
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice_p.h
index 1964b30c5e..5a9cdb1565 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice.h
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice_p.h
@@ -42,8 +42,19 @@
#ifndef QEGLFSKMSGBMDEVICE_H
#define QEGLFSKMSGBMDEVICE_H
-#include "qeglfskmsgbmcursor.h"
-#include <qeglfskmsdevice.h>
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qeglfskmsgbmcursor_p.h"
+#include <qeglfskmsdevice_p.h>
#include <gbm.h>
@@ -51,7 +62,7 @@ QT_BEGIN_NAMESPACE
class QEglFSKmsScreen;
-class QEglFSKmsGbmDevice: public QEglFSKmsDevice
+class Q_EGLFS_EXPORT QEglFSKmsGbmDevice: public QEglFSKmsDevice
{
public:
QEglFSKmsGbmDevice(QKmsScreenConfig *screenConfig, const QString &path);
@@ -64,6 +75,7 @@ public:
QPlatformCursor *globalCursor() const;
void destroyGlobalCursor();
+ void createGlobalCursor(QEglFSKmsGbmScreen *screen);
QPlatformScreen *createScreen(const QKmsOutput &output) override;
QPlatformScreen *createHeadlessScreen() override;
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp
index caa1187b40..791512237e 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp
@@ -39,11 +39,11 @@
**
****************************************************************************/
-#include "qeglfskmsgbmintegration.h"
-#include "qeglfskmsgbmdevice.h"
-#include "qeglfskmsgbmscreen.h"
-#include "qeglfskmsgbmcursor.h"
-#include "qeglfskmsgbmwindow.h"
+#include "qeglfskmsgbmintegration_p.h"
+#include "qeglfskmsgbmdevice_p.h"
+#include "qeglfskmsgbmscreen_p.h"
+#include "qeglfskmsgbmcursor_p.h"
+#include "qeglfskmsgbmwindow_p.h"
#include "private/qeglfscursor_p.h"
#include <QtCore/QLoggingCategory>
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration_p.h
index 71f232abf9..823e5f2c09 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.h
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration_p.h
@@ -42,7 +42,18 @@
#ifndef QEGLFSKMSGBMINTEGRATION_H
#define QEGLFSKMSGBMINTEGRATION_H
-#include "qeglfskmsintegration.h"
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <private/qeglfskmsintegration_p.h>
#include <QtCore/QMap>
#include <QtCore/QVariant>
@@ -50,7 +61,7 @@ QT_BEGIN_NAMESPACE
class QEglFSKmsDevice;
-class QEglFSKmsGbmIntegration : public QEglFSKmsIntegration
+class Q_EGLFS_EXPORT QEglFSKmsGbmIntegration : public QEglFSKmsIntegration
{
public:
QEglFSKmsGbmIntegration();
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmmain.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmmain.cpp
index 945c8b4255..65203d93c7 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmmain.cpp
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmmain.cpp
@@ -39,7 +39,7 @@
****************************************************************************/
#include "private/qeglfsdeviceintegration_p.h"
-#include "qeglfskmsgbmintegration.h"
+#include "qeglfskmsgbmintegration_p.h"
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp
index 8330a97f94..69a8aede56 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp
@@ -39,9 +39,9 @@
**
****************************************************************************/
-#include "qeglfskmsgbmscreen.h"
-#include "qeglfskmsgbmdevice.h"
-#include "qeglfskmsgbmcursor.h"
+#include "qeglfskmsgbmscreen_p.h"
+#include "qeglfskmsgbmdevice_p.h"
+#include "qeglfskmsgbmcursor_p.h"
#include "qeglfsintegration_p.h"
#include <QtCore/QLoggingCategory>
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen_p.h
index 2be1630e19..72986b45c8 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.h
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen_p.h
@@ -42,7 +42,18 @@
#ifndef QEGLFSKMSGBMSCREEN_H
#define QEGLFSKMSGBMSCREEN_H
-#include "qeglfskmsscreen.h"
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qeglfskmsscreen_p.h"
#include <QMutex>
#include <QWaitCondition>
@@ -52,7 +63,7 @@ QT_BEGIN_NAMESPACE
class QEglFSKmsGbmCursor;
-class QEglFSKmsGbmScreen : public QEglFSKmsScreen
+class Q_EGLFS_EXPORT QEglFSKmsGbmScreen : public QEglFSKmsScreen
{
public:
QEglFSKmsGbmScreen(QEglFSKmsDevice *device, const QKmsOutput &output, bool headless);
@@ -68,13 +79,13 @@ public:
void waitForFlip() override;
- void flip();
+ virtual void flip();
+ virtual void updateFlipStatus();
-private:
+protected:
void flipFinished();
void ensureModeSet(uint32_t fb);
void cloneDestFlipFinished(QEglFSKmsGbmScreen *cloneDestScreen);
- void updateFlipStatus();
gbm_surface *m_gbm_surface;
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow.cpp
index b5f34ae200..426fb8f4e9 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow.cpp
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow.cpp
@@ -37,9 +37,9 @@
**
****************************************************************************/
-#include "qeglfskmsgbmwindow.h"
-#include "qeglfskmsgbmintegration.h"
-#include "qeglfskmsgbmscreen.h"
+#include "qeglfskmsgbmwindow_p.h"
+#include "qeglfskmsgbmintegration_p.h"
+#include "qeglfskmsgbmscreen_p.h"
#include <QtGui/private/qeglconvenience_p.h>
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow_p.h
index ee4b7978f1..103361b60b 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow.h
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow_p.h
@@ -42,13 +42,24 @@
#ifndef QEGLFSKMSGBMWINDOW_H
#define QEGLFSKMSGBMWINDOW_H
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
#include "private/qeglfswindow_p.h"
QT_BEGIN_NAMESPACE
class QEglFSKmsGbmIntegration;
-class QEglFSKmsGbmWindow : public QEglFSWindow
+class Q_EGLFS_EXPORT QEglFSKmsGbmWindow : public QEglFSWindow
{
public:
QEglFSKmsGbmWindow(QWindow *w, const QEglFSKmsGbmIntegration *integration)