commit: 66c3be451de6b402da1d74e74985fc175abd3672
Author: Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 9 17:53:55 2023 +0000
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Thu Nov 9 18:39:56 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=66c3be45
media-libs/mesa: Depend on external dev-util/intel_clc
intel_clc is an executable that is used to compile OpenCL C code to
SPIR-V during the build of media-libs/mesa. It is needed to build
code to support Vulkan ray tracing APIs on supported Intel GPUs.
intel_clc is a part of Mesa, but since it must run on the build machine,
I have split it into its own package that can be installed separately.
This simplifies some of the dependencies and also allows for cross
compilation.
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>
media-libs/mesa/mesa-9999.ebuild | 25 ++++---------------------
1 file changed, 4 insertions(+), 21 deletions(-)
diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild
index e74f085ef100..ef6c7bed1363 100644
--- a/media-libs/mesa/mesa-9999.ebuild
+++ b/media-libs/mesa/mesa-9999.ebuild
@@ -86,14 +86,6 @@ RDEPEND="
>=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
)
vdpau? ( >=x11-libs/libvdpau-1.1:=[${MULTILIB_USEDEP}] )
- vulkan? (
- video_cards_intel? (
- amd64? (
- dev-libs/libclc[spirv(-)]
- >=dev-util/spirv-tools-1.3.231.0
- )
- )
- )
selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
@@ -133,14 +125,6 @@ PER_SLOT_DEPSTR="
!opencl? ( sys-devel/llvm:@SLOT@[${LLVM_USE_DEPS}] )
opencl? ( sys-devel/clang:@SLOT@[${LLVM_USE_DEPS}] )
opencl? ( dev-util/spirv-llvm-translator:@SLOT@ )
- vulkan? (
- video_cards_intel? (
- amd64? (
- dev-util/spirv-llvm-translator:@SLOT@
- sys-devel/clang:@SLOT@[${LLVM_USE_DEPS}]
- )
- )
- )
)
"
LLVM_DEPSTR="
@@ -182,6 +166,8 @@ BDEPEND="
video_cards_intel? (
amd64? (
$(python_gen_any_dep
"dev-python/ply[\${PYTHON_USEDEP}]")
+ ~dev-util/intel_clc-${PV}
+ dev-libs/libclc[spirv(-)]
)
)
)
@@ -202,8 +188,6 @@ x86? (
llvm_check_deps() {
if use opencl; then
has_version "sys-devel/clang:${LLVM_SLOT}[${LLVM_USE_DEPS}]" ||
return 1
- fi
- if use opencl || { use vulkan && use video_cards_intel && use amd64; };
then
has_version "dev-util/spirv-llvm-translator:${LLVM_SLOT}" ||
return 1
fi
has_version "sys-devel/llvm:${LLVM_SLOT}[${LLVM_USE_DEPS}]"
@@ -406,9 +390,8 @@ multilib_src_configure() {
use vulkan-overlay && vulkan_layers+=",overlay"
emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
- if use llvm && use vulkan && use video_cards_intel; then
- PKG_CONFIG_PATH="$(get_llvm_prefix
"${LLVM_MAX_SLOT}")/$(get_libdir)/pkgconfig"
- emesonargs+=(-Dintel-clc=enabled)
+ if use llvm && use vulkan && use video_cards_intel && use amd64; then
+ emesonargs+=(-Dintel-clc=system)
else
emesonargs+=(-Dintel-clc=disabled)
fi