diff options
author | Lionel CHAZALLON <longchair@hotmail.com> | 2018-01-08 19:48:36 +0100 |
---|---|---|
committer | Lionel CHAZALLON <longchair@hotmail.com> | 2018-01-20 07:01:08 +0000 |
commit | 276ec1ab00fccf98c5c5a9a9b04c54a944b4178e (patch) | |
tree | e1f6b2c101975327fbd924f871de216ef0f170ed /src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support | |
parent | 731651af99d2c2440cc26f91115fc877fc729e3e (diff) |
eglfs/kms : implement nativeResourceForScreen
This will return the crtc_id for the given screen.
Change-Id: Ia4510a730e2d98c705f382644e2ab5a432612c02
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support')
-rw-r--r-- | src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp | 10 | ||||
-rw-r--r-- | src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.h | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp index 975b1947bf..06bc272050 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp @@ -141,6 +141,16 @@ void *QEglFSKmsIntegration::nativeResourceForIntegration(const QByteArray &name) return nullptr; } +void *QEglFSKmsIntegration::nativeResourceForScreen(const QByteArray &resource, QScreen *screen) +{ + QEglFSKmsScreen *s = static_cast<QEglFSKmsScreen *>(screen->handle()); + if (s) { + if (resource == QByteArrayLiteral("dri_crtcid")) + return (void *) (qintptr) s->output().crtc_id; + } + return nullptr; +} + QKmsDevice *QEglFSKmsIntegration::device() const { return m_device; diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.h index 26ba2fdaec..e2c37f60fc 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.h +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.h @@ -70,6 +70,7 @@ public: void waitForVSync(QPlatformSurface *surface) const override; bool supportsPBuffers() const override; void *nativeResourceForIntegration(const QByteArray &name) override; + void *nativeResourceForScreen(const QByteArray &resource, QScreen *screen) override; QKmsDevice *device() const; QKmsScreenConfig *screenConfig() const; |