diff mbox series

[meta-oe,v2,6/6] opencl: make use of the 'opencl' DISTRO_FEATURE

Message ID 20250918014442.1436475-6-dmitry.baryshkov@oss.qualcomm.com
State New
Headers show
Series [meta-oe,v2,1/6] ocl-icd, opencl-icd-loader: drop RPROVIDES for virtual-opencl-icd | expand

Commit Message

Dmitry Baryshkov Sept. 18, 2025, 1:44 a.m. UTC
Currently packages like Mesa list 'opengl' and 'vulkan' as required
DISTRO_FEATURES, disabling GPU support for non-graphics-enabled cases.
However in the modern world it's a perfectly fine usecase to have a
headless box with GPU being used by OpenCL only. The OE-Core has added
the 'opencl' DISTRO_FEATURE, making it possible to specify whether
OpenCL is enabled or not and also making it possible to enable GPU
packages if only OpenCL is required.

Follow the example of GLVND and vulkan-loader and disable OpenCL ICD
packages if corresponding feature is not enabled.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>

---

Note, this depends on https://lore.kernel.org/openembedded-core/20250915232557.536762-1-dmitry.baryshkov@oss.qualcomm.com/

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
 meta-oe/recipes-core/opencl/clpeak_1.1.5.bb                 | 3 ++-
 meta-oe/recipes-core/opencl/ocl-icd_2.3.2.bb                | 3 ++-
 meta-oe/recipes-core/opencl/opencl-cts_2025.04.14.bb        | 4 +++-
 meta-oe/recipes-core/opencl/opencl-icd-loader_2024.05.08.bb | 4 +++-
 meta-oe/recipes-support/opencl/clinfo_3.0.23.01.25.bb       | 4 ++++
 5 files changed, 14 insertions(+), 4 deletions(-)
diff mbox series

Patch

diff --git a/meta-oe/recipes-core/opencl/clpeak_1.1.5.bb b/meta-oe/recipes-core/opencl/clpeak_1.1.5.bb
index 4744f788b926..2cbcdd873e31 100644
--- a/meta-oe/recipes-core/opencl/clpeak_1.1.5.bb
+++ b/meta-oe/recipes-core/opencl/clpeak_1.1.5.bb
@@ -8,7 +8,8 @@  LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 
 SRCREV = "b2e647ffb8f42aa22ce4b0194d6ef6d16d5002b0"
 
+inherit cmake features_check
 
-inherit cmake
+REQUIRED_DISTRO_FEATURES = "opencl"
 
 DEPENDS += "opencl-clhpp virtual/libopencl1"
diff --git a/meta-oe/recipes-core/opencl/ocl-icd_2.3.2.bb b/meta-oe/recipes-core/opencl/ocl-icd_2.3.2.bb
index f31c51c67e73..44fead551ecf 100644
--- a/meta-oe/recipes-core/opencl/ocl-icd_2.3.2.bb
+++ b/meta-oe/recipes-core/opencl/ocl-icd_2.3.2.bb
@@ -9,8 +9,9 @@  SRC_URI = "git://github.com/OCL-dev/ocl-icd.git;protocol=https;branch=master"
 
 SRCREV = "fdde6677b21329432db8b481e2637cd10f7d3cb2"
 
+inherit autotools features_check
 
-inherit autotools
+REQUIRED_DISTRO_FEATURES = "opencl"
 
 DEPENDS = "ruby-native"
 PROVIDES = "virtual/libopencl1"
diff --git a/meta-oe/recipes-core/opencl/opencl-cts_2025.04.14.bb b/meta-oe/recipes-core/opencl/opencl-cts_2025.04.14.bb
index b0f6575e717c..62b59ace138f 100644
--- a/meta-oe/recipes-core/opencl/opencl-cts_2025.04.14.bb
+++ b/meta-oe/recipes-core/opencl/opencl-cts_2025.04.14.bb
@@ -3,7 +3,9 @@  DESCRIPTION = "OpenCL CTS test suite"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
-inherit pkgconfig cmake
+inherit pkgconfig cmake features_check
+
+REQUIRED_DISTRO_FEATURES = "opencl"
 
 DEPENDS += "opencl-headers virtual/libopencl1"
 RDEPENDS:${PN} += "python3-core python3-io"
diff --git a/meta-oe/recipes-core/opencl/opencl-icd-loader_2024.05.08.bb b/meta-oe/recipes-core/opencl/opencl-icd-loader_2024.05.08.bb
index 3fb08efaf4d8..59d29e821a5f 100644
--- a/meta-oe/recipes-core/opencl/opencl-icd-loader_2024.05.08.bb
+++ b/meta-oe/recipes-core/opencl/opencl-icd-loader_2024.05.08.bb
@@ -4,7 +4,9 @@  LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 SECTION = "base"
 
-inherit pkgconfig cmake
+inherit pkgconfig cmake features_check
+
+REQUIRED_DISTRO_FEATURES = "opencl"
 
 DEPENDS += "opencl-headers"
 
diff --git a/meta-oe/recipes-support/opencl/clinfo_3.0.23.01.25.bb b/meta-oe/recipes-support/opencl/clinfo_3.0.23.01.25.bb
index 4d9ed1b8ca38..4d5e20514253 100644
--- a/meta-oe/recipes-support/opencl/clinfo_3.0.23.01.25.bb
+++ b/meta-oe/recipes-support/opencl/clinfo_3.0.23.01.25.bb
@@ -7,6 +7,10 @@  HOMEPAGE = "https://github.com/Oblomov/clinfo"
 LICENSE = "CC0-1.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=fd8857f774dfb0eefe1e80c8f9240a7e"
 
+inherit features_check
+
+REQUIRED_DISTRO_FEATURES = "opencl"
+
 SRC_URI = "git://github.com/Oblomov/clinfo.git;protocol=https;branch=master"
 
 SRCREV = "748c3930a9b9cb826e631d77439e2cb8f84f5bcf"