From be015ef27d0233e6f0e7ea25a88462f4fdb31764 Mon Sep 17 00:00:00 2001 From: Lionel CHAZALLON Date: Thu, 8 Mar 2018 08:19:04 +0100 Subject: eglfs/kms: Add DRM atomic ModeSetting This patch will allow to set the video mode with DRM atomic API when available. Using Atomic ModeSetting will allow further to enable framebuffer upscaling which is something not possible with DRM legacy API or at least not supported on all devices in a reliable way. Change-Id: Ie340585cf4cbf5d65555c9a7c547dcbadb327fc0 Reviewed-by: Laszlo Agocs --- src/platformsupport/kmsconvenience/qkmsdevice_p.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/platformsupport/kmsconvenience/qkmsdevice_p.h') diff --git a/src/platformsupport/kmsconvenience/qkmsdevice_p.h b/src/platformsupport/kmsconvenience/qkmsdevice_p.h index c7692d12ee..2210ef479d 100644 --- a/src/platformsupport/kmsconvenience/qkmsdevice_p.h +++ b/src/platformsupport/kmsconvenience/qkmsdevice_p.h @@ -195,6 +195,11 @@ struct QKmsOutput QString clone_source; QVector available_planes; struct QKmsPlane *eglfs_plane = nullptr; + uint32_t crtcIdPropertyId = 0; + uint32_t modeIdPropertyId = 0; + uint32_t activePropertyId = 0; + + uint32_t mode_blob_id = 0; void restoreMode(QKmsDevice *device); void cleanup(QKmsDevice *device); @@ -255,6 +260,8 @@ protected: typedef std::function PropCallback; void enumerateProperties(drmModeObjectPropertiesPtr objProps, PropCallback callback); void discoverPlanes(); + void parseConnectorProperties(uint32_t connectorId, QKmsOutput *output); + void parseCrtcProperties(uint32_t crtcId, QKmsOutput *output); QKmsScreenConfig *m_screenConfig; QString m_path; -- cgit v1.2.3