mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-20 04:23:16 -04:00
media-libs/amdvlk: amdvlk updated to 2022.3.4 with refactoring
Significant changes in dependencies and in build system, it uses cmake-multilib to build Now the package depends on DirectXShaderCompiler and glslang Changed installation directory to /usr/lib/llvm/amdvlk Using dynamic linking instead of static build Bug: https://bugs.gentoo.org/665590 Signed-off-by: Denis Reva <denis7774@gmail.com>
This commit is contained in:
@@ -9,7 +9,6 @@ DIST AMDVLK-v-2021.Q4.2-spvgen-0aa19873514a8272dfdc5cb8861859a52f5de503.tar.gz 2
|
|||||||
DIST AMDVLK-v-2021.Q4.2-xgl-da1a583a51c69c115f9144b68ec2bdf5b6519056.tar.gz 960709 BLAKE2B 825e7d349da18e8a0beb42c4125bb208bd2e62780d97d5131e76e9ddc08dc6d60b2d78455aa245bb4172bb7ee7d64084307e48df2c18598cee638911fce8074c SHA512 a626459503b50a511ac04f4973036468336e9d55baecda5a84165f7209d867291ef35a9292734f38a53d13aaf70cd46fc8e3068fc3748d80278fcf3c5f8a54bb
|
DIST AMDVLK-v-2021.Q4.2-xgl-da1a583a51c69c115f9144b68ec2bdf5b6519056.tar.gz 960709 BLAKE2B 825e7d349da18e8a0beb42c4125bb208bd2e62780d97d5131e76e9ddc08dc6d60b2d78455aa245bb4172bb7ee7d64084307e48df2c18598cee638911fce8074c SHA512 a626459503b50a511ac04f4973036468336e9d55baecda5a84165f7209d867291ef35a9292734f38a53d13aaf70cd46fc8e3068fc3748d80278fcf3c5f8a54bb
|
||||||
DIST AMDVLK-v-2021.Q4.2.tar.gz 30012 BLAKE2B 27d11126d54df299ce702adb7c66bd0aa8a905074dac0e2cd8560f2fa9c39deafd16885c15ae9df4f70f4008a446d8e90e1dcc50514afa7ab0a874d12b2e5334 SHA512 15fb89bb78039c36435fb9534588f08e0e0e6e6099d5e803e9bacafef8b5e81eedc19e0fcc7cd7ca7dad919397cab8b87b30b22950ae32945a5465da542d6d99
|
DIST AMDVLK-v-2021.Q4.2.tar.gz 30012 BLAKE2B 27d11126d54df299ce702adb7c66bd0aa8a905074dac0e2cd8560f2fa9c39deafd16885c15ae9df4f70f4008a446d8e90e1dcc50514afa7ab0a874d12b2e5334 SHA512 15fb89bb78039c36435fb9534588f08e0e0e6e6099d5e803e9bacafef8b5e81eedc19e0fcc7cd7ca7dad919397cab8b87b30b22950ae32945a5465da542d6d99
|
||||||
DIST AMDVLK-v-2022.Q3.1.tar.gz 30017 BLAKE2B 4abbdb709d6d61331185f7cef3e78228a9a7ad633ddf96e4ca18870fb9f7b04c1dd393864d6f85e349c56d20bffded81d95556f6625d7a8be7dc2ef6ed78de10 SHA512 e8a1662e14861fbb90ca4bad3dcff15932ce0e43b27e2fc0bfefd5f7eff359e1c46acedb6e168583646237e030da6948ef8640fe6b4ff1693f9a7ba16f1081a4
|
DIST AMDVLK-v-2022.Q3.1.tar.gz 30017 BLAKE2B 4abbdb709d6d61331185f7cef3e78228a9a7ad633ddf96e4ca18870fb9f7b04c1dd393864d6f85e349c56d20bffded81d95556f6625d7a8be7dc2ef6ed78de10 SHA512 e8a1662e14861fbb90ca4bad3dcff15932ce0e43b27e2fc0bfefd5f7eff359e1c46acedb6e168583646237e030da6948ef8640fe6b4ff1693f9a7ba16f1081a4
|
||||||
DIST AMDVLK-v-2022.Q3.4.tar.gz 29752 BLAKE2B a20c33d06034337a1786f0701a5798416e33e008c1b3f49f069f12352647635a62053d40eafe847e8bc0b2917cc59d10fdd843b7283a229725249616c4b15bfc SHA512 cbc161d1ab88cd43fd98b7c73244f53d838935cd7255a97b5fd5b01f02c9c014f763324363f379cc1fd1cf17151955186f01b1209a880aea9e463ef5e7be3916
|
|
||||||
DIST CWPack-4f8cf0584442a91d829d269158567d7ed926f026.tar.gz 39633 BLAKE2B d5b2a88f0d563eef5beb42a8304cf6cdd825e75242c22acc360c5bb9cbd1d02a4f891b6b2f3a4803e1e6b48a4d176aad40f8bdeca92847f2fbf53674dedeaff3 SHA512 06d56baaba1f1224a5266f4a63c1abf70edba7cc16cc4e62f2f5b1ec94fc2c1cfc4c6f11a9c6ef42c23b29be8d07921caad5e919357c0bd82cf714783eee0bcc
|
DIST CWPack-4f8cf0584442a91d829d269158567d7ed926f026.tar.gz 39633 BLAKE2B d5b2a88f0d563eef5beb42a8304cf6cdd825e75242c22acc360c5bb9cbd1d02a4f891b6b2f3a4803e1e6b48a4d176aad40f8bdeca92847f2fbf53674dedeaff3 SHA512 06d56baaba1f1224a5266f4a63c1abf70edba7cc16cc4e62f2f5b1ec94fc2c1cfc4c6f11a9c6ef42c23b29be8d07921caad5e919357c0bd82cf714783eee0bcc
|
||||||
DIST CWPack-7387247eb9889ddcabbc1053b9c2052e253b088e.tar.gz 24538 BLAKE2B 76c4da32ea06df355f7e8f77a14c185b2ccab2ce2762988f04a04d65b674e089d4fc27206e744f89b4bd84c9d7226d324414a31941303290e7f574e9d64756cf SHA512 38378ef325e42a7356511c2fc06b6c896581968079e85c4b924a1768d895feecaf1eb8fd65afb59bed0f66e0547104d67c2deb9f82a86f4b9fa65b36e57cd47d
|
DIST CWPack-7387247eb9889ddcabbc1053b9c2052e253b088e.tar.gz 24538 BLAKE2B 76c4da32ea06df355f7e8f77a14c185b2ccab2ce2762988f04a04d65b674e089d4fc27206e744f89b4bd84c9d7226d324414a31941303290e7f574e9d64756cf SHA512 38378ef325e42a7356511c2fc06b6c896581968079e85c4b924a1768d895feecaf1eb8fd65afb59bed0f66e0547104d67c2deb9f82a86f4b9fa65b36e57cd47d
|
||||||
DIST MetroHash-18893fb28601bb9af1154cd1a671a121fff6d8d3.tar.gz 11729 BLAKE2B b0e3de885e50c317141d62c885b421c7fd2e1ac783733704342bbed3109bff36a9209ab276f534a2231531483539221bbb1014bd39528a91124161bafc5646eb SHA512 8f12f95e80d594c8bd87a852c67a2d6777ce89d1a13e1a87ee17bbb876a0702c14ffe7a7fd65a244620f2043ad5d22ae8eb863d69f1dc5494d985733bbfb7bf9
|
DIST MetroHash-18893fb28601bb9af1154cd1a671a121fff6d8d3.tar.gz 11729 BLAKE2B b0e3de885e50c317141d62c885b421c7fd2e1ac783733704342bbed3109bff36a9209ab276f534a2231531483539221bbb1014bd39528a91124161bafc5646eb SHA512 8f12f95e80d594c8bd87a852c67a2d6777ce89d1a13e1a87ee17bbb876a0702c14ffe7a7fd65a244620f2043ad5d22ae8eb863d69f1dc5494d985733bbfb7bf9
|
||||||
|
|||||||
@@ -4,30 +4,33 @@
|
|||||||
EAPI=8
|
EAPI=8
|
||||||
|
|
||||||
MULTILIB_COMPAT=( abi_x86_{32,64} )
|
MULTILIB_COMPAT=( abi_x86_{32,64} )
|
||||||
|
PYTHON_COMPAT=( python3_{8..11} )
|
||||||
|
|
||||||
inherit cmake-multilib check-reqs
|
inherit check-reqs python-any-r1 cmake-multilib
|
||||||
|
|
||||||
DESCRIPTION="AMD Open Source Driver for Vulkan"
|
DESCRIPTION="AMD Open Source Driver for Vulkan"
|
||||||
HOMEPAGE="https://github.com/GPUOpen-Drivers/AMDVLK"
|
HOMEPAGE="https://github.com/GPUOpen-Drivers/AMDVLK"
|
||||||
LICENSE="MIT"
|
LICENSE="MIT"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
KEYWORDS=""
|
KEYWORDS="~amd64 ~x86"
|
||||||
IUSE="wayland"
|
IUSE="wayland"
|
||||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )"
|
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )"
|
||||||
###DEPENDS
|
|
||||||
BUNDLED_LLVM_DEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}]"
|
BUNDLED_LLVM_DEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}]"
|
||||||
DEPEND="wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
|
DEPEND="wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
|
||||||
${BUNDLED_LLVM_DEPEND}
|
${BUNDLED_LLVM_DEPEND}
|
||||||
>=dev-util/vulkan-headers-1.3.224"
|
>=dev-util/vulkan-headers-1.3.224"
|
||||||
BDEPEND="${BUNDLED_LLVM_DEPEND}
|
BDEPEND="${BUNDLED_LLVM_DEPEND}
|
||||||
dev-util/cmake"
|
${PYTHON_DEPS}
|
||||||
|
dev-util/cmake
|
||||||
|
virtual/linux-sources"
|
||||||
RDEPEND=" ${DEPEND}
|
RDEPEND=" ${DEPEND}
|
||||||
x11-libs/libdrm[${MULTILIB_USEDEP}]
|
x11-libs/libdrm[${MULTILIB_USEDEP}]
|
||||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||||
x11-libs/libxcb[${MULTILIB_USEDEP}]
|
x11-libs/libxcb[${MULTILIB_USEDEP}]
|
||||||
x11-libs/libxshmfence[${MULTILIB_USEDEP}]
|
x11-libs/libxshmfence[${MULTILIB_USEDEP}]
|
||||||
>=media-libs/vulkan-loader-1.3.224[${MULTILIB_USEDEP}]
|
>=media-libs/vulkan-loader-1.3.224[${MULTILIB_USEDEP}]
|
||||||
dev-util/glslang
|
dev-util/glslang[${MULTILIB_USEDEP}]
|
||||||
dev-util/DirectXShaderCompiler"
|
dev-util/DirectXShaderCompiler"
|
||||||
|
|
||||||
CHECKREQS_MEMORY="16G"
|
CHECKREQS_MEMORY="16G"
|
||||||
@@ -37,8 +40,7 @@ CMAKE_USE_DIR="${S}/xgl"
|
|||||||
|
|
||||||
###SOURCE CODE PER_VERSION VARIABLES
|
###SOURCE CODE PER_VERSION VARIABLES
|
||||||
FETCH_URI="https://github.com/GPUOpen-Drivers"
|
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/${VERSION}/default.xml , e.g. https://github.com/GPUOpen-Drivers/AMDVLK/blob/v-2022.Q3.5/default.xml
|
||||||
##For those who wants update ebuild: check https://github.com/GPUOpen-Drivers/AMDVLK/blob/master/default.xml
|
|
||||||
##and place commits in the desired variables
|
##and place commits in the desired variables
|
||||||
## EXAMPLE: XGL_COMMIT="80e5a4b11ad2058097e77746772ddc9ab2118e07"
|
## EXAMPLE: XGL_COMMIT="80e5a4b11ad2058097e77746772ddc9ab2118e07"
|
||||||
## SRC_URI="... ${FETCH_URI}/$PART/archive/$COMMIT.zip -> $PART-$COMMIT.zip ..."
|
## SRC_URI="... ${FETCH_URI}/$PART/archive/$COMMIT.zip -> $PART-$COMMIT.zip ..."
|
||||||
@@ -49,9 +51,8 @@ GPURT_COMMIT="c1df7354336aba18d54c0e32a95b58eac0d44c07"
|
|||||||
LLVM_PROJECT_COMMIT="f5023e507645c8178128891b96bf463f9a1a81a0"
|
LLVM_PROJECT_COMMIT="f5023e507645c8178128891b96bf463f9a1a81a0"
|
||||||
METROHASH_COMMIT="18893fb28601bb9af1154cd1a671a121fff6d8d3"
|
METROHASH_COMMIT="18893fb28601bb9af1154cd1a671a121fff6d8d3"
|
||||||
CWPACK_COMMIT="4f8cf0584442a91d829d269158567d7ed926f026"
|
CWPACK_COMMIT="4f8cf0584442a91d829d269158567d7ed926f026"
|
||||||
# end
|
# end of variables
|
||||||
SRC_URI=" ${FETCH_URI}/AMDVLK/archive/${CORRECT_AMDVLK_PV}.tar.gz -> AMDVLK-${CORRECT_AMDVLK_PV}.tar.gz
|
SRC_URI="${FETCH_URI}/xgl/archive/${XGL_COMMIT}.tar.gz -> amdvlk-xgl-${XGL_COMMIT}.tar.gz
|
||||||
${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}/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}/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}/gpurt/archive/${GPURT_COMMIT}.tar.gz -> amdvlk-gpurt-${GPURT_COMMIT}.tar.gz
|
||||||
@@ -63,7 +64,6 @@ src_prepare() {
|
|||||||
einfo "moving src to proper directories"
|
einfo "moving src to proper directories"
|
||||||
mkdir -p "${S}"
|
mkdir -p "${S}"
|
||||||
mkdir -p "${S}/third_party"
|
mkdir -p "${S}/third_party"
|
||||||
mv AMDVLK-${CORRECT_AMDVLK_PV}/ "${S}/AMDVLK"
|
|
||||||
mv xgl-${XGL_COMMIT}/ "${S}/xgl"
|
mv xgl-${XGL_COMMIT}/ "${S}/xgl"
|
||||||
mv pal-${PAL_COMMIT}/ "${S}/pal"
|
mv pal-${PAL_COMMIT}/ "${S}/pal"
|
||||||
mv llpc-${LLPC_COMMIT}/ "${S}/llpc"
|
mv llpc-${LLPC_COMMIT}/ "${S}/llpc"
|
||||||
@@ -76,42 +76,35 @@ src_prepare() {
|
|||||||
|
|
||||||
multilib_src_configure() {
|
multilib_src_configure() {
|
||||||
local mycmakeargs=(
|
local mycmakeargs=(
|
||||||
-DBUILD_WAYLAND_SUPPORT=$(usex wayland)
|
-DBUILD_WAYLAND_SUPPORT=$(usex wayland)
|
||||||
)
|
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/amdvlk"
|
||||||
|
-DLLVM_VERSION_SUFFIX="-$(get_libdir)-amdvlk"
|
||||||
|
-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON
|
||||||
|
-Wno-dev
|
||||||
|
)
|
||||||
cmake_src_configure
|
cmake_src_configure
|
||||||
}
|
}
|
||||||
# multilib_src_install() {
|
multilib_src_install(){
|
||||||
# if use abi_x86_64 && multilib_is_native_abi; then
|
cmake_src_install
|
||||||
# mkdir -p "${D}/usr/lib64/"
|
rm -r "${D}"/var/ || die "can't remove incorrect temporary files of amdvlk"
|
||||||
# cp "${BUILD_DIR}/icd/amdvlk64.so" "${D}/usr/lib64/"
|
einfo "Correcting permissions of amdvlk $(get_libdir) libraries"
|
||||||
# insinto /usr/share/vulkan/icd.d
|
fperms -R 775 /usr/lib/llvm/amdvlk/$(get_libdir)
|
||||||
# doins "${S}/build-abi_x86_64.amd64/icd/amd_icd64.json"
|
}
|
||||||
# insinto /usr/share/vulkan/implicit_layer.d
|
|
||||||
# doins "${S}/build-abi_x86_64.amd64/icd/amd_icd64.json"
|
multilib_src_install_all() {
|
||||||
# else
|
cat > "99${PN}" <<-EOF
|
||||||
# mkdir -p "${D}/usr/lib/"
|
LDPATH="${EPREFIX}/usr/lib/llvm/amdvlk/lib:${EPREFIX}/usr/lib/llvm/amdvlk/lib64"
|
||||||
# cp "${BUILD_DIR}/icd/amdvlk32.so" "${D}/usr/lib/"
|
EOF
|
||||||
# insinto /usr/share/vulkan/icd.d
|
doenvd "99${PN}"
|
||||||
# doins "${S}/build-abi_x86_32.x86/icd/amd_icd32.json"
|
}
|
||||||
# insinto /usr/share/vulkan/implicit_layer.d
|
|
||||||
# doins "${S}/build-abi_x86_32.x86/icd/amd_icd32.json"
|
|
||||||
# fi
|
|
||||||
# }
|
|
||||||
|
|
||||||
pkg_postinst() {
|
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 "Make sure the following line is NOT included in the any Xorg configuration section:"
|
||||||
ewarn "| Driver \"modesetting\""
|
ewarn "| Driver \"modesetting\""
|
||||||
ewarn "and make sure you use DRI3 mode for Xorg (not revelant for wayland)"
|
ewarn "and make sure you use DRI3 mode for Xorg (not revelant for wayland)"
|
||||||
ewarn "Else AMDVLK breaks things"
|
elog "More information about the configuration can be found here:"
|
||||||
ewarn "With some games AMDVLK is still not stable. Use it at you own risk"
|
elog "https://github.com/GPUOpen-Drivers/AMDVLK"
|
||||||
elog "You may want to disable default vulkan mesa provider in package.use \"media-libs/mesa -vulkan\""
|
elog "You can use AMD_VULKAN_ICD variable to switch to the required driver."
|
||||||
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\""
|
|
||||||
elog "For DXVK: use DXVK_FILTER_DEVICE_NAME= variable"
|
|
||||||
elog ""
|
|
||||||
elog "You can also use AMD_VULKAN_ICD to switch to the required driver."
|
|
||||||
elog "AMD_VULKAN_ICD=RADV application - for using radv."
|
elog "AMD_VULKAN_ICD=RADV application - for using radv."
|
||||||
elog "AMD_VULKAN_ICD=AMDVLK application - for using amdvlk."
|
elog "AMD_VULKAN_ICD=AMDVLK application - for using amdvlk."
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE pkgmetadata SYSTEM 'http://www.gentoo.org/dtd/metadata.dtd'>
|
<!DOCTYPE pkgmetadata SYSTEM 'http://www.gentoo.org/dtd/metadata.dtd'>
|
||||||
<pkgmetadata>
|
<pkgmetadata>
|
||||||
<!-- maintainer-needed -->
|
<maintainer type="person">
|
||||||
|
<email>denis7774@gmail.com</email>
|
||||||
|
<name>Denis Reva</name>
|
||||||
|
<description>rarogcmex</description>
|
||||||
|
</maintainer>
|
||||||
<longdescription lang="en">
|
<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.
|
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.
|
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.
|
||||||
|
|||||||
Reference in New Issue
Block a user