commit:     c0c680d324fea62c1dae0774d24c322bcfc3057e
Author:     Denis Reva <denis7774 <AT> gmail <DOT> com>
AuthorDate: Sat Dec 10 06:47:48 2022 +0000
Commit:     Denis Reva <denis7774 <AT> gmail <DOT> com>
CommitDate: Sat Dec 10 06:48:08 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=c0c680d3

media-libs/amdvlk: Updated amdvlk to 2022.4.3, added use flag for raytracing 
support, updated metadata.xml

Bug: https://bugs.gentoo.org/665590
Closes: https://bugs.gentoo.org/860165
Signed-off-by: Denis Reva <denis7774 <AT> gmail.com>

 media-libs/amdvlk/Manifest               |   5 ++
 media-libs/amdvlk/amdvlk-2022.4.3.ebuild | 124 +++++++++++++++++++++++++++++++
 media-libs/amdvlk/metadata.xml           |   8 +-
 3 files changed, 136 insertions(+), 1 deletion(-)

diff --git a/media-libs/amdvlk/Manifest b/media-libs/amdvlk/Manifest
index 0e8875ec9..184cc26ae 100644
--- a/media-libs/amdvlk/Manifest
+++ b/media-libs/amdvlk/Manifest
@@ -1,7 +1,12 @@
 DIST amdvlk-CWPack-4f8cf0584442a91d829d269158567d7ed926f026.tar.gz 39633 
BLAKE2B 
d5b2a88f0d563eef5beb42a8304cf6cdd825e75242c22acc360c5bb9cbd1d02a4f891b6b2f3a4803e1e6b48a4d176aad40f8bdeca92847f2fbf53674dedeaff3
 SHA512 
06d56baaba1f1224a5266f4a63c1abf70edba7cc16cc4e62f2f5b1ec94fc2c1cfc4c6f11a9c6ef42c23b29be8d07921caad5e919357c0bd82cf714783eee0bcc
 DIST amdvlk-MetroHash-18893fb28601bb9af1154cd1a671a121fff6d8d3.tar.gz 11729 
BLAKE2B 
b0e3de885e50c317141d62c885b421c7fd2e1ac783733704342bbed3109bff36a9209ab276f534a2231531483539221bbb1014bd39528a91124161bafc5646eb
 SHA512 
8f12f95e80d594c8bd87a852c67a2d6777ce89d1a13e1a87ee17bbb876a0702c14ffe7a7fd65a244620f2043ad5d22ae8eb863d69f1dc5494d985733bbfb7bf9
+DIST amdvlk-gpurt-385af58e0f1bbe2b4da5e0774c423f39fdaf3067.tar.gz 293102 
BLAKE2B 
3e62f7daac1bc412f5415cd43f3f23f1b32de165b074c21437a7c02dcb7e3b4172d333e2f8d6bf0b5a43d882d030af084aab6e8ab3c1391c355241597c9b0b33
 SHA512 
5d4b3ed4150673650dbfd781fef15d81afafd2227231badfadb2ba396b10213d9196add5c0a7bba45c275d1a9a3312e55310d177dbe8587f8378db6d998e531c
 DIST amdvlk-gpurt-889dd8db7228814a530f0a897ae1ce35543f4662.tar.gz 293078 
BLAKE2B 
18efc22b0467bd8756e7746169ebd7e7816821c89fe33a04a7d495101fcea136ab6d379d037741f353a5707d4c5f9e2a80a589a009882d380234b23d767cd089
 SHA512 
ed49a3c88d8e8d91f8e2d733d060a4999051b4fc79ec3b5224c88de32f586e913ea76a48c9fe09acdbacb5be933ab0bac07c321034b0a5703605379b85e11e74
+DIST amdvlk-llpc-6c817737b6545906db56da44c12f39b6470d8903.tar.gz 2497312 
BLAKE2B 
9d10a2d08bc02603d56708e25ad254bb166404cfa6e141c6c649b67fbd45f088d9b571a7395fc878c87c0defa9cc76dbf40048c72d84479a275a3ad5b9f13339
 SHA512 
fe8d6164f13bc63278afceefea10c54132834407e2da1f08264fd25eba876a48ff2d8c269413330db9522d717caefe0a7ee03f0188fa2ac50edfcdbdf9c40c01
 DIST amdvlk-llpc-83e59f978821ce09390b25838b6684fc11b04774.tar.gz 2489526 
BLAKE2B 
b9f595245a43cee0499c5dc49abb1071844c9f018b6bd7073fda7942c3ba876eb5c37e130118de95a9acff83064f75db6f39d238e439e75ca5611990b5de0ae1
 SHA512 
45857a3bf658a98675c81ca29061dd77736e44660a643438aca71e1752104a8c318cb0c96152d9203e740e62278ad74b3e084117f2a7ddc65e43278470e59ffc
 DIST amdvlk-llvm-project-3c87d1ffe0dbaa60927d428afe3a4a2b3352c31b.tar.gz 
167640231 BLAKE2B 
15199760d50db4af5925f47ffdd4cb13b891cd76becd81dd96d0dbbb5785176ea7d272d12949d9446eccf1dc774150af04379586931e2b9b4faa1d6743cb265f
 SHA512 
bd790236238fd068a7e7d438803ab307df34297f6aeff10c07dde43c6f51e582a92f0f084531f8f5c16e8cc52927ec67e8349eebf836e8cf295a22430aaf46a3
+DIST amdvlk-llvm-project-42a4d92d3c68995d04f1ed580613d162054f5795.tar.gz 
167651563 BLAKE2B 
4cfd4932dc15b4e0c8cf3b70403498c6fe77928a4a38d6d806f58d2399214eff4cef20ddd99c3f98675ffb02ec87e6931bfe05aa7d983fda2f4b6d2146d503ac
 SHA512 
5372052bfe99a5b9f6b4d3c90d50912c90a4336361ff26c0b86cd0d1584e162e1fd9b3402bc65d6be6ab53290450dec0e6a051505d323e6b236640721d271dbe
 DIST amdvlk-pal-0f44ced5384c66d77df3dca1116c7daf7ccfdae5.tar.gz 11305484 
BLAKE2B 
774310e4b5d839ec1415340377c45b31fc60fde56250e9a2097ef0bbf1940a59b901a692215e28a7200cefa80b075b2e11882fe21b550f1e3edfebad203c28d3
 SHA512 
f96b79f3be4e5d0b82be7a37bfe546a2db466a92e9eb59053582b3b12a846fe737cd6e01a4d4725ef016611d850cb70b81fb478343b6d7b49832091f10f1e2b1
+DIST amdvlk-pal-4a23f7ca61e25c06fda9d9e3630da54182ca1ff3.tar.gz 11333128 
BLAKE2B 
86f747765430b8fbee5085a92a4fdceab3de0181c7cedf45f5e2c461cbd6a09d2592b2a2a2d08ad271bffeb3edbdf60223813dd60188c9cf4c9a19759dd39ae7
 SHA512 
cb62cd476f75a5fa5ca08379eb5fa4bd71014f14bf93c01f06d5226c6f3d96c9d19df61f61e852c00d5cf3b2b69bd21d7588690bdc10296a752feb00a733c695
 DIST amdvlk-xgl-0387177d6143533c88ff0d5ac045bf3994ee618b.tar.gz 1216290 
BLAKE2B 
30d0914538562ca923216a14be2b54f6d065c0a9f03bdaa11e163bf8c0e3499fdff79aaf6e0495e9d0dd12af526627447781259694e93cf4dab2712b0e1be623
 SHA512 
6531d1649a09d4f59ce70e8f0f7f9075585c86e5a0053038c6e11c6d9df77ec1dbc2ec12c67dd4e250911faf6d1701f30665c96b18b56bd247f2381c82991550
+DIST amdvlk-xgl-b358df5460810b00d0cc779e4d000e4a901d2047.tar.gz 1227551 
BLAKE2B 
6ed056f5156319c18cc31a5cb37d5d46a0c76b9aa44b03fcedb5870121d4041f8a2da77d97781411c4777795368ebefd334449a61fe18f10462f1086b6c99826
 SHA512 
d77efd4828541ed9428d1d9911bb87aed9f1dab10b61fb80b083cc315fe4b472c60a082a3fe51a16c79608ee614b16773097b4c7ff390569345e10f08215420c

diff --git a/media-libs/amdvlk/amdvlk-2022.4.3.ebuild 
b/media-libs/amdvlk/amdvlk-2022.4.3.ebuild
new file mode 100644
index 000000000..8b4692f9a
--- /dev/null
+++ b/media-libs/amdvlk/amdvlk-2022.4.3.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit check-reqs python-any-r1 cmake-multilib
+
+DESCRIPTION="AMD Open Source Driver for Vulkan"
+HOMEPAGE="https://github.com/GPUOpen-Drivers/AMDVLK";
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="wayland +raytracing"
+REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )"
+
+BUNDLED_LLVM_DEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}]"
+DEPEND="wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
+       ${BUNDLED_LLVM_DEPEND}
+       >=dev-util/vulkan-headers-1.3.224
+       raytracing? ( dev-util/DirectXShaderCompiler )
+       dev-util/glslang[${MULTILIB_USEDEP}]"
+BDEPEND="${BUNDLED_LLVM_DEPEND}
+       ${PYTHON_DEPS}
+       dev-util/cmake
+       virtual/linux-sources"
+RDEPEND=" ${DEPEND}
+       x11-libs/libdrm[${MULTILIB_USEDEP}]
+       x11-libs/libXrandr[${MULTILIB_USEDEP}]
+       x11-libs/libxcb[${MULTILIB_USEDEP}]
+       x11-libs/libxshmfence[${MULTILIB_USEDEP}]
+       >=media-libs/vulkan-loader-1.3.224[${MULTILIB_USEDEP}]
+       dev-util/glslang[${MULTILIB_USEDEP}]"
+
+CHECKREQS_MEMORY="16G"
+CHECKREQS_DISK_BUILD="4G"
+S="${WORKDIR}"
+CMAKE_USE_DIR="${S}/xgl"
+
+### SOURCE CODE PER_VERSION VARIABLES
+FETCH_URI="https://github.com/GPUOpen-Drivers";
+## For those who wants update ebuild: check 
https://github.com/GPUOpen-Drivers/AMDVLK/blob/${VERSION}/default.xml
+## e.g. https://github.com/GPUOpen-Drivers/AMDVLK/blob/v-2022.Q3.5/default.xml
+## and place commits in the desired variables
+## EXAMPLE: XGL_COMMIT="80e5a4b11ad2058097e77746772ddc9ab2118e07"
+## SRC_URI="... ${FETCH_URI}/$PART/archive/$COMMIT.zip -> $PART-$COMMIT.zip 
..."
+XGL_COMMIT="b358df5460810b00d0cc779e4d000e4a901d2047"
+PAL_COMMIT="4a23f7ca61e25c06fda9d9e3630da54182ca1ff3"
+LLPC_COMMIT="6c817737b6545906db56da44c12f39b6470d8903"
+GPURT_COMMIT="385af58e0f1bbe2b4da5e0774c423f39fdaf3067"
+LLVM_PROJECT_COMMIT="42a4d92d3c68995d04f1ed580613d162054f5795"
+METROHASH_COMMIT="18893fb28601bb9af1154cd1a671a121fff6d8d3"
+CWPACK_COMMIT="4f8cf0584442a91d829d269158567d7ed926f026"
+# end of variables
+SRC_URI="${FETCH_URI}/xgl/archive/${XGL_COMMIT}.tar.gz -> 
amdvlk-xgl-${XGL_COMMIT}.tar.gz
+${FETCH_URI}/pal/archive/${PAL_COMMIT}.tar.gz -> 
amdvlk-pal-${PAL_COMMIT}.tar.gz
+${FETCH_URI}/llpc/archive/${LLPC_COMMIT}.tar.gz -> 
amdvlk-llpc-${LLPC_COMMIT}.tar.gz
+${FETCH_URI}/gpurt/archive/${GPURT_COMMIT}.tar.gz -> 
amdvlk-gpurt-${GPURT_COMMIT}.tar.gz
+${FETCH_URI}/llvm-project/archive/${LLVM_PROJECT_COMMIT}.tar.gz -> 
amdvlk-llvm-project-${LLVM_PROJECT_COMMIT}.tar.gz
+${FETCH_URI}/MetroHash/archive/${METROHASH_COMMIT}.tar.gz -> 
amdvlk-MetroHash-${METROHASH_COMMIT}.tar.gz
+${FETCH_URI}/CWPack/archive/${CWPACK_COMMIT}.tar.gz -> 
amdvlk-CWPack-${CWPACK_COMMIT}.tar.gz"
+
+PATCHES=(
+       "${FILESDIR}/amdvlk-2022.3.5-no-compiler-presets.patch" #875821
+       "${FILESDIR}/amdvlk-2022.4.1-proper-libdir.patch"
+       "${FILESDIR}/amdvlk-2022.4.2-license-path.patch" #878803
+       "${FILESDIR}/amdvlk-2022.4.2-reduced-llvm-installations.patch"
+       "${FILESDIR}/amdvlk-2022.4.2-reduced-llvm-installations-part2.patch"
+)
+
+src_prepare() {
+       einfo "moving src to proper directories"
+       mkdir -p "${S}"
+       mkdir -p "${S}/third_party"
+       mv xgl-${XGL_COMMIT}/ "${S}/xgl"
+       mv pal-${PAL_COMMIT}/ "${S}/pal"
+       mv llpc-${LLPC_COMMIT}/ "${S}/llpc"
+       mv gpurt-${GPURT_COMMIT}/ "${S}/gpurt"
+       mv llvm-project-${LLVM_PROJECT_COMMIT}/ "${S}/llvm-project"
+       mv MetroHash-${METROHASH_COMMIT}/ "${S}/third_party/metrohash"
+       mv CWPack-${CWPACK_COMMIT}/ "${S}/third_party/cwpack"
+       cmake_src_prepare
+}
+
+multilib_src_configure() {
+       local mycmakeargs=(
+               -DBUILD_WAYLAND_SUPPORT=$(usex wayland)
+               -DVKI_RAY_TRACING=$(usex raytracing)
+               -DLLVM_VERSION_SUFFIX="-amdvlk"
+               -DLLVM_HOST_TRIPLE="${CHOST}"
+               -DBUILD_SHARED_LIBS=OFF #LLVM parts don't support shared libs
+               -DPython3_EXECUTABLE="${PYTHON}"
+               -DPACKAGE_VERSION="${PV}"
+               -DPACKAGE_NAME="${PN}"
+               -DLLVM_INSTALL_TOOLCHAIN_ONLY=On #Disable installation of 
various LLVM parts which we had to clean up.
+               -Wno-dev
+               )
+       cmake_src_configure
+}
+multilib_check_headers() {
+       einfo "Checking headers skipped: there is no headers"
+}
+
+multilib_src_install_all() {
+       default
+       einfo "Removing unused LLVM parts…"
+       rm "${D}"/usr/lib/libLTO* || die "Can't remove unused LLVM lto library"
+       rm "${D}"/usr/lib/libRemarks* || die "Can't remove unused LLVM 
libRemarks library"
+       rm -r "${D}"/usr/lib/cmake || die "Can't remove unused LLVM cmake 
folder"
+       einfo "Removal done"
+}
+
+pkg_postinst() {
+       ewarn "Make sure the following line is NOT included in the any Xorg 
configuration section:"
+       ewarn "| Driver   \"modesetting\""
+       ewarn "and make sure you use DRI3 mode for Xorg (not revelant for 
wayland)"
+       elog "More information about the configuration can be found here:"
+       elog "https://github.com/GPUOpen-Drivers/AMDVLK";
+       elog "You can use AMD_VULKAN_ICD variable to switch to the required 
driver."
+       elog "AMD_VULKAN_ICD=RADV application   - for using radv."
+       elog "AMD_VULKAN_ICD=AMDVLK application - for using amdvlk."
+}

diff --git a/media-libs/amdvlk/metadata.xml b/media-libs/amdvlk/metadata.xml
index 86929ff1a..2c3c1f6f4 100644
--- a/media-libs/amdvlk/metadata.xml
+++ b/media-libs/amdvlk/metadata.xml
@@ -2,12 +2,18 @@
 <!DOCTYPE pkgmetadata SYSTEM 'http://www.gentoo.org/dtd/metadata.dtd'>
 <pkgmetadata>
        <maintainer type="person">
-               <email>denis7...@gmail.com</email>
+               <email>rarog.c...@yandex.ru</email>
                <name>Denis Reva</name>
                <description>rarogcmex</description>
        </maintainer>
+       <use>
+               <flag name="raytracing">Enable Vulkan raytracing support in 
AMDVLK, requires dev-util/DirectXShaderCompiler to build. Disable if you have 
weak hardware.</flag>
+       </use>
        <longdescription lang="en">
                The AMD Open Source Driver for Vulkan® is an open-source Vulkan 
driver for AMD Radeon™ graphics adapters on Linux®. It is built on top of AMD’s 
Platform Abstraction Library (PAL), a shared component that is designed to 
encapsulate certain hardware and OS-specific programming details for many of 
AMD’s 3D and compute drivers. Leveraging PAL can help provide a consistent 
experience across platforms, including support for recently released GPUs and 
compatibility with AMD developer tools.
                Shaders that compose a particular VkPipeline object are 
compiled as a single entity using the LLVM-Based Pipeline Compiler (LLPC) 
library. LLPC builds on LLVM’s existing shader compilation infrastructure for 
AMD GPUs to generate code objects compatible with PAL’s pipeline ABI.
        </longdescription>
+       <upstream>
+               <remote-id type="github">GPUOpen-Drivers/AMDVLK</remote-id>
+       </upstream>
 </pkgmetadata>

Reply via email to