summaryrefslogtreecommitdiffstats
path: root/src/platformheaders
diff options
context:
space:
mode:
Diffstat (limited to 'src/platformheaders')
-rw-r--r--src/platformheaders/eglfsfunctions/qeglfsfunctions.h50
-rw-r--r--src/platformheaders/eglfsfunctions/qeglfsfunctions.qdoc30
2 files changed, 80 insertions, 0 deletions
diff --git a/src/platformheaders/eglfsfunctions/qeglfsfunctions.h b/src/platformheaders/eglfsfunctions/qeglfsfunctions.h
index b2f3b4c872..67522ec9be 100644
--- a/src/platformheaders/eglfsfunctions/qeglfsfunctions.h
+++ b/src/platformheaders/eglfsfunctions/qeglfsfunctions.h
@@ -57,6 +57,56 @@ public:
if (func)
func(filename);
}
+
+ typedef int (*Vsp2AddLayerType)(const QScreen *screen, int dmabufFd, const QSize &size, const QPoint &position, uint drmPixelFormat, uint bytesPerLine);
+ static QByteArray vsp2AddLayerTypeIdentifier() { return QByteArrayLiteral("EglFSVsp2AddLayer"); }
+
+ //vsp2 functions are currently internal and preliminary (see qdoc file)
+ static int vsp2AddLayer(const QScreen *screen, int dmabufFd, const QSize &size, const QPoint &position, uint drmPixelFormat, uint bytesPerLine)
+ {
+ auto func = reinterpret_cast<Vsp2AddLayerType>(QGuiApplication::platformFunction(vsp2AddLayerTypeIdentifier()));
+ if (func)
+ return func(screen, dmabufFd, size, position, drmPixelFormat, bytesPerLine);
+ return 0;
+ }
+
+ typedef bool (*Vsp2RemoveLayerType)(const QScreen *screen, int id);
+ static QByteArray vsp2RemoveLayerTypeIdentifier() { return QByteArrayLiteral("EglFSVsp2RemoveLayer"); }
+
+ static bool vsp2RemoveLayer(const QScreen *screen, int id)
+ {
+ auto func = reinterpret_cast<Vsp2RemoveLayerType>(QGuiApplication::platformFunction(vsp2RemoveLayerTypeIdentifier()));
+ return func && func(screen, id);
+ }
+
+ typedef void (*Vsp2SetLayerBufferType)(const QScreen *screen, int id, int dmabufFd);
+ static QByteArray vsp2SetLayerBufferTypeIdentifier() { return QByteArrayLiteral("EglFSVsp2SetLayerBuffer"); }
+
+ static void vsp2SetLayerBuffer(const QScreen *screen, int id, int dmabufFd)
+ {
+ auto func = reinterpret_cast<Vsp2SetLayerBufferType>(QGuiApplication::platformFunction(vsp2SetLayerBufferTypeIdentifier()));
+ if (func)
+ func(screen, id, dmabufFd);
+ }
+
+ typedef bool (*Vsp2SetLayerPositionType)(const QScreen *screen, int id, const QPoint &position);
+ static QByteArray vsp2SetLayerPositionTypeIdentifier() { return QByteArrayLiteral("EglFSVsp2SetLayerPosition"); }
+
+ static bool vsp2SetLayerPosition(const QScreen *screen, int id, const QPoint &position)
+ {
+ auto func = reinterpret_cast<Vsp2SetLayerPositionType>(QGuiApplication::platformFunction(vsp2SetLayerPositionTypeIdentifier()));
+ return func && func(screen, id, position);
+ }
+
+ typedef void (*Vsp2AddBlendListenerType)(const QScreen *screen, void(*callback)());
+ static QByteArray vsp2AddBlendListenerTypeIdentifier() { return QByteArrayLiteral("EglFSVsp2AddBlendListener"); }
+
+ static void vsp2AddBlendListener(const QScreen *screen, void(*callback)())
+ {
+ auto func = reinterpret_cast<Vsp2AddBlendListenerType>(QGuiApplication::platformFunction(vsp2AddBlendListenerTypeIdentifier()));
+ if (func)
+ func(screen, callback);
+ }
};
diff --git a/src/platformheaders/eglfsfunctions/qeglfsfunctions.qdoc b/src/platformheaders/eglfsfunctions/qeglfsfunctions.qdoc
index 6aca88e46e..d458d73155 100644
--- a/src/platformheaders/eglfsfunctions/qeglfsfunctions.qdoc
+++ b/src/platformheaders/eglfsfunctions/qeglfsfunctions.qdoc
@@ -65,3 +65,33 @@
\c{QT_QPA_EGLFS_DISABLE_INPUT} is set or when building Qt without evdev
support, this function will have no effect.
*/
+
+/*!
+ \fn int QEglFSFunctions::vsp2AddLayer(const QScreen *screen, int dmabufFd, const QSize &size, const QPoint &position, uint drmPixelFormat, uint bytesPerLine)
+ \internal
+ \preliminary
+*/
+
+/*!
+ \fn bool QEglFSFunctions::vsp2RemoveLayer(const QScreen *screen, int id)
+ \internal
+ \preliminary
+*/
+
+/*!
+ \fn void QEglFSFunctions::vsp2SetLayerBuffer(const QScreen *screen, int id, int dmabufFd)
+ \internal
+ \preliminary
+*/
+
+/*!
+ \fn bool QEglFSFunctions::vsp2SetLayerPosition(const QScreen *screen, int id, const QPoint &position)
+ \internal
+ \preliminary
+*/
+
+/*!
+ \fn void QEglFSFunctions::vsp2AddBlendListener(const QScreen *screen, void(*callback)())
+ \internal
+ \preliminary
+*/