From a77ca7c9c45c9d6f1b4f93beefd338b4527ab02b Mon Sep 17 00:00:00 2001 From: Elvis Lee Date: Fri, 12 Mar 2021 16:09:12 +0900 Subject: Support additional gbm surface flags MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Some vendor requires more gbm surface flags for specific purpose, such as protected content. Change-Id: Ie7db337e05f941b5480ffaccf61fbc94eb989ffc Reviewed-by: Tor Arne Vestbø --- .../eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp | 4 ++-- .../eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen_p.h | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'src/plugins/platforms/eglfs/deviceintegration') diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp index 6f77a0729c..a44eaff638 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp @@ -170,7 +170,7 @@ gbm_surface *QEglFSKmsGbmScreen::createSurface(EGLConfig eglConfig) rawGeometry().width(), rawGeometry().height(), native_format, - GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING); + gbmFlags()); if (m_gbm_surface) m_output.drm_format = gbmFormatToDrmFormat(native_format); } @@ -187,7 +187,7 @@ gbm_surface *QEglFSKmsGbmScreen::createSurface(EGLConfig eglConfig) rawGeometry().width(), rawGeometry().height(), gbmFormat, - GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING); + gbmFlags()); } } return m_gbm_surface; // not owned, gets destroyed in QEglFSKmsGbmIntegration::destroyNativeWindow() via QEglFSKmsGbmWindow::invalidateSurface() diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen_p.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen_p.h index 5be28fa971..ae12e95e62 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen_p.h +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen_p.h @@ -82,6 +82,8 @@ public: virtual void flip(); virtual void updateFlipStatus(); + virtual uint32_t gbmFlags() { return GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING; } + protected: void flipFinished(); void ensureModeSet(uint32_t fb); -- cgit v1.2.3