diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-09-08 10:50:14 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-09-08 10:50:14 +0100 |
commit | 3f71901f8c228f4de570abed1831ce3ee425343e (patch) | |
tree | a2dcd300d05ef8a2ec275b44a92a9d85bd3baa24 /dev-libs/beignet | |
parent | 12bb627384ddfd47382b9f1b6464481a58d01ebb (diff) |
gentoo resync 08.09.2018
Diffstat (limited to 'dev-libs/beignet')
-rw-r--r-- | dev-libs/beignet/Manifest | 4 | ||||
-rw-r--r-- | dev-libs/beignet/beignet-1.3.2-r1.ebuild | 4 | ||||
-rw-r--r-- | dev-libs/beignet/beignet-1.3.2-r2.ebuild | 107 | ||||
-rw-r--r-- | dev-libs/beignet/files/beignet-1.3.2_disable-doNegAddOptimization.patch | 66 |
4 files changed, 178 insertions, 3 deletions
diff --git a/dev-libs/beignet/Manifest b/dev-libs/beignet/Manifest index bb37b22ebc7f..36c8489aadf4 100644 --- a/dev-libs/beignet/Manifest +++ b/dev-libs/beignet/Manifest @@ -1,13 +1,15 @@ AUX beignet-1.2.0_no-hardcoded-cflags.patch 721 BLAKE2B 033bd173462a38e9a35aedb7090adf6c621c040d3a732dfec12c2807a33ffeebbd3dac85a1bfc500f86b997604c6e66d144653cf2ada95b589fac6f6bd4f2600 SHA512 fdb922091986a60a416f9f7be3487e30974e085f8d1fddf0dba2fdcca155d26523c504289d8775e4943acce01bbb7bd3619c1af5e9a43af8afada276a52506e6 AUX beignet-1.3.1-oclicd_no_upstream_icdfile.patch 564 BLAKE2B f90bdf1c1a795007e9c9322e43df988267eaa1544b2f896bfc1b0bf333647fff753cc7a2e0ec5715f4251b1c54220590d796e48b8a0d0d1681e30f51247639f3 SHA512 c26772accbd5c2a04f8b8a108b87a518cba5ee4fdd142c7514d67f387080d2d37d6d3e87020b4d44b602dfa0cd6387dad29d5fc1bb75e1d5d090f674f937ddd9 AUX beignet-1.3.2_cmake-llvm-config-multilib.patch 950 BLAKE2B 9028eede7ee68dfd539bb268914c354eeaac8a9d26647c6dfb030078199e749cf67d2c396305ccaa7a139f10fcc8eca7b36657d4425439137e7199a4e62c4d13 SHA512 9a9a0348b39f0f9d256166141b48e255ccbc03e4d5150e660cfad2c23af8ff67b75049361fa84f2c2c26be2be914ad07efeae5e150f4f390ec7d5503c49b1c74 +AUX beignet-1.3.2_disable-doNegAddOptimization.patch 2536 BLAKE2B c07e063686e80a0b3f461475345582616ee59b8e195f90a87c2338a856cb3ebb04f0dd70595d901f10ae3645b9c33cccd5c0fb9bfd60052f76067f415eafac64 SHA512 d1d4f7ba2a44ee2c6255190189d141fc8adadeb6f64935501d5ce41cff1eb31e64b32664aee3edb2203f0d267fc776fbe9ed761c344fb23d858d91d6690af086 AUX beignet-1.3.2_llvm6.patch 1039 BLAKE2B 990a653b7ff52ec89ec1204cc5bae1d0b041ae51da4a16fd1a459abfe083be1e5647e9fdac3b336284fcdb6c460dbd9c151d5818c084d49c0c2d68fb56aed905 SHA512 634ddb79878b017be984c0327160affc06d7acaf17b1030e55542d2d2cc873bebd3808638f0966538b0dd7bca763eda2263f22f818dd0b73167a4ba3f5933aaa AUX beignet-1.4.0-oclicd_no_upstream_icdfile.patch 726 BLAKE2B 4d182497c099e174a95524b4bd7bda66c03e128cb089b7536716afda442d8959beab19f0e6015173fbe761f1f569ce065fd1701545ebfdd0680b070644a4d9c4 SHA512 3a77f85cb8f28096b21a77e70f901ccc64291e7439c5e4ae6d7259c30531ea550604f54d0cf910e4482089ab5782f50dcb1940e5df723b0457fdafd550b2b537 AUX beignet-1.4.0_no-debian-multiarch.patch 862 BLAKE2B 54fb9124832e57b3466c11696cf311d32863bdc36d9f4f4e946958233884f95ad9c212bf63f598e52ad054da79f453fb5a3208958de48e45bd9f21a010309edf SHA512 6760b3b7038ba0dc125998de65ec688b5eb840d8a41543ab35f6d6b6084a877fe0e383bd44b6947695ff835b391794547d7eec21bf787548e6bb03ccf2b73587 AUX llvm-terminfo.patch 788 BLAKE2B cb652c28aac1cca566cb801b9e7f2b6ea8a9ff9457896a50b3323b41a009e039085d2d4aeff14d9d8cf35fca3e4a23bacb3078451c4981b6f806cec4146aec83 SHA512 63706376f086b02be067ab54e818afab55cddb34668bc67c2c3f546142e4ca50f5536be4c15f359b3c1c6f62f36b90b3e76d67095d4bba452cf5b5a2c8891312 AUX no-debian-multiarch.patch 1652 BLAKE2B 4d112429412a7ada957228aa8e6beb145fbaf04065d6f816b0f13513631211894c57e9999157db5f22d7044f231be65396040efe450d090e3774bd24c9c93482 SHA512 c77dd485d22e61e558f002a18103bd8dd8091ac51e702335e8713fe7f8fef24e44607744165cf0997e10941b1044d96a4876f251e8e32ffd82781e5c303f0383 DIST beignet-1.3.2-source.tar.gz 1143573 BLAKE2B e95e9ad352e7e695a0c56a8cea7bff312d7e1e811e17da6c744f16833130ca5339c163504afff3ed61947e752b94dc0465f6702317feb7662fb9676939838f20 SHA512 ed09a895c2f7e9b6e18687a899f1303dfda95e505c3c2d54bf7598cc4eba6c2fb5926589b19dd294384a4ff3f832c43235b1f03f8b7fd295cd558e78bda1400a -EBUILD beignet-1.3.2-r1.ebuild 2694 BLAKE2B 97cb62df2e7dbc7647e5a81c1056350f53992715d3904b9b1c55cf78e853124ef9d77f4a1d6b5303039593a8693e668a6de354bd637f781b931b09a093bc42c9 SHA512 696d0b6df900197e4b6b765549f0441ce29afe4a89be86041d5f1ccf984428d84810570a9d2c2d00f501afb977b416ec00aadd9531b8d803aca8efaeb4ed0ea1 +EBUILD beignet-1.3.2-r1.ebuild 2688 BLAKE2B f9dddac927aa9f34731cb1e10113bbaa686cf6a9f5adb9890f89f00110033c844d2395a0a81dbd73269ff33ed78f24f6b2a15a42d7d00f63ab391a62dd3021f1 SHA512 337bf60e64644f541fbca9b0b7d5571c40fdfae97c571bc0ecc9ba408fa9c3d0f98bab41262bf7ea453da598c9ffb240e17644c15033f6d04adaa93a045a14b0 +EBUILD beignet-1.3.2-r2.ebuild 2750 BLAKE2B 39ddec90fcc36856f47922663e500b0fd9d43abe5763a7f7ad5638ae47a63f82a80495b2eb02d406613bc9456c3d197f43ee5cb58a419112545235abfc31f2e1 SHA512 650d7b33c334eaa9688d49e6849bfa6d37879ed59150e3d2554e0a655e37b2c3ecd1ccf0883a202536ff65f3f7469c6d197aaf3960a6487a05e0863f3070546e EBUILD beignet-1.3.2.ebuild 2630 BLAKE2B 09a301f4174494e0f8007de277f9c3d888361661631ace7e1858a0a4cfec7cac07f494b2187862e447e1079716b9561bc6526422ce8100df54bdaf282de8cf0b SHA512 823a890987d1c6e3c16f9127ebe20947ea09d9114f9e5e42fe97e212d32ae53d44dcfb37aead35608c8b3c2f2214f9c493c99381073cabd4d6ab8872f49762db EBUILD beignet-9999.ebuild 2452 BLAKE2B 91b4102d667aa6e265c725f7e77a5bf66198b75569d15a6ea7ea6e89a064639a5783d7670dd7627e47b6ee90124a076fba3abc8a13aeb7f82d3aaf9a7e4ab7a0 SHA512 def37f0a7884bcf1f87f3ec1da46d499a7cb6f8dc216ce51212f72039490f70746a5ca3fe3ab1bc7da481834b16d54c0bdf11f7834de319b5e978e5b641d203b MISC metadata.xml 473 BLAKE2B e805dfe8af6753bfd30bc46d81637c28106320d8a149a41adb893b3fbe6deb54ef16589f78223153ae9446110b9b905267724034664896f9970bd6fd200c52fc SHA512 79c6f3d28b6c15b05616af2b5224f7b6e79642ae6e6b3579ac510c0935f288940d015258b1c2d07820fcbdca117eca66f25a5a4dc7df3af92c771e9ff9243186 diff --git a/dev-libs/beignet/beignet-1.3.2-r1.ebuild b/dev-libs/beignet/beignet-1.3.2-r1.ebuild index 7975dc31d3ce..aabc386a74b1 100644 --- a/dev-libs/beignet/beignet-1.3.2-r1.ebuild +++ b/dev-libs/beignet/beignet-1.3.2-r1.ebuild @@ -82,7 +82,7 @@ multilib_src_configure() { VENDOR_DIR="/usr/$(get_libdir)/OpenCL/vendors/${PN}" local mycmakeargs=( - -DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/${VENDOR_DIR}" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}${VENDOR_DIR}" -DOCLICD_COMPAT=$(usex ocl-icd) $(usex ocl20 "" "-DENABLE_OPENCL_20=OFF") ) @@ -96,7 +96,7 @@ multilib_src_install() { cmake-utils_src_install insinto /etc/OpenCL/vendors/ - echo "${EPREFIX%/}/${VENDOR_DIR}/lib/${PN}/libcl.so" > "${PN}-${ABI}.icd" || die "Failed to generate ICD file" + echo "${EPREFIX}${VENDOR_DIR}/lib/${PN}/libcl.so" > "${PN}-${ABI}.icd" || die "Failed to generate ICD file" doins "${PN}-${ABI}.icd" dosym "lib/${PN}/libcl.so" "${VENDOR_DIR}"/libOpenCL.so.1 diff --git a/dev-libs/beignet/beignet-1.3.2-r2.ebuild b/dev-libs/beignet/beignet-1.3.2-r2.ebuild new file mode 100644 index 000000000000..bc69b887c3d5 --- /dev/null +++ b/dev-libs/beignet/beignet-1.3.2-r2.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) +CMAKE_BUILD_TYPE="Release" + +inherit python-any-r1 cmake-multilib flag-o-matic llvm toolchain-funcs + +DESCRIPTION="OpenCL implementation for Intel GPUs" +HOMEPAGE="https://01.org/beignet" + +LICENSE="LGPL-2.1+" +SLOT="0" +IUSE="ocl-icd ocl20" + +if [[ "${PV}" == "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://anongit.freedesktop.org/git/beignet.git" + KEYWORDS="" +else + KEYWORDS="~amd64" + SRC_URI="https://01.org/sites/default/files/${P}-source.tar.gz" + S=${WORKDIR}/Beignet-${PV}-Source +fi + +COMMON="media-libs/mesa[${MULTILIB_USEDEP}] + <sys-devel/clang-6.0.9999:=[${MULTILIB_USEDEP}] + >=x11-libs/libdrm-2.4.70[video_cards_intel,${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}]" +RDEPEND="${COMMON} + app-eselect/eselect-opencl" +DEPEND="${COMMON} + ${PYTHON_DEPS} + ocl-icd? ( dev-libs/ocl-icd ) + virtual/pkgconfig" + +LLVM_MAX_SLOT=6 + +PATCHES=( + "${FILESDIR}"/no-debian-multiarch.patch + "${FILESDIR}"/${PN}-1.3.2_disable-doNegAddOptimization.patch + "${FILESDIR}"/${PN}-1.3.2_cmake-llvm-config-multilib.patch + "${FILESDIR}"/${PN}-1.3.2_llvm6.patch + "${FILESDIR}"/${PN}-1.3.1-oclicd_no_upstream_icdfile.patch + "${FILESDIR}"/${PN}-1.2.0_no-hardcoded-cflags.patch + "${FILESDIR}"/llvm-terminfo.patch +) + +DOCS=( + docs/. +) + +pkg_pretend() { + if [[ ${MERGE_TYPE} != "binary" ]]; then + if tc-is-gcc; then + if [[ $(gcc-major-version) -eq 4 ]] && [[ $(gcc-minor-version) -lt 6 ]]; then + eerror "Compilation with gcc older than 4.6 is not supported" + die "Too old gcc found." + fi + fi + fi +} + +pkg_setup() { + llvm_pkg_setup + python_setup +} + +src_prepare() { + # See Bug #593968 + append-flags -fPIC + + cmake-utils_src_prepare + # We cannot run tests because they require permissions to access + # the hardware, and building them is very time-consuming. + cmake_comment_add_subdirectory utests +} + +multilib_src_configure() { + VENDOR_DIR="/usr/$(get_libdir)/OpenCL/vendors/${PN}" + + local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="${EPREFIX}${VENDOR_DIR}" + -DOCLICD_COMPAT=$(usex ocl-icd) + $(usex ocl20 "" "-DENABLE_OPENCL_20=OFF") + ) + + cmake-utils_src_configure +} + +multilib_src_install() { + VENDOR_DIR="/usr/$(get_libdir)/OpenCL/vendors/${PN}" + + cmake-utils_src_install + + insinto /etc/OpenCL/vendors/ + echo "${EPREFIX}${VENDOR_DIR}/lib/${PN}/libcl.so" > "${PN}-${ABI}.icd" || die "Failed to generate ICD file" + doins "${PN}-${ABI}.icd" + + dosym "lib/${PN}/libcl.so" "${VENDOR_DIR}"/libOpenCL.so.1 + dosym "lib/${PN}/libcl.so" "${VENDOR_DIR}"/libOpenCL.so + dosym "lib/${PN}/libcl.so" "${VENDOR_DIR}"/libcl.so.1 + dosym "lib/${PN}/libcl.so" "${VENDOR_DIR}"/libcl.so +} diff --git a/dev-libs/beignet/files/beignet-1.3.2_disable-doNegAddOptimization.patch b/dev-libs/beignet/files/beignet-1.3.2_disable-doNegAddOptimization.patch new file mode 100644 index 000000000000..ae399b17f053 --- /dev/null +++ b/dev-libs/beignet/files/beignet-1.3.2_disable-doNegAddOptimization.patch @@ -0,0 +1,66 @@ +--- b/backend/src/backend/gen_insn_selection_optimize.cpp ++++ a/backend/src/backend/gen_insn_selection_optimize.cpp +@@ -74,7 +74,8 @@ namespace gbe + const GenRegister& replacement) : + insn(insn), intermedia(intermedia), replacement(replacement) + { +- assert(insn.opcode == SEL_OP_MOV || insn.opcode == SEL_OP_ADD); ++ assert(insn.opcode == SEL_OP_MOV); ++ assert(&(insn.src(0)) == &replacement); + assert(&(insn.dst(0)) == &intermedia); + this->elements = CalculateElements(intermedia, insn.state.execWidth); + replacementOverwritten = false; +@@ -101,7 +102,6 @@ namespace gbe + void doReplacement(ReplaceInfo* info); + bool CanBeReplaced(const ReplaceInfo* info, const SelectionInstruction& insn, const GenRegister& var); + void cleanReplaceInfoMap(); +- void doNegAddOptimization(SelectionInstruction &insn); + + SelectionBlock &bb; + const ir::Liveness::LiveOut& liveout; +@@ -159,13 +159,8 @@ namespace gbe + + void SelBasicBlockOptimizer::addToReplaceInfoMap(SelectionInstruction& insn) + { +- assert(insn.opcode == SEL_OP_MOV || insn.opcode == SEL_OP_ADD); +- GenRegister &src = insn.src(0); +- if (insn.opcode == SEL_OP_ADD) { +- if (src.file == GEN_IMMEDIATE_VALUE) +- src = insn.src(1); +- } +- ++ assert(insn.opcode == SEL_OP_MOV); ++ const GenRegister& src = insn.src(0); + const GenRegister& dst = insn.dst(0); + if (src.type != dst.type || src.file != dst.file) + return; +@@ -254,29 +249,10 @@ namespace gbe + + if (insn.opcode == SEL_OP_MOV) + addToReplaceInfoMap(insn); +- +- doNegAddOptimization(insn); + } + cleanReplaceInfoMap(); + } + +- /* LLVM transform Mad(a, -b, c) to +- Add b, -b, 0 +- Mad val, a, b, c +- for Gen support negtive modifier, mad(a, -b, c) is native suppoted. +- Also it can be used for the same like instruction sequence. +- Do it just like a: mov b, -b, so it is a Mov operation like LocalCopyPropagation +- */ +- void SelBasicBlockOptimizer::doNegAddOptimization(SelectionInstruction &insn) { +- if (insn.opcode == SEL_OP_ADD) { +- GenRegister src0 = insn.src(0); +- GenRegister src1 = insn.src(1); +- if ((src0.negation && src1.file == GEN_IMMEDIATE_VALUE && src1.value.f == 0.0f) || +- (src1.negation && src0.file == GEN_IMMEDIATE_VALUE && src0.value.f == 0.0f)) +- addToReplaceInfoMap(insn); +- } +- } +- + void SelBasicBlockOptimizer::run() + { + for (size_t i = 0; i < MaxTries; ++i) { |