From 8892b25edabe7ce168869a3ad25bd9693059cebe Mon Sep 17 00:00:00 2001 From: Peter Seiderer Date: Sun, 13 Jun 2021 00:30:10 +0200 Subject: [PATCH] package/mesa3d: add config option for DRI3 support Add config option for DRI3 support and use it instead of DRI3 enable/disable logic in *.mk file. Move the libxshmfence dependency to the DRI3 option, cfr. the following in meson.build: if with_dri3 ... dep_xshmfence = dependency('xshmfence', version : '>= 1.1') endif Also select DRI3 in the Vulkan Intel driver. Signed-off-by: Peter Seiderer [Arnout: make it a blind option, move xshmfence select to dri3] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- package/mesa3d/Config.in | 14 +++++++++----- package/mesa3d/mesa3d.mk | 18 ++++++++++-------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in index c84f48413f..a27c29d37d 100644 --- a/package/mesa3d/Config.in +++ b/package/mesa3d/Config.in @@ -54,20 +54,24 @@ config BR2_PACKAGE_MESA3D_OPENCL select BR2_PACKAGE_LIBCLC select BR2_PACKAGE_HAS_LIBOPENCL -# inform the .mk file of gallium, dri or vulkan driver selection +# inform the .mk file of gallium, dri, dri3 or vulkan driver selection +config BR2_PACKAGE_MESA3D_DRI3 + bool + select BR2_PACKAGE_XLIB_LIBXSHMFENCE + config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER bool select BR2_PACKAGE_MESA3D_DRIVER config BR2_PACKAGE_MESA3D_DRI_DRIVER bool + select BR2_PACKAGE_MESA3D_DRI3 if \ + (BR2_PACKAGE_XORG7 && BR2_TOOLCHAIN_HAS_SYNC_4 && \ + !BR2_RISCV_32) select BR2_PACKAGE_MESA3D_DRIVER select BR2_PACKAGE_MESA3D_GBM if \ !BR2_PACKAGE_MESA3D_OPENGL_GLX && \ !BR2_PACKAGE_MESA3D_OPENGL_EGL - select BR2_PACKAGE_XLIB_LIBXSHMFENCE if \ - (BR2_PACKAGE_XORG7 && BR2_TOOLCHAIN_HAS_SYNC_4 && \ - !BR2_RISCV_32) config BR2_PACKAGE_MESA3D_VULKAN_DRIVER bool @@ -367,9 +371,9 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # memfd.h depends on BR2_TOOLCHAIN_USES_GLIBC # ifunc, static_assert depends on BR2_PACKAGE_XORG7 # xorgproto + select BR2_PACKAGE_MESA3D_DRI3 select BR2_PACKAGE_MESA3D_VULKAN_DRIVER select BR2_PACKAGE_XORGPROTO - select BR2_PACKAGE_XLIB_LIBXSHMFENCE help Vulkan driver for Intel hardware from Ivy Bridge onward. diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk index 61b095ccca..152f5e1b62 100644 --- a/package/mesa3d/mesa3d.mk +++ b/package/mesa3d/mesa3d.mk @@ -35,6 +35,15 @@ ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM),y) MESA3D_CONF_OPTS += -Db_asneeded=false endif +ifeq ($(BR2_PACKAGE_MESA3D_DRI3),y) +MESA3D_CONF_OPTS += -Ddri3=enabled +ifeq ($(BR2_PACKAGE_XLIB_LIBXSHMFENCE),y) +MESA3D_DEPENDENCIES += xlib_libxshmfence +endif +else +MESA3D_CONF_OPTS += -Ddri3=disabled +endif + ifeq ($(BR2_PACKAGE_MESA3D_LLVM),y) MESA3D_DEPENDENCIES += host-llvm llvm MESA3D_MESON_EXTRA_BINARIES += llvm-config='$(STAGING_DIR)/usr/bin/llvm-config' @@ -123,14 +132,8 @@ endif ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),) MESA3D_CONF_OPTS += \ - -Ddri-drivers= -Ddri3=disabled + -Ddri-drivers= else -ifeq ($(BR2_PACKAGE_XLIB_LIBXSHMFENCE),y) -MESA3D_DEPENDENCIES += xlib_libxshmfence -MESA3D_CONF_OPTS += -Ddri3=enabled -else -MESA3D_CONF_OPTS += -Ddri3=disabled -endif MESA3D_CONF_OPTS += \ -Dshared-glapi=enabled \ -Dglx-direct=true \ @@ -143,7 +146,6 @@ MESA3D_CONF_OPTS += \ else MESA3D_DEPENDENCIES += xlib_libxshmfence MESA3D_CONF_OPTS += \ - -Ddri3=enabled \ -Dvulkan-drivers=$(subst $(space),$(comma),$(MESA3D_VULKAN_DRIVERS-y)) endif