summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorStelios Tsampas2019-05-19 10:30:03 +0300
committerStelios Tsampas2019-05-19 10:30:03 +0300
commit8284deb3b82651707881e916dbf22c419d6a6a10 (patch)
tree1a96802a40ae92c1c9ebc19c38c21635a0c6e08a
parentf47f1a9195cf87d6e1d62a4f64a90770ca6aad15 (diff)
downloadaur-8284deb3b82651707881e916dbf22c419d6a6a10.tar.gz
Remove extraopts patch
-rw-r--r--.SRCINFO8
-rw-r--r--PKGBUILD21
-rw-r--r--dxvk-async.patch20
-rw-r--r--extraopts.patch70
-rw-r--r--setup_dxvk.patch109
5 files changed, 139 insertions, 89 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 48cd8a2bd331..922ba761bb06 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = d9vk-mingw
pkgdesc = A d3d9 to vk layer based off DXVK's codebase, mingw version
pkgver = 0.11
- pkgrel = 1
+ pkgrel = 2
url = https://github.com/Joshua-Ashton/d9vk
arch = x86_64
license = zlib/libpng
@@ -19,12 +19,12 @@ pkgbase = d9vk-mingw
conflicts = d9vk
source = git+https://github.com/Joshua-Ashton/d9vk.git#tag=0.11
source = setup_d9vk
- source = extraopts.patch
+ source = setup_dxvk.patch
source = dxvk-async.patch
sha256sums = SKIP
sha256sums = 7147644664ef33d04f7b18683c47be95b5664c57cf6d63fdc019d915deebd37a
- sha256sums = d73f948fd39da218141cc72c7373f59e6fc289630e155b6e51d18597455d0040
- sha256sums = 6c6936b753903ba59ee9e2b6c8fc533bf60cba894cf4288ec0239c35b86796cd
+ sha256sums = 4e74b2d921c38ca0f9c5a6069501e9d15c7c076dcd6d41ae243830375115b8f9
+ sha256sums = 1f9e060fe059c0333bbe361f6278716757a853ab7b289186f58f3ddd2466bb8e
pkgname = d9vk-mingw
diff --git a/PKGBUILD b/PKGBUILD
index 90850cc8c605..61107fcb2c12 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,7 +2,7 @@
pkgname=d9vk-mingw
pkgver=0.11
-pkgrel=1
+pkgrel=2
pkgdesc="A d3d9 to vk layer based off DXVK's codebase, mingw version"
arch=('x86_64')
url="https://github.com/Joshua-Ashton/d9vk"
@@ -14,29 +14,20 @@ conflicts=("d9vk")
source=(
"git+https://github.com/Joshua-Ashton/d9vk.git#tag=$pkgver"
"setup_d9vk"
- "extraopts.patch"
+ "setup_dxvk.patch"
"dxvk-async.patch"
)
sha256sums=(
"SKIP"
"7147644664ef33d04f7b18683c47be95b5664c57cf6d63fdc019d915deebd37a"
- "d73f948fd39da218141cc72c7373f59e6fc289630e155b6e51d18597455d0040"
- "6c6936b753903ba59ee9e2b6c8fc533bf60cba894cf4288ec0239c35b86796cd"
+ "4e74b2d921c38ca0f9c5a6069501e9d15c7c076dcd6d41ae243830375115b8f9"
+ "1f9e060fe059c0333bbe361f6278716757a853ab7b289186f58f3ddd2466bb8e"
)
prepare() {
cd d9vk
- # Patch crossfiles with extra optimizations from makepkg.conf
- # If building fails, comment the line below to disable them.
- patch -p1 -i ../extraopts.patch
- CFLAGS="$CPPFLAGS $CFLAGS"
- LDFLAGS="${LDFLAGS/,-z,relro,-z,now/}"
- sed -i build-win64.txt \
- -e "s|@CARGS@|\'${CFLAGS// /\',\'}\'|g" \
- -e "s|@LDARGS@|\'${LDFLAGS// /\',\'}\'|g"
- sed -i build-win32.txt \
- -e "s|@CARGS@|\'${CFLAGS// /\',\'}\'|g" \
- -e "s|@LDARGS@|\'${LDFLAGS// /\',\'}\'|g"
+ patch -p1 -i ../setup_dxvk.patch
+
# Uncomment to enable dxvk async patch.
# Enable at your own risk, if you don't know what it is,
# leave it as is. You have been warned.
diff --git a/dxvk-async.patch b/dxvk-async.patch
index f7f4f10aa28c..7455dfd2dbd4 100644
--- a/dxvk-async.patch
+++ b/dxvk-async.patch
@@ -632,3 +632,23 @@ index 79259875..db2f8a32 100644
/// Number of compiler threads
/// when using the state cache
+diff --git a/dxvk.conf b/dxvk.conf
+index 25d27cb9..4e409075 100644
+--- a/dxvk.conf
++++ b/dxvk.conf
+@@ -159,6 +159,15 @@
+ # dxvk.numCompilerThreads = 0
+
+
++# Compile pipelines asynchronously if possible. This may reduce stuttering
++# in some games, but may also introduce rendering issues that might become
++# apparent over time. Do not report bugs with this option enabled.
++#
++# Supported values: True, False
++
++# dxvk.useAsync = False
++
++
+ # Toggles raw SSBO usage.
+ #
+ # Uses storage buffers to implement raw and structured buffer
diff --git a/extraopts.patch b/extraopts.patch
deleted file mode 100644
index c65e89798ef1..000000000000
--- a/extraopts.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-diff --git a/build-win32.txt b/build-win32.txt
-index 0865fc5e..b93a280f 100644
---- a/build-win32.txt
-+++ b/build-win32.txt
-@@ -5,10 +5,10 @@ ar = 'i686-w64-mingw32-ar'
- strip = 'i686-w64-mingw32-strip'
-
- [properties]
--c_args=['-msse', '-msse2']
--cpp_args=['-msse', '-msse2']
--c_link_args = ['-static', '-static-libgcc']
--cpp_link_args = ['-static', '-static-libgcc', '-static-libstdc++', '-Wl,--add-stdcall-alias,--enable-stdcall-fixup']
-+c_args=['-msse', '-msse2', @CARGS@]
-+cpp_args=['-msse', '-msse2', @CARGS@]
-+c_link_args = ['-static', '-static-libgcc', @LDARGS@]
-+cpp_link_args = ['-static', '-static-libgcc', '-static-libstdc++', '-Wl,--add-stdcall-alias,--enable-stdcall-fixup', @LDARGS@]
- needs_exe_wrapper = true
-
- [host_machine]
-diff --git a/build-win64.txt b/build-win64.txt
-index 2a7fbee3..9e3bfc2e 100644
---- a/build-win64.txt
-+++ b/build-win64.txt
-@@ -5,8 +5,10 @@ ar = 'x86_64-w64-mingw32-ar'
- strip = 'x86_64-w64-mingw32-strip'
-
- [properties]
--c_link_args = ['-static', '-static-libgcc']
--cpp_link_args = ['-static', '-static-libgcc', '-static-libstdc++']
-+c_args=[@CARGS@]
-+cpp_args=[@CARGS@]
-+c_link_args = ['-static', '-static-libgcc', @LDARGS@]
-+cpp_link_args = ['-static', '-static-libgcc', '-static-libstdc++', @LDARGS@]
- needs_exe_wrapper = true
-
- [host_machine]
-diff --git a/build-wine32.txt b/build-wine32.txt
-index ba8d34a8..ecec2eb4 100644
---- a/build-wine32.txt
-+++ b/build-wine32.txt
-@@ -7,9 +7,9 @@ strip = 'strip'
- [properties]
- needs_exe_wrapper = true
-
--c_args=['-m32', '-msse', '-msse2']
--cpp_args=['-m32', '--no-gnu-unique', '-msse', '-msse2']
--cpp_link_args=['-m32', '-mwindows']
-+c_args=['-m32', '-msse', '-msse2', @CARGS@]
-+cpp_args=['-m32', '--no-gnu-unique', '-msse', '-msse2', @CARGS@]
-+cpp_link_args=['-m32', '-mwindows', @LDARGS@]
-
- [host_machine]
- system = 'linux'
-diff --git a/build-wine64.txt b/build-wine64.txt
-index b3e028bb..fb9d98fd 100644
---- a/build-wine64.txt
-+++ b/build-wine64.txt
-@@ -7,9 +7,9 @@ strip = 'strip'
- [properties]
- needs_exe_wrapper = true
-
--c_args=['-m64']
--cpp_args=['-m64', '--no-gnu-unique']
--cpp_link_args=['-m64', '-mwindows']
-+c_args=['-m64', @CARGS@]
-+cpp_args=['-m64', '--no-gnu-unique', @CARGS@]
-+cpp_link_args=['-m64', '-mwindows', @LDARGS@]
-
- [host_machine]
- system = 'linux'
diff --git a/setup_dxvk.patch b/setup_dxvk.patch
new file mode 100644
index 000000000000..80d69f1a84d9
--- /dev/null
+++ b/setup_dxvk.patch
@@ -0,0 +1,109 @@
+diff --git a/setup_dxvk.sh b/setup_dxvk.sh
+index f6bb5b7d..01cebf7f 100644
+--- a/setup_dxvk.sh
++++ b/setup_dxvk.sh
+@@ -50,6 +50,7 @@ if [ -z "$wine" ]; then
+ fi
+
+ wine64="${wine}64"
++wineboot="${wine}boot"
+
+ # resolve 32-bit and 64-bit system32 path
+ winever=`$wine --version | grep wine`
+@@ -58,6 +59,10 @@ if [ -z "$winever" ]; then
+ exit 1
+ fi
+
++# ensure wine placeholder dlls are recreated
++# if they are missing
++$wineboot -u
++
+ win32_sys_path=$($wine winepath -u 'C:\windows\system32' 2> /dev/null)
+ win64_sys_path=$($wine64 winepath -u 'C:\windows\system32' 2> /dev/null)
+
+@@ -91,14 +96,14 @@ installFile() {
+ if [ -f "${srcfile}.so" ]; then
+ srcfile="${srcfile}.so"
+ fi
+-
++
+ if ! [ -f "${srcfile}" ]; then
+- echo "${srcfile}: File not found" >&2
+- exit 1
++ echo "${srcfile}: File not found. Skipping." >&2
++ return 1
+ fi
+-
++
+ if [ -n "$1" ]; then
+- if [ -f "${dstfile}" ]; then
++ if [ -f "${dstfile}" ] || [ -h "${dstfile}" ]; then
+ if ! [ -f "${dstfile}.old" ]; then
+ mv "${dstfile}" "${dstfile}.old"
+ else
+@@ -107,31 +112,58 @@ installFile() {
+ $file_cmd "${srcfile}" "${dstfile}"
+ else
+ echo "${dstfile}: File not found in wine prefix" >&2
+- exit 1
++ return 1
+ fi
+ fi
++ return 0
+ }
+
+ # remove dxvk dll, restore original file
+ uninstallFile() {
+- dstfile="${1}/${2}.dll"
+-
++ dstfile="${1}/${3}.dll"
++ srcfile="${basedir}/${2}/${3}.dll"
++
++ if [ -f "${srcfile}.so" ]; then
++ srcfile="${srcfile}.so"
++ fi
++
++ if ! [ -f "${srcfile}" ]; then
++ echo "${srcfile}: File not found. Skipping." >&2
++ return 1
++ fi
++
++ if ! [ -f "${dstfile}" ] && ! [ -h "${dstfile}" ]; then
++ echo "${dstfile}: File not found. Skipping." >&2
++ return 1
++ fi
++
+ if [ -f "${dstfile}.old" ]; then
+ rm "${dstfile}"
+ mv "${dstfile}.old" "${dstfile}"
++ return 0
++ else
++ return 1
+ fi
+ }
+
+ install() {
+ installFile "$win32_sys_path" "x32" "$1"
++ inst32_ret="$?"
+ installFile "$win64_sys_path" "x64" "$1"
+- overrideDll "$1"
++ inst64_ret="$?"
++ if [ "$inst32_ret" -eq 0 ] || [ "$inst64_ret" -eq 0 ]; then
++ overrideDll "$1"
++ fi
+ }
+
+ uninstall() {
+- uninstallFile "$win32_sys_path" "$1"
+- uninstallFile "$win64_sys_path" "$1"
+- restoreDll "$1"
++ uninstallFile "$win32_sys_path" "x32" "$1"
++ uninst32_ret="$?"
++ uninstallFile "$win64_sys_path" "x64" "$1"
++ uninst64_ret="$?"
++ if [ "$uninst32_ret" -eq 0 ] || [ "$uninst64_ret" -eq 0 ]; then
++ restoreDll "$1"
++ fi
+ }
+
+ # skip dxgi during install if not explicitly