From 276ec1ab00fccf98c5c5a9a9b04c54a944b4178e Mon Sep 17 00:00:00 2001 From: Lionel CHAZALLON Date: Mon, 8 Jan 2018 19:48:36 +0100 Subject: eglfs/kms : implement nativeResourceForScreen This will return the crtc_id for the given screen. Change-Id: Ia4510a730e2d98c705f382644e2ab5a432612c02 Reviewed-by: Laszlo Agocs --- .../eglfs_kms_support/qeglfskmsintegration.cpp | 10 ++++++++++ .../deviceintegration/eglfs_kms_support/qeglfskmsintegration.h | 1 + 2 files changed, 11 insertions(+) (limited to 'src/plugins/platforms/eglfs') 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(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; -- cgit v1.2.3