diff options
-rw-r--r-- | .SRCINFO | 24 | ||||
-rw-r--r-- | 0001-build-Fix-clang-linking.patch | 25 | ||||
-rw-r--r-- | 0001-build-Remove-forced-Werror-option.patch | 40 | ||||
-rw-r--r-- | PKGBUILD | 118 |
4 files changed, 155 insertions, 52 deletions
@@ -1,11 +1,11 @@ pkgbase = amdvlk-git pkgdesc = AMD's standalone Vulkan driver - pkgver = r85.331558e + pkgver = v.2019.Q4.5.r0.e6d1928 pkgrel = 1 url = https://github.com/GPUOpen-Drivers arch = x86_64 license = MIT - makedepends = dri2proto + makedepends = xorgproto makedepends = xorg-server-devel makedepends = libxrandr makedepends = cmake @@ -14,24 +14,18 @@ pkgbase = amdvlk-git makedepends = wayland makedepends = libdrm makedepends = git + makedepends = ninja + makedepends = repo depends = vulkan-icd-loader provides = vulkan-amdvlk provides = vulkan-driver conflicts = vulkan-amdvlk - source = llvm::git+https://github.com/GPUOpen-Drivers/llvm.git#branch=amd-vulkan-dev - source = git+https://github.com/GPUOpen-Drivers/xgl.git#branch=dev - source = git+https://github.com/GPUOpen-Drivers/pal.git#branch=dev source = git+https://github.com/GPUOpen-Drivers/wsa.git#branch=master - source = git+https://github.com/GPUOpen-Drivers/AMDVLK.git#branch=dev - source = git+https://github.com/GPUOpen-Drivers/llpc.git#branch=dev - source = git+https://github.com/GPUOpen-Drivers/MetroHash.git - sha256sums = SKIP - sha256sums = SKIP - sha256sums = SKIP - sha256sums = SKIP - sha256sums = SKIP - sha256sums = SKIP - sha256sums = SKIP + source = 0001-build-Remove-forced-Werror-option.patch + source = 0001-build-Fix-clang-linking.patch + sha512sums = SKIP + sha512sums = ff9dcfe2f3b739b74a51dc82e3469f8b4ad1a0b044d868fbb99e0c07dd5f7bdc1e5bb1ae93f44c25d6dd90a5b7ddbb294fa29e8082f40e5794269143a1af2467 + sha512sums = 39152c24ca6e6bdbd16d7fb66438117101c106a6e5e4e5bcc1248495e6d2f6a1907a639750b1eb25c3d754f7f21801de2b15b232b1c974748551927b783abceb pkgname = amdvlk-git diff --git a/0001-build-Fix-clang-linking.patch b/0001-build-Fix-clang-linking.patch new file mode 100644 index 000000000000..ab2dfad4b2c5 --- /dev/null +++ b/0001-build-Fix-clang-linking.patch @@ -0,0 +1,25 @@ +From b5680fc14a577dd6dd57bd3d8568f0b05871b1c8 Mon Sep 17 00:00:00 2001 +From: Matt Coffin <mcoffin13@gmail.com> +Date: Sat, 9 Nov 2019 11:01:58 -0700 +Subject: [PATCH] build: Fix clang linking + +--- + icd/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/icd/CMakeLists.txt b/icd/CMakeLists.txt +index a60a9db..06b21f7 100644 +--- a/icd/CMakeLists.txt ++++ b/icd/CMakeLists.txt +@@ -381,7 +381,7 @@ if (UNIX) + + target_link_libraries(xgl PRIVATE c stdc++ ${CMAKE_DL_LIBS} pthread) + +- if(NOT ICD_USE_GCC) ++ if((NOT ICD_USE_GCC) AND (NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")) + message(WARNING "Intel ICC untested in CMake.") + target_link_libraries(xgl PRIVATE -fabi-version=0 -static-intel) + endif() +-- +2.23.0 + diff --git a/0001-build-Remove-forced-Werror-option.patch b/0001-build-Remove-forced-Werror-option.patch new file mode 100644 index 000000000000..a666c148e457 --- /dev/null +++ b/0001-build-Remove-forced-Werror-option.patch @@ -0,0 +1,40 @@ +From b37631a8216051f4c5916f48570ff4ad3c1091c4 Mon Sep 17 00:00:00 2001 +From: Matt Coffin <mcoffin13@gmail.com> +Date: Sat, 9 Nov 2019 10:50:55 -0700 +Subject: [PATCH] build: Remove forced -Werror option + +--- + CMakeLists.txt | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fb44edb..5ec3b72 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -83,7 +83,6 @@ if(UNIX) + -fvisibility-inlines-hidden + -fcolor-diagnostics + -Wall +- -Werror + -Wno-invalid-offsetof + -Wno-missing-braces + ) +@@ -460,7 +459,6 @@ if(UNIX) + -fvisibility-inlines-hidden + -fcolor-diagnostics + -Wall +- -Werror + ) + target_compile_options(vfx PRIVATE $<$<COMPILE_LANGUAGE:CXX>: + -std=c++14 +@@ -542,7 +540,6 @@ if(UNIX) + -fvisibility-inlines-hidden + -fcolor-diagnostics + -Wall +- -Werror + -Wno-missing-braces + ) + target_compile_options(amdllpc PRIVATE $<$<COMPILE_LANGUAGE:CXX>: +-- +2.23.0 + @@ -3,7 +3,7 @@ # Maintainer: AdriĆ Cereto i MassaguĆ© <ssorgatem at gmail.com> pkgname=amdvlk-git -pkgver=r85.331558e +pkgver=v.2019.Q4.5.r0.e6d1928 pkgrel=1 pkgdesc="AMD's standalone Vulkan driver" arch=(x86_64) @@ -12,71 +12,115 @@ license=('MIT') depends=('vulkan-icd-loader') provides=('vulkan-amdvlk' 'vulkan-driver') conflicts=('vulkan-amdvlk') -makedepends=('dri2proto' 'xorg-server-devel' 'libxrandr' 'cmake' 'python' 'libxml2' 'wayland' 'libdrm' 'git') -source=('llvm::git+https://github.com/GPUOpen-Drivers/llvm.git#branch=amd-vulkan-dev' - 'git+https://github.com/GPUOpen-Drivers/xgl.git#branch=dev' - 'git+https://github.com/GPUOpen-Drivers/pal.git#branch=dev' - 'git+https://github.com/GPUOpen-Drivers/wsa.git#branch=master' - 'git+https://github.com/GPUOpen-Drivers/AMDVLK.git#branch=dev' - 'git+https://github.com/GPUOpen-Drivers/llpc.git#branch=dev' - 'git+https://github.com/GPUOpen-Drivers/MetroHash.git' - ) -sha256sums=('SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP') +makedepends=('xorgproto' 'xorg-server-devel' 'libxrandr' 'cmake' 'python' 'libxml2' 'wayland' 'libdrm' 'git' 'ninja' 'repo') +source=('git+https://github.com/GPUOpen-Drivers/wsa.git#branch=master' + 0001-build-Remove-forced-Werror-option.patch + 0001-build-Fix-clang-linking.patch) +sha512sums=('SKIP' + 'ff9dcfe2f3b739b74a51dc82e3469f8b4ad1a0b044d868fbb99e0c07dd5f7bdc1e5bb1ae93f44c25d6dd90a5b7ddbb294fa29e8082f40e5794269143a1af2467' + '39152c24ca6e6bdbd16d7fb66438117101c106a6e5e4e5bcc1248495e6d2f6a1907a639750b1eb25c3d754f7f21801de2b15b232b1c974748551927b783abceb') +pkgver() { + pushd drivers/AMDVLK > /dev/null + AMDVLK_VER=$(printf "%s" "$(git describe --long | sed 's/\([^-]*-\)g/r\1/;s/-/./g')") + popd > /dev/null + if [ -z "$AMDVLK_VER" ]; then + pushd drivers/xgl > /dev/null + XGL_VER=$(printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)") + popd > /dev/null + else + XGL_VER=$AMDVLK_VER + fi + #PAL_VER=$(cd pal; printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)") + echo "$XGL_VER" +} + prepare() { + cd "$srcdir" + repo init -u 'https://github.com/GPUOpen-Drivers/AMDVLK.git' -b master + repo sync + # fix building with commit f609020 + # sed -i "s/<drm/<libdrm/g" pal/src/core/os/lnx/display/displayWindowSystem.h + # pushd "$srcdir/pal" + # patch -p1 < ../0001-pal-clang.patch + # popd + # pushd "$srcdir/xgl" + # patch -p1 < ../0002-xgl-clang.patch + # popd + # Don't turn Werror on for people will build with more recent compilers than you have. Just don't. - for i in xgl/icd/CMakeLists.txt llpc/CMakeLists.txt llpc/imported/metrohash/CMakeLists.txt llvm/utils/benchmark/CMakeLists.txt llvm/utils/benchmark/test/CMakeLists.txt pal/src/core/imported/addrlib/CMakeLists.txt pal/src/core/imported/vam/CMakeLists.txt pal/shared/gpuopen/cmake/AMD.cmake + for i in drivers/pal/shared/gpuopen/cmake/AMD.cmake do sed -i "s/-Werror//g" "$srcdir"/$i done - # On my system this adds -isystem=/include, which breaks gcc's ability to find stdlib.h - sed -i "s/if(LLVM_WITH_Z3)/if(FALSE)/g" "$srcdir"/llvm/lib/Support/CMakeLists.txt + pushd drivers/llpc + patch -p1 < $srcdir/0001-build-Remove-forced-Werror-option.patch + popd + pushd drivers/xgl + patch -p1 < $srcdir/0001-build-Fix-clang-linking.patch + popd - ln -sf "$srcdir"/MetroHash "$srcdir"/pal/src/util/imported/metrohash -} - -pkgver() { - XGL_VER=$(cd xgl; printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)") - #PAL_VER=$(cd pal; printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)") - echo "$XGL_VER" + msg 'No patches to apply...' } build() { # /usr/lib/amdvlk64.so: undefined symbol: _ZN3Pal5Linux19DisplayWindowSystem30DeterminePresentationSupportedEPNS0_6DeviceEPvl + # msg "Changing flags..." + # msg2 "before: CFLAGS=$CFLAGS" export CFLAGS=${CFLAGS/-fno-plt} - export CXXFLAGS=${CXXFLAGS/-fno-plt} + # msg2 "after: CFLAGS=$CFLAGS" + # msg2 "before: CXXFLAGS=$CXXFLAGS" + export CXXFLAGS="${CXXFLAGS/-fno-plt}" + # msg2 "after: CXXFLAGS=${CXXFLAGS}" + # msg2 "before: LDFLAGS=$LDFLAGS" export LDFLAGS=${LDFLAGS/,-z,now} + # msg2 "after: LDFLAGS=${LDFLAGS}" + # export CPPFLAGS="$CXXFLAGS" msg "building xgl..." - cd xgl - cmake -H. -Bbuilds/Release64 \ - -DCMAKE_BUILD_TYPE=Release \ + pushd drivers/xgl > /dev/null + cmake \ + -G Ninja \ + -H. \ + -B builds/Release64 \ -DBUILD_WAYLAND_SUPPORT=On \ - -DBUILD_WSA=On \ + -DCMAKE_BUILD_TYPE=Release -DBUILD_XLIB_XRANDR_SUPPORT=On \ || true cd builds/Release64 - make + ninja msg "building xgl finished!" + + msg "building spvgen" + pushd ../../../spvgen/external > /dev/null + python2 fetch_external_sources.py + popd > /dev/null + ninja spvgen + msg "building spvgen finished!" + popd > /dev/null + + #msg "building spvgen" + #pushd drivers/spvgen > /dev/null + #cmake \ + # -G Ninja \ + # -B builds/Release64 \ + # -DCMAKE_BUILD_TYPE=Release \ + # . + #cd builds/Release64 + #ninja + #msg "building spvgen finished!" } package() { install -m755 -d "${pkgdir}"/usr/lib - install -m755 -d "${pkgdir}"/usr/share/vulkan/icd.d install -m755 -d "${pkgdir}"/usr/share/licenses/amdvlk-git install -m755 -d "${pkgdir}"/etc/amd - install xgl/builds/Release64/icd/amdvlk64.so "${pkgdir}"/usr/lib/ - install AMDVLK/json/Redhat/amd_icd64.json "${pkgdir}"/usr/share/vulkan/icd.d/ - install AMDVLK/LICENSE.txt "${pkgdir}"/usr/share/licenses/amdvlk-git/ + install -D -t "$pkgdir/usr/lib" drivers/xgl/builds/Release64/icd/amdvlk64.so drivers/xgl/builds/Release64/spvgen/spvgen.so + install -D -m644 -t "${pkgdir}/usr/share/vulkan/icd.d" drivers/AMDVLK/json/Redhat/amd_icd64.json + install -D -m644 -t "${pkgdir}/usr/share/licenses/amdvlk-git" drivers/AMDVLK/LICENSE.txt sed -i "s/\/lib64/\/lib/g" "${pkgdir}"/usr/share/vulkan/icd.d/amd_icd64.json } |