diff options
Diffstat (limited to 'src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support')
-rw-r--r-- | src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp | 6 | ||||
-rw-r--r-- | src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.cpp | 5 |
2 files changed, 8 insertions, 3 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 06bc272050..a6aac61506 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp @@ -138,6 +138,10 @@ void *QEglFSKmsIntegration::nativeResourceForIntegration(const QByteArray &name) if (name == QByteArrayLiteral("dri_fd") && m_device) return (void *) (qintptr) m_device->fd(); +#if QT_CONFIG(drm_atomic) + if (name == QByteArrayLiteral("dri_atomic_request") && m_device) + return (void *) (qintptr) m_device->atomic_request(); +#endif return nullptr; } @@ -147,6 +151,8 @@ void *QEglFSKmsIntegration::nativeResourceForScreen(const QByteArray &resource, if (s) { if (resource == QByteArrayLiteral("dri_crtcid")) return (void *) (qintptr) s->output().crtc_id; + if (resource == QByteArrayLiteral("dri_connectorid")) + return (void *) (qintptr) s->output().connector_id; } return nullptr; } diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.cpp index 5e45b42abe..e5354d97bd 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.cpp +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.cpp @@ -113,10 +113,9 @@ QRect QEglFSKmsScreen::rawGeometry() const if (m_headless) return QRect(QPoint(0, 0), m_device->screenConfig()->headlessSize()); - const int mode = m_output.mode; return QRect(m_pos.x(), m_pos.y(), - m_output.modes[mode].hdisplay, - m_output.modes[mode].vdisplay); + m_output.size.width(), + m_output.size.height()); } int QEglFSKmsScreen::depth() const |