summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>2025-09-16 02:25:56 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-09-18 11:16:42 +0100
commite30a2a5b7b7131c23b7eeec448d907b3175a5423 (patch)
treefa394648d7c8f921ba88f99c59beb9126168ed2e
parentf9300011ec4ff867c7a6f0c7b8643dcc124f987c (diff)
downloadpoky-e30a2a5b7b7131c23b7eeec448d907b3175a5423.tar.gz
mesa: add opencl DISTRO_FEATURE
OpenCL is an important part of the GPU-related world. It makes sense to be able to provide headless environment (without OpenGL and Vulkan), but having just OpenCL as a GPU user. Currently it is not possible since mesa requires either of those to be enabled for the DISTRO. Add new 'opencl' DISTRO_FEATURE, controlling enablement of OpenCL. Note: Mesa, if built with the libclc packageconfig (which is required for OpenCL driver) depends on the mesa-clc tool from the mesa-native package. It is required to propagate opencl DISTRO_FEATURE to the native set in order to be able to fulfill mesa -> mesa-native dependency as otherwise mesa-native package will be skipped. (From OE-Core rev: 3061d6061e74a545b7a190fd13b52ac181994dd1) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/conf/bitbake.conf4
-rw-r--r--meta/recipes-graphics/mesa/mesa.bb1
-rw-r--r--meta/recipes-graphics/mesa/mesa.inc2
3 files changed, 4 insertions, 3 deletions
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 8e90c7bbc8..eebefc4840 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -915,8 +915,8 @@ DISTRO_FEATURES_NATIVESDK:mingw32 = "x11 ipv6"
915 915
916# Normally target distro features will not be applied to native builds: 916# Normally target distro features will not be applied to native builds:
917# Native distro features on this list will use the target feature value 917# Native distro features on this list will use the target feature value
918DISTRO_FEATURES_FILTER_NATIVE ?= "api-documentation debuginfod opengl wayland" 918DISTRO_FEATURES_FILTER_NATIVE ?= "api-documentation debuginfod opencl opengl wayland"
919DISTRO_FEATURES_FILTER_NATIVESDK ?= "api-documentation debuginfod opengl wayland" 919DISTRO_FEATURES_FILTER_NATIVESDK ?= "api-documentation debuginfod opencl opengl wayland"
920 920
921DISTRO_FEATURES_BACKFILL = "pulseaudio sysvinit gobject-introspection-data ldconfig" 921DISTRO_FEATURES_BACKFILL = "pulseaudio sysvinit gobject-introspection-data ldconfig"
922MACHINE_FEATURES_BACKFILL = "rtc qemu-usermode" 922MACHINE_FEATURES_BACKFILL = "rtc qemu-usermode"
diff --git a/meta/recipes-graphics/mesa/mesa.bb b/meta/recipes-graphics/mesa/mesa.bb
index 49e077b20c..cfa5d0f40f 100644
--- a/meta/recipes-graphics/mesa/mesa.bb
+++ b/meta/recipes-graphics/mesa/mesa.bb
@@ -5,6 +5,7 @@ PACKAGECONFIG = " \
5 video-codecs \ 5 video-codecs \
6 ${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland glvnd', d)} \ 6 ${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland glvnd', d)} \
7 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \ 7 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \
8 ${@bb.utils.contains('DISTRO_FEATURES', 'opencl', 'opencl libclc gallium-llvm', '', d)} \
8 ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \ 9 ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \
9 xmlconfig \ 10 xmlconfig \
10" 11"
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
index 3f09cfd4df..a58de5ebc3 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -46,7 +46,7 @@ EXTRANATIVEPATH += "chrpath-native"
46 46
47inherit meson pkgconfig python3native gettext features_check rust 47inherit meson pkgconfig python3native gettext features_check rust
48 48
49ANY_OF_DISTRO_FEATURES = "opengl vulkan" 49ANY_OF_DISTRO_FEATURES = "opencl opengl vulkan"
50 50
51PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)}" 51PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)}"
52 52