summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/eglfs/deviceintegration
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/eglfs/deviceintegration')
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2integration.cpp55
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2integration.h10
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2screen.h15
3 files changed, 9 insertions, 71 deletions
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2integration.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2integration.cpp
index 7e8462eb4c..dbcbe589ea 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2integration.cpp
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2integration.cpp
@@ -52,7 +52,6 @@
#include <QtCore/QJsonArray>
#include <QtGui/qpa/qplatformwindow.h>
#include <QtGui/QScreen>
-#include <QtPlatformHeaders/private/qeglfsfunctions_p.h>
#include <xf86drm.h>
#include <xf86drmMode.h>
@@ -123,24 +122,6 @@ void QEglFSKmsVsp2Integration::presentBuffer(QPlatformSurface *surface)
screen->flip();
}
-QFunctionPointer QEglFSKmsVsp2Integration::platformFunction(const QByteArray &function) const
-{
- if (function == QEglFSFunctions::vsp2AddLayerTypeIdentifier())
- return QFunctionPointer(addLayerStatic);
- if (function == QEglFSFunctions::vsp2RemoveLayerTypeIdentifier())
- return QFunctionPointer(removeLayerStatic);
- if (function == QEglFSFunctions::vsp2SetLayerBufferTypeIdentifier())
- return QFunctionPointer(setLayerBufferStatic);
- if (function == QEglFSFunctions::vsp2SetLayerPositionTypeIdentifier())
- return QFunctionPointer(setLayerPositionStatic);
- if (function == QEglFSFunctions::vsp2SetLayerAlphaTypeIdentifier())
- return QFunctionPointer(setLayerAlphaStatic);
- if (function == QEglFSFunctions::vsp2AddBlendListenerTypeIdentifier())
- return QFunctionPointer(addBlendListenerStatic);
-
- return nullptr;
-}
-
QKmsDevice *QEglFSKmsVsp2Integration::createDevice()
{
QString path = screenConfig()->devicePath();
@@ -162,42 +143,6 @@ QKmsDevice *QEglFSKmsVsp2Integration::createDevice()
return new QEglFSKmsVsp2Device(screenConfig(), path);
}
-int QEglFSKmsVsp2Integration::addLayerStatic(const QScreen *screen, int dmabufFd, const QSize &size, const QPoint &position, uint pixelFormat, uint bytesPerLine)
-{
- auto vsp2Screen = static_cast<QEglFSKmsVsp2Screen *>(screen->handle());
- return vsp2Screen->addLayer(dmabufFd, size, position, pixelFormat, bytesPerLine);
-}
-
-bool QEglFSKmsVsp2Integration::removeLayerStatic(const QScreen *screen, int id)
-{
- auto vsp2Screen = static_cast<QEglFSKmsVsp2Screen *>(screen->handle());
- return vsp2Screen->removeLayer(id);
-}
-
-void QEglFSKmsVsp2Integration::setLayerBufferStatic(const QScreen *screen, int id, int dmabufFd)
-{
- auto vsp2Screen = static_cast<QEglFSKmsVsp2Screen *>(screen->handle());
- vsp2Screen->setLayerBuffer(id, dmabufFd);
-}
-
-void QEglFSKmsVsp2Integration::setLayerPositionStatic(const QScreen *screen, int id, const QPoint &position)
-{
- auto vsp2Screen = static_cast<QEglFSKmsVsp2Screen *>(screen->handle());
- vsp2Screen->setLayerPosition(id, position);
-}
-
-void QEglFSKmsVsp2Integration::setLayerAlphaStatic(const QScreen *screen, int id, qreal alpha)
-{
- auto vsp2Screen = static_cast<QEglFSKmsVsp2Screen *>(screen->handle());
- vsp2Screen->setLayerAlpha(id, alpha);
-}
-
-void QEglFSKmsVsp2Integration::addBlendListenerStatic(const QScreen *screen, void(*callback)())
-{
- auto vsp2Screen = static_cast<QEglFSKmsVsp2Screen *>(screen->handle());
- vsp2Screen->addBlendListener(callback);
-}
-
class QEglFSKmsVsp2Window : public QEglFSWindow
{
public:
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2integration.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2integration.h
index b1a8a2edf3..a67d05488c 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2integration.h
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2integration.h
@@ -62,18 +62,8 @@ public:
void presentBuffer(QPlatformSurface *surface) override;
QEglFSWindow *createWindow(QWindow *window) const override;
- QFunctionPointer platformFunction(const QByteArray &function) const override;
-
protected:
QKmsDevice *createDevice() override;
-
-private:
- static int addLayerStatic(const QScreen *screen, int dmabufFd, const QSize &size, const QPoint &position, uint pixelFormat, uint bytesPerLine);
- static bool removeLayerStatic(const QScreen *screen, int id);
- static void setLayerBufferStatic(const QScreen *screen, int id, int dmabufFd);
- static void setLayerPositionStatic(const QScreen *screen, int id, const QPoint &position);
- static void setLayerAlphaStatic(const QScreen *screen, int id, qreal alpha);
- static void addBlendListenerStatic(const QScreen *screen, void(*callback)());
};
QT_END_NAMESPACE
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2screen.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2screen.h
index 9aa23d90a6..369d175bcf 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2screen.h
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2screen.h
@@ -46,11 +46,14 @@
#include "qvsp2blendingdevice.h"
#include <QtCore/QMutex>
+#include <qpa/qplatformscreen_p.h>
+
#include <gbm.h>
QT_BEGIN_NAMESPACE
class QEglFSKmsVsp2Screen : public QEglFSKmsScreen
+ , public QPlatformInterface::Private::QVsp2Screen
{
public:
QEglFSKmsVsp2Screen(QEglFSKmsDevice *device, const QKmsOutput &output);
@@ -63,12 +66,12 @@ public:
void initQtLayer();
//TODO: use a fixed index API instead of auto increment?
- int addLayer(int dmabufFd, const QSize &size, const QPoint &position, uint drmPixelFormat, uint bytesPerLine);
- void setLayerBuffer(int id, int dmabufFd);
- void setLayerPosition(int id, const QPoint &position);
- void setLayerAlpha(int id, qreal alpha);
- bool removeLayer(int id);
- void addBlendListener(void (*callback)());
+ int addLayer(int dmabufFd, const QSize &size, const QPoint &position, uint drmPixelFormat, uint bytesPerLine) override;
+ void setLayerBuffer(int id, int dmabufFd) override;
+ void setLayerPosition(int id, const QPoint &position) override;
+ void setLayerAlpha(int id, qreal alpha) override;
+ bool removeLayer(int id) override;
+ void addBlendListener(void (*callback)()) override;
void flip();
void blendAndFlipDrm();