From 3061d6061e74a545b7a190fd13b52ac181994dd1 Mon Sep 17 00:00:00 2001 From: Dmitry Baryshkov Date: Tue, 16 Sep 2025 02:25:56 +0300 Subject: [PATCH] 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. Signed-off-by: Dmitry Baryshkov Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- meta/conf/bitbake.conf | 4 ++-- meta/recipes-graphics/mesa/mesa.bb | 1 + meta/recipes-graphics/mesa/mesa.inc | 2 +- 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" # Normally target distro features will not be applied to native builds: # Native distro features on this list will use the target feature value -DISTRO_FEATURES_FILTER_NATIVE ?= "api-documentation debuginfod opengl wayland" -DISTRO_FEATURES_FILTER_NATIVESDK ?= "api-documentation debuginfod opengl wayland" +DISTRO_FEATURES_FILTER_NATIVE ?= "api-documentation debuginfod opencl opengl wayland" +DISTRO_FEATURES_FILTER_NATIVESDK ?= "api-documentation debuginfod opencl opengl wayland" DISTRO_FEATURES_BACKFILL = "pulseaudio sysvinit gobject-introspection-data ldconfig" MACHINE_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 = " \ video-codecs \ ${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland glvnd', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opencl', 'opencl libclc gallium-llvm', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \ xmlconfig \ " 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" inherit meson pkgconfig python3native gettext features_check rust -ANY_OF_DISTRO_FEATURES = "opengl vulkan" +ANY_OF_DISTRO_FEATURES = "opencl opengl vulkan" PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)}" -- 2.47.3