summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO24
-rw-r--r--0001-build-Fix-clang-linking.patch25
-rw-r--r--0001-build-Remove-forced-Werror-option.patch40
-rw-r--r--PKGBUILD118
4 files changed, 155 insertions, 52 deletions
diff --git a/.SRCINFO b/.SRCINFO
index db3fe0f798af..9359aa46d960 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
+
diff --git a/PKGBUILD b/PKGBUILD
index c0fb6871c4b8..299b360381fe 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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
}