package/opengl/libgbm: new virtual package

Since 18.0-Leia, Kodi implements stand-alone gbm support alongside x11 &
wayland.  To enable building libgbm in mesa3d without x11 & wayland we
need to create a virtual package for libgbm.

Also other packages besides mesa3d may provide libgbm.so, see
http://patchwork.ozlabs.org/patch/647235/
http://patchwork.ozlabs.org/patch/939703/

It turns out that libgbm has seen several additions in its API over
time, and therefore not all libgbm implementations provide support for
all features. In order to account for this, this commit adds two hidden
boolean options that allow libgbm providers to indicate which optional
features they support:
BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT and
BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF. These booleans must be selected
by the packages providing libgbm implementations, and depended on by
packages using libgbm.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
[ Kamel : introduce gbm api features ]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021.11.x
Bernd Kuhls 2021-10-07 11:51:41 +02:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent 343643fdf1
commit 4a541ee932
3 changed files with 34 additions and 0 deletions

View File

@ -1,5 +1,6 @@
source "package/opengl/libgl/Config.in"
source "package/opengl/libegl/Config.in"
source "package/opengl/libgbm/Config.in"
source "package/opengl/libgles/Config.in"
source "package/opengl/libopencl/Config.in"
source "package/opengl/libopenvg/Config.in"

View File

@ -0,0 +1,24 @@
config BR2_PACKAGE_HAS_LIBGBM
bool
config BR2_PACKAGE_PROVIDES_LIBGBM
string
depends on BR2_PACKAGE_HAS_LIBGBM
config BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT
bool
depends on BR2_PACKAGE_HAS_LIBGBM
# gbm implementations should select this option if they provide the
# format modifier plane count feature. This API was initially introduced
# in mesa3d version 17. A gbm implementation provides this feature if it
# is implement function gbm_device_get_format_modifier_plane_count.
config BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
bool
depends on BR2_PACKAGE_HAS_LIBGBM
# gbm implementations should select this option if they provide the
# dma buffer feature. This API was initially introduced in mesa3d
# version 10. A gbm implementation provides this feature if it
# is implement function gbm_bo_get_fd.

View File

@ -0,0 +1,9 @@
################################################################################
#
# libgbm
#
################################################################################
# This package requires to install a gbm.pc which needs
# to be provided by GBM providers.
$(eval $(virtual-package))