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>