From beeae174f9fffe6ea9c50a717a9b45c71ed45ea9 Mon Sep 17 00:00:00 2001 From: Angelo Compagnucci Date: Tue, 7 Feb 2023 18:17:14 +0100 Subject: [PATCH] package/qt6/qt6base: add opengl support Signed-off-by: Angelo Compagnucci Signed-off-by: Thomas Petazzoni --- package/qt6/Config.in | 5 ++++ package/qt6/qt6base/Config.in | 42 +++++++++++++++++++++++++++++++++- package/qt6/qt6base/qt6base.mk | 18 ++++++++++++++- 3 files changed, 63 insertions(+), 2 deletions(-) diff --git a/package/qt6/Config.in b/package/qt6/Config.in index 4b2b9a1174..831ae72c3c 100644 --- a/package/qt6/Config.in +++ b/package/qt6/Config.in @@ -12,6 +12,11 @@ config BR2_PACKAGE_QT6_ARCH_SUPPORTS default y if BR2_sparc64 depends on BR2_USE_MMU +config BR2_PACKAGE_QT6_GL_SUPPORTS + bool + default y + depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES + comment "qt6 needs a toolchain w/ C++, threads, wchar, dynamic library, gcc >= 8, host gcc >= 8" depends on !BR2_PACKAGE_QT5 depends on BR2_PACKAGE_QT6_ARCH_SUPPORTS diff --git a/package/qt6/qt6base/Config.in b/package/qt6/qt6base/Config.in index 973fb2f11c..131dfadc1b 100644 --- a/package/qt6/qt6base/Config.in +++ b/package/qt6/qt6base/Config.in @@ -36,7 +36,8 @@ config BR2_PACKAGE_QT6BASE_GUI # At least one graphic backend must be enabled, so enable # linuxfb if nothing is enabled. select BR2_PACKAGE_QT6BASE_LINUXFB if \ - !BR2_PACKAGE_QT6BASE_XCB + !BR2_PACKAGE_QT6BASE_XCB && \ + !BR2_PACKAGE_QT6BASE_EGLFS help This option enables the Qt6Gui library. @@ -59,6 +60,45 @@ config BR2_PACKAGE_QT6BASE_XCB comment "X.org XCB backend available if X.org is enabled" depends on !BR2_PACKAGE_XORG7 +config BR2_PACKAGE_QT6BASE_EGLFS + bool "eglfs support" + depends on BR2_PACKAGE_HAS_LIBEGL + depends on BR2_PACKAGE_HAS_LIBGBM + depends on BR2_PACKAGE_QT6_GL_SUPPORTS + select BR2_PACKAGE_QT6BASE_OPENGL + +config BR2_PACKAGE_QT6BASE_OPENGL + bool "OpenGL support" + depends on BR2_PACKAGE_QT6_GL_SUPPORTS + help + This option enables OpenGL support. + +comment "OpenGL support needs an OpenGL-capable backend" + depends on !BR2_PACKAGE_QT6_GL_SUPPORTS + +if BR2_PACKAGE_QT6BASE_OPENGL + +choice + prompt "OpenGL API" + help + Select OpenGL API. + +config BR2_PACKAGE_QT6BASE_OPENGL_DESKTOP + bool "Desktop OpenGL" + depends on BR2_PACKAGE_HAS_LIBGL + help + Use desktop OpenGL. + +config BR2_PACKAGE_QT6BASE_OPENGL_ES2 + bool "OpenGL ES 2.0+" + depends on BR2_PACKAGE_HAS_LIBGLES + help + Use OpenGL ES 2.0 and later versions. + +endchoice + +endif + config BR2_PACKAGE_QT6BASE_FONTCONFIG bool "fontconfig support" select BR2_PACKAGE_FONTCONFIG diff --git a/package/qt6/qt6base/qt6base.mk b/package/qt6/qt6base/qt6base.mk index 911375aa6d..2540fbb59c 100644 --- a/package/qt6/qt6base/qt6base.mk +++ b/package/qt6/qt6base/qt6base.mk @@ -144,7 +144,6 @@ ifeq ($(BR2_PACKAGE_QT6BASE_GUI),y) QT6BASE_CONF_OPTS += \ -DFEATURE_gui=ON \ -DFEATURE_freetype=ON \ - -DINPUT_opengl=no \ -DFEATURE_vulkan=OFF QT6BASE_DEPENDENCIES += freetype @@ -230,6 +229,23 @@ else QT6BASE_CONF_OPTS += -DFEATURE_widgets=OFF endif +ifeq ($(BR2_PACKAGE_QT6BASE_EGLFS),y) +QT6BASE_CONF_OPTS += -DFEATURE_egl=ON -DFEATURE_eglfs=ON +QT6BASE_DEPENDENCIES += libegl libgbm +else +QT6BASE_CONF_OPTS += -DFEATURE_eglfs=OFF +endif + +ifeq ($(BR2_PACKAGE_QT6BASE_OPENGL_DESKTOP),y) +QT6BASE_CONF_OPTS += -DFEATURE_opengl=ON -DFEATURE_opengl_desktop=ON +QT6BASE_DEPENDENCIES += libgl +else ifeq ($(BR2_PACKAGE_QT6BASE_OPENGL_ES2),y) +QT6BASE_CONF_OPTS += -DFEATURE_opengl=ON -DFEATURE_opengles2=ON +QT6BASE_DEPENDENCIES += libgles +else +QT6BASE_CONF_OPTS += -DFEATURE_opengl=OFF -DINPUT_opengl=no +endif + else QT6BASE_CONF_OPTS += -DFEATURE_gui=OFF endif