diff options
author | Marek Szuba <marecki@gentoo.org> | 2020-09-13 21:13:29 +0200 |
---|---|---|
committer | Marek Szuba <marecki@gentoo.org> | 2020-09-13 21:16:56 +0200 |
commit | a8e3b1a013be805fff6aa076d62c32f3be86fa9b (patch) | |
tree | d45840c1a0217c58a86994e2e8be95100250c1eb /dev-util | |
parent | dev-vcs/tkcvs: Stabilize 9.3.2 amd64, #740946 (diff) | |
download | gentoo-a8e3b1a013be805fff6aa076d62c32f3be86fa9b.tar.gz gentoo-a8e3b1a013be805fff6aa076d62c32f3be86fa9b.tar.bz2 gentoo-a8e3b1a013be805fff6aa076d62c32f3be86fa9b.zip |
dev-util/intel-graphics-compiler: bump to 1.0.4427
This is the newest version that I can build successfully on my system
with VC disabled, all the newer ones fail due to missing bits in IGC
code itself which disabling VectorCompute seems to mask out.
Signed-off-by: Marek Szuba <marecki@gentoo.org>
Diffstat (limited to 'dev-util')
3 files changed, 84 insertions, 0 deletions
diff --git a/dev-util/intel-graphics-compiler/Manifest b/dev-util/intel-graphics-compiler/Manifest index bb330148e014..b1dc0c1dfbf6 100644 --- a/dev-util/intel-graphics-compiler/Manifest +++ b/dev-util/intel-graphics-compiler/Manifest @@ -1 +1,2 @@ DIST intel-graphics-compiler-1.0.4111.tar.gz 5781246 BLAKE2B 6fe47422b31b0c73d24c3cef1265772927a57751bf5648f862f7c73528f2174268fdb2271c30c49ab038b4dfbe530bc088fe727e66babc5db0a41759e7212733 SHA512 8f589ee83a27b7a8f5abcd008e36a73fb704c20c1ae17e1ef265c59641768b75a0a08f2d6f80355442fff7625154603db3ebe9be0a4ba702b45e85db434f8110 +DIST intel-graphics-compiler-1.0.4427.tar.gz 6454774 BLAKE2B 283575b301862114f88d1067c8dddec13694cf6a48d335d83434f47a6e95164df9b5ac4385446472ce2b454244308f63b57d7bb3cadfc8acff9472fc48dca2f9 SHA512 902aa15cf1b8d1760cf9b4d35848b37c2296601625e1f123f9a059c9a87d80e851525e3d943facf14e011cf82670057dbad3f75774d6dbf5b6cd52b55669ed3c diff --git a/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.4427-noVC_TranslateBuild_retval.patch b/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.4427-noVC_TranslateBuild_retval.patch new file mode 100644 index 000000000000..8822fc54e741 --- /dev/null +++ b/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.4427-noVC_TranslateBuild_retval.patch @@ -0,0 +1,11 @@ +--- a/IGC/AdaptorOCL/dllInterfaceCompute.cpp ++++ b/IGC/AdaptorOCL/dllInterfaceCompute.cpp +@@ -1570,7 +1570,7 @@ + { + #if IGC_VC_DISABLED + SetErrorMessage("IGC VC explicitly disabled in build", *pOutputArgs); +- return false; ++ return std::error_code(1, std::generic_category()); + #else + + llvm::StringRef ApiOptions{pInputArgs->pOptions, pInputArgs->OptionsSize}; diff --git a/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.4427.ebuild b/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.4427.ebuild new file mode 100644 index 000000000000..95942f84f477 --- /dev/null +++ b/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.4427.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +CMAKE_ECLASS=cmake + +inherit cmake-multilib flag-o-matic llvm + +DESCRIPTION="LLVM-based OpenCL compiler targetting Intel Gen graphics hardware" +HOMEPAGE="https://github.com/intel/intel-graphics-compiler" +SRC_URI="https://github.com/intel/${PN}/archive/igc-${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="debug" + +LLVM_MAX_SLOT=10 + +# Yes, the last dependency does effectively force the use of llvm-10 +# - there are currently no SLOT=9 ebuilds of opencl-clang with mem2reg +# support. Of course with there being no SLOT=9 ebuilds of vc-intrinsics +# (which we'll need soon as well) at all either we are limited to llvm-10 anyway. +COMMON="<=sys-devel/llvm-${LLVM_MAX_SLOT}.9999:=[${MULTILIB_USEDEP}] + <=dev-libs/opencl-clang-${LLVM_MAX_SLOT}.9999:=[${MULTILIB_USEDEP}] + >=dev-libs/opencl-clang-10.0.0.2:=[${MULTILIB_USEDEP}]" +DEPEND="${COMMON}" +RDEPEND="${COMMON}" + +PATCHES=( + "${FILESDIR}"/${PN}-1.0.9-no_Werror.patch + "${FILESDIR}"/${PN}-1.0.4111-opencl-clang_version.patch + "${FILESDIR}"/${PN}-1.0.4427-noVC_TranslateBuild_retval.patch +) + +S="${WORKDIR}"/${PN}-igc-${PV} + +find_best_llvm_slot() { + local candidate_slot + + # Select the same slot as the best opencl-clang + local ocl_clang_ver="$(best_version -d dev-libs/opencl-clang:=)" + einfo "Selecting ${ocl_clang_ver}" + candidate_slot=$(ver_cut 5 ${ocl_clang_ver}) + + # Sanity check - opencl-clang brings the right LLVM slot as its + # dependency so if this is missing, something is very wrong. + has_version -d sys-devel/llvm:${candidate_slot} || die "LLVM slot matching ${ocl_clang_ver} not found (${candidate_slot})" + + echo ${candidate_slot} +} + +multilib_src_configure() { + local llvm_slot=$(find_best_llvm_slot) + einfo "Selecting LLVM slot ${llvm_slot}: $(best_version -d sys-devel/llvm:${llvm_slot})" + local llvm_prefix=$(get_llvm_prefix ${llvm_slot}) + + # Since late March 2020 cmake.eclass does not set -DNDEBUG any more, and the way + # IGC uses this definition causes problems for some users (see Bug #718824). + use debug || append-cppflags -DNDEBUG + + # VectorCompiler needs work, at the moment upstream only supports building vc-intrinsics in place. + local mycmakeargs=( + -DCCLANG_SONAME_VERSION=${llvm_slot} + -DCMAKE_LIBRARY_PATH="${llvm_prefix}"/$(get_libdir) + -DIGC_OPTION__FORCE_SYSTEM_LLVM=ON + -DIGC_PREFERRED_LLVM_VERSION=${llvm_slot} + -DIGC_BUILD__VC_ENABLED=no + ) + cmake_src_configure +} |