[Buildroot] [PATCH v2 4/7] package/sunxi-mali-mainline: add support for different outputs
Kamel Bouhara
kamel.bouhara at bootlin.com
Tue Sep 28 22:37:51 UTC 2021
From: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
Adds support for selecting one of the four display API supported: fbdev,
wayland, x11-dmabuf, x11-ump.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
Signed-off-by: Kamel Bouhara <kamel.bouhara at bootlin.com>
---
package/sunxi-mali-mainline/Config.in | 26 ++++++++++++++++
.../sunxi-mali-mainline.mk | 30 +++++++++++++++++--
2 files changed, 53 insertions(+), 3 deletions(-)
diff --git a/package/sunxi-mali-mainline/Config.in b/package/sunxi-mali-mainline/Config.in
index a2fb95bd79..31a9152407 100644
--- a/package/sunxi-mali-mainline/Config.in
+++ b/package/sunxi-mali-mainline/Config.in
@@ -17,6 +17,24 @@ config BR2_PACKAGE_PROVIDES_LIBEGL
config BR2_PACKAGE_PROVIDES_LIBGLES
default "sunxi-mali-mainline"
+choice
+ prompt "Output"
+
+config BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_FBDEV
+ bool "fbdev"
+
+config BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_WAYLAND
+ bool "wayland"
+ depends on BR2_PACKAGE_WAYLAND
+
+config BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_X11_DMABUF
+ bool "x11 dma-buf"
+
+config BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_X11_UMP
+ bool "x11 ump"
+
+endchoice
+
choice
prompt "Version"
default BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2
@@ -27,9 +45,17 @@ config BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2
bool "r6p2"
config BR2_PACKAGE_SUNXI_MALI_MAINLINE_R8P1
bool "r8p1"
+ depends on BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_FBDEV
endchoice
+config BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT
+ string
+ default "fbdev" if BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_FBDEV
+ default "wayland" if BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_WAYLAND
+ default "x11_dma_buf" if BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_X11_DMABUF
+ default "x11_ump" if BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_X11_UMP
+
config BR2_PACKAGE_SUNXI_MALI_MAINLINE_REVISION
string
default "r6p2" if BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2
diff --git a/package/sunxi-mali-mainline/sunxi-mali-mainline.mk b/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
index b46f572311..e9091b05a2 100644
--- a/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
+++ b/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
@@ -21,22 +21,46 @@ else ifeq ($(BR2_aarch64),y)
SUNXI_MALI_MAINLINE_ARCH=arm64
endif
+SUNXI_MALI_MAINLINE_OUTPUT = $(call qstrip,$(BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT))
+SUNXI_MALI_MAINLINE_LIB_SUBDIR = \
+ $(SUNXI_MALI_MAINLINE_REV)/$(SUNXI_MALI_MAINLINE_ARCH)/$(SUNXI_MALI_MAINLINE_OUTPUT)
+
+ifeq ($(BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_X11_DMABUF)$(BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_X11_UMP),y)
+SUNXI_MALI_MAINLINE_INCLUDE_SUBDIR = include/x11
+else
+SUNXI_MALI_MAINLINE_INCLUDE_SUBDIR = \
+ include/$(SUNXI_MALI_MAINLINE_OUTPUT)
+define SUNXI_MALI_MAINLINE_FIXUP_EGL_PC
+ $(SED) "s/Cflags: /Cflags: -DMESA_EGL_NO_X11_HEADERS /" \
+ $(STAGING_DIR)/usr/lib/pkgconfig/egl.pc
+endef
+endif
+
+ifeq ($(BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_WAYLAND),y)
+SUNXI_MALI_MAINLINE_DEPENDENCIES += wayland
+endif
+
+# FIXME: install gbm.pc conditionally
define SUNXI_MALI_MAINLINE_INSTALL_STAGING_CMDS
mkdir -p $(STAGING_DIR)/usr/lib $(STAGING_DIR)/usr/include
- cp -rf $(@D)/$(SUNXI_MALI_MAINLINE_REV)/$(SUNXI_MALI_MAINLINE_ARCH)/fbdev/*.so* \
+ cp -rf $(@D)/$(SUNXI_MALI_MAINLINE_LIB_SUBDIR)/*.so* \
$(STAGING_DIR)/usr/lib/
- cp -rf $(@D)/include/fbdev/* $(STAGING_DIR)/usr/include/
+ cp -rf $(@D)/$(SUNXI_MALI_MAINLINE_INCLUDE_SUBDIR)/* \
+ $(STAGING_DIR)/usr/include/
$(INSTALL) -D -m 0644 package/sunxi-mali-mainline/egl.pc \
$(STAGING_DIR)/usr/lib/pkgconfig/egl.pc
$(INSTALL) -D -m 0644 package/sunxi-mali-mainline/glesv2.pc \
$(STAGING_DIR)/usr/lib/pkgconfig/glesv2.pc
+ $(INSTALL) -D -m 0644 package/sunxi-mali-mainline/gbm.pc \
+ $(STAGING_DIR)/usr/lib/pkgconfig/gbm.pc
+ $(SUNXI_MALI_MAINLINE_FIXUP_EGL_PC)
endef
define SUNXI_MALI_MAINLINE_INSTALL_TARGET_CMDS
mkdir -p $(TARGET_DIR)/usr/lib
- cp -rf $(@D)/$(SUNXI_MALI_MAINLINE_REV)/$(SUNXI_MALI_MAINLINE_ARCH)/fbdev/*.so* \
+ cp -rf $(@D)/$(SUNXI_MALI_MAINLINE_LIB_SUBDIR)/*.so* \
$(TARGET_DIR)/usr/lib/
endef
--
2.30.2
More information about the buildroot
mailing list