mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 12:59:02 +02:00
mesa: bundle Clang OpenCL headers into meta-clc
Add a patch bundling OpenCL headers into meta-clc. This removes extra runtime dependencies when runnign meta-clc compiler. (From OE-Core rev: 8a627d93a6a37382c75ca45f5afb9fec069877f8) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
b269fbd5b9
commit
88ebbd6b99
|
@ -0,0 +1,57 @@
|
|||
From f9b6175e7c446a82c568ff1a214885d707c95f49 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
|
||||
Date: Wed, 16 Apr 2025 14:35:37 +0300
|
||||
Subject: [PATCH] mesa-clc: add an option to force inclusion of OpenCL headers
|
||||
|
||||
Currently mesa-clc bundles OpenCL headers from Clang only if the static
|
||||
LLVM is used (which means Clang / LLVM are not present on the target
|
||||
system). In some cases (e.g. when building in OpenEmbedded environemnt)
|
||||
it is desirable to have shared LLVM library, but skip installing the
|
||||
whole Clang runtime just to compile shaders. Add an option that forces
|
||||
OpenCL headers to be bundled with the mesa-clc binary.
|
||||
|
||||
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34551]
|
||||
---
|
||||
meson_options.txt | 10 ++++++++++
|
||||
src/compiler/clc/meson.build | 3 ++-
|
||||
2 files changed, 12 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index 18da31eff507..addd274ecef7 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -797,6 +797,16 @@ option(
|
||||
description : 'Install the mesa-clc compiler (if needed for cross builds).'
|
||||
)
|
||||
|
||||
+option(
|
||||
+ 'mesa-clc-bundle-headers',
|
||||
+ type : 'combo',
|
||||
+ value : 'auto',
|
||||
+ choices : [
|
||||
+ 'enabled', 'auto'
|
||||
+ ],
|
||||
+ description : 'Bundle the OpenCL headers into the mesa-clc binary (default to bundle if static LLVM is used). Note, it might require rebuilding mesa-clc if opencl-c.h or opencl-c-base.h are changed (e.g. on Clang upgrades).'
|
||||
+)
|
||||
+
|
||||
option(
|
||||
'precomp-compiler',
|
||||
type : 'combo',
|
||||
diff --git a/src/compiler/clc/meson.build b/src/compiler/clc/meson.build
|
||||
index 263eba527191..9ff61440f0da 100644
|
||||
--- a/src/compiler/clc/meson.build
|
||||
+++ b/src/compiler/clc/meson.build
|
||||
@@ -11,7 +11,8 @@ _libmesaclc_c_args = []
|
||||
_libmesaclc_cpp_args = ['-DLLVM_LIB_DIR="@0@"'.format(llvm_libdir)]
|
||||
_libmesaclc_sources = []
|
||||
|
||||
-if not _shared_llvm
|
||||
+if not _shared_llvm or \
|
||||
+ get_option('mesa-clc-bundle-headers') == 'enabled'
|
||||
# LLVM 16 moved clang header path from using full version to only major version
|
||||
if dep_llvm.version().version_compare('< 16')
|
||||
# Prior to LLVM 16, this path used a full version
|
||||
--
|
||||
2.47.2
|
||||
|
|
@ -18,6 +18,7 @@ SRC_URI = "https://archive.mesa3d.org/mesa-${PV}.tar.xz \
|
|||
file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
|
||||
file://0001-meson-disable-SIMD-blake-optimisations-on-x32-host.patch \
|
||||
file://0001-freedreno-don-t-encode-build-path-into-binaries.patch\
|
||||
file://0001-mesa-clc-add-an-option-to-force-inclusion-of-OpenCL-.patch \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "adf904d083b308df95898600ffed435f4b5c600d95fb6ec6d4c45638627fdc97"
|
||||
|
@ -194,7 +195,7 @@ MESA_NATIVE:class-native = ""
|
|||
|
||||
PACKAGECONFIG[gallium] = "-Dgallium-drivers=${@strip_comma('${GALLIUMDRIVERS}')}, -Dgallium-drivers='', libdrm"
|
||||
PACKAGECONFIG[gallium-llvm] = "-Dllvm=enabled -Dshared-llvm=enabled, -Dllvm=disabled, llvm llvm-native elfutils"
|
||||
PACKAGECONFIG[libclc] = "-Dmesa-clc=${MESA_CLC} -Dinstall-mesa-clc=${INSTALL_MESA_CLC},,libclc spirv-tools spirv-llvm-translator ${MESA_NATIVE}"
|
||||
PACKAGECONFIG[libclc] = "-Dmesa-clc=${MESA_CLC} -Dinstall-mesa-clc=${INSTALL_MESA_CLC} -Dmesa-clc-bundle-headers=enabled,,libclc spirv-tools spirv-llvm-translator ${MESA_NATIVE}"
|
||||
PACKAGECONFIG[xa] = "-Dgallium-xa=enabled, -Dgallium-xa=disabled"
|
||||
PACKAGECONFIG[va] = "-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial"
|
||||
PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau"
|
||||
|
|
Loading…
Reference in New Issue
Block a user