media-libs/amdvlk: new version 2020.4.1

Changes:
New feature and improvement
Update Vulkan API version to 1.2.156
Enable extension: VK_EXT_shader_image_atomic_int64
Issue fix
50% performance drop in 4k low for X-plane new update
System hangs while playing Wolfenstein II: The New
	Colossus for 5-10 mins
[Regression in v-2020.Q1.2 AMDVLK on Polaris GPU] Some shadow
	fails to be rendered
Second Extinction crashes during launch

Package-Manager: Portage-3.0.8, Repoman-3.0.2
Signed-off-by: Denis Reva <denis7774@gmail.com>
This commit is contained in:
Denis Reva
2020-10-27 09:54:56 +05:00
parent 3a392ae491
commit b20671bda1
2 changed files with 130 additions and 0 deletions

View File

@@ -1,15 +1,20 @@
DIST AMDVLK-v-2020.Q3.5.tar.gz 32258 BLAKE2B f0779cb5659881d72d8d316a2ccf3907674b7182b969d21c392131d6122db66bf0fcbe8f693d9e332ea03240285b602ffe9e70c1e96e06694a0ba1810d3bf752 SHA512 7cc9c1f306bca846a25335231f9354f22bf7d65fc5c639123322f05ab7d8cf3c6c01f323eb5c1c3b64cba818295784bd583df6b2fee9334600cbd28350afc4a1
DIST AMDVLK-v-2020.Q3.6.tar.gz 32264 BLAKE2B 6e6f57e4c238b7a54c8b4731e31f66b1975043f0ee36735ead3a3eb8a9ee7db11ef420a7e75e3bbbc66869b41d3fe381856dc25de50ed560aa73f1a4fbb5ea18 SHA512 5fc25249ee624d931b6bd7ee4542350f7ba64e0e1e3e9b5dd1face62659f315460b35d75c71aac24b7cb8cac432e3627bfddd131c0572db1ae06d755b68d542a
DIST AMDVLK-v-2020.Q4.1.tar.gz 32259 BLAKE2B 628e4df092541c0ce2391991f1a4a8417226c043a1bc3e22ef64272b89fde17cce8480c3bffdf711ae72abbe028cf62d8cda32d5764d39586f60eb36070e6f45 SHA512 76af2e7844e4cd25b3e8dccd7e8d2a7c63dc48ae434354628cd74492dfff543c5b2acbf9b3eb300d1d0d01cc3858ebced92987832c75510571e1352190c87505
DIST CWPack-7387247eb9889ddcabbc1053b9c2052e253b088e.tar.gz 24538 BLAKE2B 76c4da32ea06df355f7e8f77a14c185b2ccab2ce2762988f04a04d65b674e089d4fc27206e744f89b4bd84c9d7226d324414a31941303290e7f574e9d64756cf SHA512 38378ef325e42a7356511c2fc06b6c896581968079e85c4b924a1768d895feecaf1eb8fd65afb59bed0f66e0547104d67c2deb9f82a86f4b9fa65b36e57cd47d
DIST MetroHash-3c566dd9cda44ca7fd97659e0b53ac953f9037d2.tar.gz 11804 BLAKE2B 683ca8a9e4b93a945dc455c5cb78a2c6dd9dbdf22432ea9f447a6d2d1b05399cc57b621d1e304dc5695ab936a212a2df110e47ec9141764f4eaa2b184a01f4ba SHA512 ae4fcf09a097ceddfcc9f0b721cae0018fff8a0360d8fbbb195d2a8c2809cf8f3c01090ba8129593d89fe1c041224e42a49e7a1c66f20e60958a5373f6d9027f
DIST MetroHash-712f76fee75d69b23a1ea8f6465752c3ccaaf9a2.tar.gz 11754 BLAKE2B c08cc66b169e818d31b563ce25d903e81d029e8f869d6fd6bf44f21e36374721c991000d11d30f917fa829f51561ff51f09be88571803ff2395f371fd256bc77 SHA512 7a8dd0a91b95bcbc738d9d15d19fd25e4f7eeb5aee8bfb93ff185ed29ba0bdd29ffbe6629ebd4c3d0e48ecacdbe6dd26adee630f4cbf3c02d6829c64d7f461c9
DIST llpc-1d2d77c7533f41707ccf89b66db2e0feac3dea83.tar.gz 2048145 BLAKE2B fc1cca5dc1589d563264fc72ff396d8fcb4107eb30df04fb6eee29f049b01151b8710ad469117d8a3524fa2a667305d0a381d9b3b92e8385dfa399d414717897 SHA512 fe609c4c78f5596b7c019414e89848d86ce2a5af6a0a38caaeaf829c41bac4885c998269775d395b8a76a8c50cd7758214f7ca261c7deffdd8b644d7c6b1ded6
DIST llpc-6ff17fa6136e4bba8b6ae496e90e40c6e7750820.tar.gz 2006145 BLAKE2B 1e8c8c33a5d5792d786c76198dfa8e2e6425fba156af3810a9756c6663ed2fe58086ad973a912e218ec1a91bab8640900e914f8d91453371ca33bd19bcbcf371 SHA512 a4abc112c299fbd4443baabcce26a2582c0b81c457eb17538e6fbdb169cf78999d203e666ca17b41074ae524b0da5102eafb7ce7275faf75570caef03b34eef1
DIST llpc-a3ac9d29e78d11a6cdc1bc1dd0be082e35dbfc0d.tar.gz 1996525 BLAKE2B dd220c1b191da80c09f9139e41b3e8a1960376587dde9a7823667d2c92c2bda4ab8026e12de1d000fe20a6227b9b826bacd687e290d29c1f406a5a32c17c2e03 SHA512 63ae344d7542c0ef6b86f18ec3ffc017399977bbc0414bac588b4e269319efc3761f506fab9de5cd6712fd721233ea19d317d7dd7fdcddda80c592a2e3b9f5f6
DIST llvm-project-1a8b53e02a92dbc7d40087c483d03c45c6c63f2e.tar.gz 125181540 BLAKE2B 2bd22252921892ba00a5388349baec28b9c0ffc72965c56c1ca262265c371efc1ad8feb573baa6d186a792e17d5a81f75e2df43d755d76fa5bfae9a289eaa77d SHA512 8f5ad47fdf5923232611b129567ca67a7de5f37080ceffa47fcb65a872bb2d605ed3c13515dd597f508b0257178e0d018633698cb3112f8eb3301c1dcc0e1d39
DIST llvm-project-61625276e878ae29f79a052e2d4b495616d8180c.tar.gz 127411128 BLAKE2B 578e4e622dd3bffd9a012a45e222f8d3bbdbaee0416bc189b4fbc6ff45528081063aece3454c605896c7e71afc3cf8d02798bbae0d66388174c2a32fe82b311e SHA512 746ff1d59958188cd84653e92ddc025b004cfa4e92ebdf7c3f07b4e8a5c5d0f85b8d2588bf6d6456337c46a7b0803116d8a08aad158f339ff657c599c95e1297
DIST llvm-project-baf9929eed02f75d0a429fc72ba76b9286ba1996.tar.gz 124197545 BLAKE2B 3857ab9ce3cc98463559110f4ec28ba6392b8a1f2808a9766ef9f5ab052f9dc8a5d5bd476c442af528aa187404da8c0a1eed82a60a56afb6ff00499e90f26705 SHA512 e59e72b2102b633b972455f74ccaeda9416041f66869e7c1cabf9e2a4459c65245e086ca1e7e0cfe23710d3d43346646c548f509a7339c56a28bf1a4635ebaf9
DIST pal-3c0809b87958d3751bf2892e04579b6b1d03c7ad.tar.gz 7629346 BLAKE2B a49833e393c5c4ecca0a0687f7cd979624f1cf21cc4c6ee37f50e20f482d2f6ec490a161a8f850261934b57ddc25fc1f9f7825d28f0661c000aa0dfa22c32699 SHA512 66dde5b8a603349b7962b4dbb0c1bdde81719b269393a5c43d3c53a661733177acc148101c9b51da7e189a3fc26c82d4d2d8f2aacda052be7ef3020de4a6728a
DIST pal-6fa4f8ac88b95688241d266ff9d8f02da6ec3c22.tar.gz 7670536 BLAKE2B aad1ccbf3f40b0dbe04409f86efed83074f5c82e23e7fd806d85e0aa3a79ef51111a72e4ed6ea9db68c74133e4767e60016505e9e02a088f89ccd98efd356802 SHA512 014ba1b8628093fddbfb26d121f07d8ab4694a94c3f67e3cc82bcc3b6d94e59d53a926d647d97e8c5bb4147d40889810d529ae79b8019c6ecdbdf684cdb02cab
DIST pal-a52f7c12f9ce5aca5c0c7f799f72b1b3362121bc.tar.gz 7668665 BLAKE2B 4d6c84c2d3a7ac18f54919bbfdc632601ab6faed5ff2c5877911362aa93b5079056eb8de09d900448c5e9a60a37b79a64134a42c7215997ce3d3952920a365c9 SHA512 8227b1c81da72afd5c91faedb1fbb62d16b75d20366334f29ac2bb57e615daba02c48915893338c1322e9f3d4e45cfdc974c05706fbe68fc3337efb38b36a139
DIST spvgen-2557aaa0e96695c51de0d66903e24194a1af054e.tar.gz 19477 BLAKE2B a25db4fa8ba234a9a33f4b20981f1118ed54239b2b37083d5530ffe4fc1544c58d400a3a7fd87b83da29fa21a6d925b135b6bf16c436ebeee941072e01b12613 SHA512 852379ff654e3c41131e483b944bb38aebcfe466e84155acf62bb3cc847c16c53789dcd51f5da1ee36130ff9b58ae00c8504191129c5293346b7021c6dd91431
DIST spvgen-fb798cb760a436e9496dbaab8827e4d183b74744.tar.gz 19475 BLAKE2B ace1afe0f9b129fdf3079341a09f0e761b1604a415412a3ea33325e770cecb62e67945a5d83b3248a29222b2dca86ad63c4c7d89e250851edc37d22543e75f20 SHA512 2c4f72518e6f1fbefebfe51d6e7d14187bad99b036b26f131ed726d0525244b33017549f5a56a4f7770239eaa411ff93561be53072458c6f491452ae496ee156
DIST xgl-07bb2eb097cd90983902118388cabd49f3530e8b.tar.gz 802016 BLAKE2B d17fb5b16267e799d2f2779be7adeac49c2916f50701436f8c84d462b5bbe3525eb53e4acf9d9eb0dbfbf6d2e2e8ba209752222627e21268c4b2e2fce4ddc135 SHA512 f7143a734a0864533005926a17130fe4203f6f9aa2b2bc85a6d543cb747e0e863fd8f26a642390f4d34e86f5b3a8847542ffcd3ad31ed8531f58611fbc61e106
DIST xgl-6e4aaa87a128f91cc62d337642949ee8cfcaeec8.tar.gz 800766 BLAKE2B 985f832b73ac9b12f09b8e7d58fe322b84b0d02f7f79255051f5ec9abc1258a162e19d757f5e47b4a0a4ff601700f81548bef810e0ab6d615d979313bba52d66 SHA512 f9d8a33e9d3ff5b48efbdc03f476253e485ac87b10af846af55fc754f3be2a186374efe1f598ec2b4abc441fd2c7de146f95630e9dc6d81b74034d3ea9682a18
DIST xgl-99aaaa0cd14293edf100b986bc004c886e6b2ef6.tar.gz 805754 BLAKE2B dda9c8b10349927cc2535d78ca9cc65eb877ebf5246447024516172027c04c87af9a86dbe9c54f0e6e7f754d2c49bd0f33466f4e2cfefd62d34cb9ec48352f1e SHA512 401221495d5687203893a4a925982d44e7d55e3cd8aaafe376b5da8604cdff7c96b296810efd52c1af29819787369b44a77e88aec250d21cc4cdd86662397936

View File

@@ -0,0 +1,125 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MULTILIB_COMPAT=( abi_x86_{32,64} )
inherit multilib-minimal check-reqs
#inherit cmake-multilib and cmake-utils build doesn't support https://github.com/GPUOpen-Drivers/AMDVLK/issues/151
DESCRIPTION="AMD Open Source Driver for Vulkan"
HOMEPAGE="https://github.com/GPUOpen-Drivers/AMDVLK"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="debug wayland"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )"
###DEPENDS
BUNDLED_LLVM_DEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}]"
DEPEND="wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
${BUNDLED_LLVM_DEPEND}
>=dev-util/vulkan-headers-1.2.143"
BDEPEND="${BUNDLED_LLVM_DEPEND}
dev-util/cmake"
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.2.141[${MULTILIB_USEDEP}]"
CHECKREQS_MEMORY="4G"
CHECKREQS_DISK_BUILD="2G"
S="${WORKDIR}"
CMAKE_USE_DIR="${S}/xgl"
###SOURCE CODE VARIABLES
FETCH_URI="https://github.com/GPUOpen-Drivers"
CORRECT_AMDVLK_PV="v-$(ver_rs 1 '.Q')" #Works only for amdvlk source code: transforming version 2019.2.2 to v-2019.Q2.2. Any other commits should be updated manually
##For those who wants update ebuild: check https://github.com/GPUOpen-Drivers/AMDVLK/blob/master/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="99aaaa0cd14293edf100b986bc004c886e6b2ef6"
PAL_COMMIT="3c0809b87958d3751bf2892e04579b6b1d03c7ad"
LLPC_COMMIT="1d2d77c7533f41707ccf89b66db2e0feac3dea83"
SPVGEN_COMMIT="fb798cb760a436e9496dbaab8827e4d183b74744"
LLVM_PROJECT_COMMIT="61625276e878ae29f79a052e2d4b495616d8180c"
METROHASH_COMMIT="3c566dd9cda44ca7fd97659e0b53ac953f9037d2"
CWPACK_COMMIT="7387247eb9889ddcabbc1053b9c2052e253b088e"
## SRC_URI
SRC_URI=" ${FETCH_URI}/AMDVLK/archive/${CORRECT_AMDVLK_PV}.tar.gz -> AMDVLK-${CORRECT_AMDVLK_PV}.tar.gz
${FETCH_URI}/xgl/archive/${XGL_COMMIT}.tar.gz -> xgl-${XGL_COMMIT}.tar.gz
${FETCH_URI}/pal/archive/${PAL_COMMIT}.tar.gz -> pal-${PAL_COMMIT}.tar.gz
${FETCH_URI}/llpc/archive/${LLPC_COMMIT}.tar.gz -> llpc-${LLPC_COMMIT}.tar.gz
${FETCH_URI}/spvgen/archive/${SPVGEN_COMMIT}.tar.gz -> spvgen-${SPVGEN_COMMIT}.tar.gz
${FETCH_URI}/llvm-project/archive/${LLVM_PROJECT_COMMIT}.tar.gz -> llvm-project-${LLVM_PROJECT_COMMIT}.tar.gz
${FETCH_URI}/MetroHash/archive/${METROHASH_COMMIT}.tar.gz -> MetroHash-${METROHASH_COMMIT}.tar.gz
${FETCH_URI}/CWPack/archive/${CWPACK_COMMIT}.tar.gz -> CWPack-${CWPACK_COMMIT}.tar.gz"
###EBUILD FUNCTIONS
src_prepare() {
##moving src to proper directories
mkdir -p "${S}"
mkdir -p "${S}/third_party"
mv AMDVLK-${CORRECT_AMDVLK_PV}/ "${S}/AMDVLK"
mv xgl-${XGL_COMMIT}/ "${S}/xgl"
mv pal-${PAL_COMMIT}/ "${S}/pal"
mv llpc-${LLPC_COMMIT}/ "${S}/llpc"
mv spvgen-${SPVGEN_COMMIT}/ "${S}/spvgen"
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"
##Installing rule
cat << EOF > "${T}/10-amdvlk-dri3.conf" || die
Section "Device"
Identifier "AMDgpu"
Option "DRI" "3"
EndSection
EOF
cd "${S}/xgl"
default
}
multilib_src_configure() {
local mycmakeargs=(
-DBUILD_WAYLAND_SUPPORT=$(usex wayland )
-DCMAKE_BUILD_TYPE="$(usex debug "Debug" "Release")"
-B"${BUILD_DIR}" )
cd "${S}"/xgl
cmake -H. "${mycmakeargs[@]}"
}
multilib_src_install() {
if use abi_x86_64 && multilib_is_native_abi; then
mkdir -p "${D}/usr/lib64/"
mv "${BUILD_DIR}/icd/amdvlk64.so" "${D}/usr/lib64/"
insinto /usr/share/vulkan/icd.d
doins "${S}/AMDVLK/json/Redhat/amd_icd64.json"
else
mkdir -p "${D}/usr/lib/"
mv "${BUILD_DIR}/icd/amdvlk32.so" "${D}/usr/lib/"
insinto /usr/share/vulkan/icd.d
doins "${S}/AMDVLK/json/Redhat/amd_icd32.json"
fi
}
multilib_src_install_all() {
insinto /usr/share/X11/xorg.conf.d/
doins "${T}/10-amdvlk-dri3.conf"
einfo "AMDVLK requires DRI3 mode so config file is istalled in /usr/share/X11/xorg.conf.d/10-amdvlk-dri3.conf"
einfo "It's safe to double xorg configuration files if you have already had ones"
}
pkg_postinst() {
elog "More information about the configuration can be found here:"
elog " https://github.com/GPUOpen-Drivers/AMDVLK"
ewarn "Make sure the following line is NOT included in the any Xorg configuration section:"
ewarn "Driver \"modesetting\""
ewarn "Else AMDVLK breaks things"
ewarn "With some games AMDVLK is still not stable. Use it at you own risk"
elog "You may want to disable default vulkan mesa provider in package.use \"media-libs/mesa -vulkan\""
elog "or perform export in /etc/env.d/ variable VK_ICD_FILENAMES=vulkanprovidername:vulkanprovidername2 "
elog "exampe| VK_ICD_FILENAMES=\"/usr/share/vulkan/icd.d/amd_icd64.json:/usr/share/vulkan/icd.d/amd_icd64.json\""
}