mali-imx: Stop providing OpenCL API [YOCIMX-7489]

Khronos provides headers and an ICD loader that frees each OpenCL
implementation from having to provide them. Switch our implementation
to take advantage of this.

Also, rename the package to mali-imx-opencl-icd to align with other
implementations:
https://packages.debian.org/bookworm/ocl-icd-libopencl1

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
This commit is contained in:
Tom Hochstein 2024-01-11 07:13:16 -06:00
parent 7843cc284c
commit a9c70c2219
3 changed files with 18 additions and 27 deletions

View File

@ -43,10 +43,10 @@ PREFERRED_PROVIDER_virtual/egl:mx95-nxp-bsp ?= "mali-imx"
PREFERRED_PROVIDER_virtual/libgles1:mx95-nxp-bsp ?= "mali-imx"
PREFERRED_PROVIDER_virtual/libgles2:mx95-nxp-bsp ?= "mali-imx"
PREFERRED_PROVIDER_virtual/libgles3:mx95-nxp-bsp ?= "mali-imx"
PREFERRED_PROVIDER_opencl-clhpp:mx95-nxp-bsp ?= "mali-imx"
PREFERRED_PROVIDER_opencl-headers:mx95-nxp-bsp ?= "mali-imx"
PREFERRED_PROVIDER_opencl-icd-loader:mx95-nxp-bsp ?= "mali-imx"
PREFERRED_PROVIDER_virtual/opencl-icd:mx95-nxp-bsp ?= "mali-imx"
PREFERRED_PROVIDER_opencl-clhpp:mx95-nxp-bsp ?= "opencl-clhpp"
PREFERRED_PROVIDER_opencl-headers:mx95-nxp-bsp ?= "opencl-headers"
PREFERRED_PROVIDER_opencl-icd-loader:mx95-nxp-bsp ?= "opencl-icd-loader"
PREFERRED_PROVIDER_virtual/opencl-icd:mx95-nxp-bsp ?= "opencl-icd-loader"
PREFERRED_PROVIDER_virtual/libgl:imxgpu ?= "mesa-gl"
PREFERRED_PROVIDER_virtual/libgl:imxgpu3d = "mesa-gl"

View File

@ -10,13 +10,7 @@ PROVIDES = " \
virtual/libgbm \
virtual/libgles1 \
virtual/libgles2 \
virtual/libgles3 \
${PROVIDES_OPENCL}"
PROVIDES_OPENCL = " \
opencl-clhpp \
opencl-headers \
opencl-icd-loader \
virtual/opencl-icd"
virtual/libgles3"
# The packaged binaries have been stripped of debug info, so disable
# operations accordingly.
@ -25,13 +19,13 @@ INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_SYSROOT_STRIP = "1"
PACKAGES =+ " \
${PN}-libegl ${PN}-libegl-dev \
${PN}-libgbm ${PN}-libgbm-dev \
${PN}-libgles1 ${PN}-libgles1-dev \
${PN}-libgles2 ${PN}-libgles2-dev \
${PN}-libgles3 ${PN}-libgles3-dev \
${PN}-libopencl ${PN}-libopencl-dev \
${PN}-libvulkan"
${PN}-libegl ${PN}-libegl-dev \
${PN}-libgbm ${PN}-libgbm-dev \
${PN}-libgles1 ${PN}-libgles1-dev \
${PN}-libgles2 ${PN}-libgles2-dev \
${PN}-libgles3 ${PN}-libgles3-dev \
${PN}-libvulkan \
${PN}-opencl-icd ${PN}-opencl-icd-dev"
# Since libmali.so is loaded by dlopen, include it in the main package
FILES:${PN} += " \
@ -47,8 +41,7 @@ FILES:${PN}-libgles1 = " \
${libdir}/libGLESv1_CM${SOLIBS}"
FILES:${PN}-libgles2 = " \
${libdir}/libGLESv2${SOLIBS}"
FILES:${PN}-libopencl = " \
${libdir}/libOpenCL${SOLIBS} \
FILES:${PN}-opencl-icd = " \
${sysconfdir}/OpenCL"
FILES:${PN}-libvulkan = " \
${sysconfdir}/vulkan"
@ -77,11 +70,8 @@ FILES:${PN}-libgles3-dev = " \
# Note: libGLESv2.so contains both GLES 2 and 3 implementations, so pull in
# GLES 3 headers manually
RDEPENDS:${PN}-libgles2-dev = "${PN}-libgles3-dev"
FILES:${PN}-libopencl-dev = " \
${bindir}/mali_clcc \
${includedir}/CL \
${libdir}/libOpenCL${SOLIBSDEV} \
${libdir}/pkgconfig/OpenCL.pc"
FILES:${PN}-opencl-icd-dev = " \
${bindir}/mali_clcc"
python __anonymous() {
@ -90,8 +80,7 @@ python __anonymous() {
("libgbm", "libgbm1" ),
("libgles1", "libglesv1-cm1"),
("libgles2", "libglesv2-2" ),
("libgles3", ),
("libopencl", )):
("libgles3", )):
fullp = "${PN}-" + p[0]
pkgs = "".join(' %s' % i for i in p)
d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")

View File

@ -0,0 +1,2 @@
# Enable mali-imx ICD implementation
RDEPENDS:${PN}:append:mx95-nxp-bsp = " mali-imx-opencl-icd"