summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Schoenick2020-05-28 11:40:40 -0700
committerJohn Schoenick2020-05-28 11:57:51 -0700
commit4484299aaa68fbf2715fc11eff021177966b6b32 (patch)
treed91c7d9fa6fa117d22e9a96f896cde49010b530b
parent674d0b353a620e7bc5fcc488704586db1c17f34d (diff)
downloadaur-4484299aaa68fbf2715fc11eff021177966b6b32.tar.gz
Include backported path of exile fix until ACO is rebase again
-rw-r--r--.SRCINFO22
-rw-r--r--0001-spirv-radv-anv-implement-no-op-VK_GOOGLE_user_type.patch97
-rw-r--r--PKGBUILD15
3 files changed, 120 insertions, 14 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 8097c093eb3b..4cb2172c05f0 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = lib32-mesa-aco-git
pkgdesc = Mesa with the ACO compiler patchset, git version
- pkgver = 20.1.0_rc1.20200502.3968b9381f8
- pkgrel = 11
+ pkgver = 20.1.0_rc4.20200527.648768b32a6
+ pkgrel = 12
url = https://www.mesa3d.org
arch = x86_64
license = custom
@@ -40,15 +40,15 @@ pkgbase = lib32-mesa-aco-git
depends = lib32-llvm-libs>=10.0.0
depends = lib32-llvm-libs<10.1
optdepends = opengl-man-pages: for the OpenGL API man pages
- provides = lib32-mesa=20.1.0_rc1.20200502.3968b9381f8-11
- provides = lib32-mesa-git=20.1.0_rc1.20200502.3968b9381f8-11
- provides = lib32-vulkan-intel=20.1.0_rc1.20200502.3968b9381f8-11
- provides = lib32-vulkan-radeon=20.1.0_rc1.20200502.3968b9381f8-11
- provides = lib32-libva-mesa-driver=20.1.0_rc1.20200502.3968b9381f8-11
- provides = lib32-vulkan-mesa-layer=20.1.0_rc1.20200502.3968b9381f8-11
- provides = lib32-mesa-vdpau=20.1.0_rc1.20200502.3968b9381f8-11
+ provides = lib32-mesa=20.1.0_rc4.20200527.648768b32a6-12
+ provides = lib32-mesa-git=20.1.0_rc4.20200527.648768b32a6-12
+ provides = lib32-vulkan-intel=20.1.0_rc4.20200527.648768b32a6-12
+ provides = lib32-vulkan-radeon=20.1.0_rc4.20200527.648768b32a6-12
+ provides = lib32-libva-mesa-driver=20.1.0_rc4.20200527.648768b32a6-12
+ provides = lib32-vulkan-mesa-layer=20.1.0_rc4.20200527.648768b32a6-12
+ provides = lib32-mesa-vdpau=20.1.0_rc4.20200527.648768b32a6-12
provides = lib32-opengl-driver
- provides = lib32-mesa-libgl=20.1.0_rc1.20200502.3968b9381f8-11
+ provides = lib32-mesa-libgl=20.1.0_rc4.20200527.648768b32a6-12
provides = lib32-vulkan-driver
conflicts = lib32-mesa
conflicts = lib32-mesa-git
@@ -61,10 +61,12 @@ pkgbase = lib32-mesa-aco-git
source = LICENSE
source = llvm32.native
source = mesa-headers.patch
+ source = 0001-spirv-radv-anv-implement-no-op-VK_GOOGLE_user_type.patch
sha512sums = SKIP
sha512sums = 25da77914dded10c1f432ebcbf29941124138824ceecaf1367b3deedafaecabc082d463abcfa3d15abff59f177491472b505bcb5ba0c4a51bb6b93b4721a23c2
sha512sums = c7dbb390ebde291c517a854fcbe5166c24e95206f768cc9458ca896b2253aabd6df12a7becf831998721b2d622d0c02afdd8d519e77dea8e1d6807b35f0166fe
sha512sums = f83d52292f9b5144fc2f5b568cfb1d4bdebd37b877d34d9002335d79f66612123001c36a9615ed13f474771002672f2a445a89f3220d16b962e17087b6111644
+ sha512sums = 0bbc44131ba0f682caa9da0d61497272768ca98655e1df698580aee8fa66a61ed33193281e5ede8953b541cfd6a68c6c9cd51ff5c445830a21a5cb0dc8d7c09d
pkgname = lib32-mesa-aco-git
diff --git a/0001-spirv-radv-anv-implement-no-op-VK_GOOGLE_user_type.patch b/0001-spirv-radv-anv-implement-no-op-VK_GOOGLE_user_type.patch
new file mode 100644
index 000000000000..19b789e6d8b3
--- /dev/null
+++ b/0001-spirv-radv-anv-implement-no-op-VK_GOOGLE_user_type.patch
@@ -0,0 +1,97 @@
+From 50344bbb381511924b4d89877f9efada466304ba Mon Sep 17 00:00:00 2001
+From: Samuel Pitoiset <samuel.pitoiset@gmail.com>
+Date: Thu, 28 May 2020 10:21:27 +0200
+Subject: [PATCH 1/1] spirv,radv,anv: implement no-op VK_GOOGLE_user_type
+
+[ Rebased for mesa-aco repository ]
+
+This extension only allows HLSL shader compilers to optionally embed
+unambiguous type information which can be safely ignored by the driver.
+
+This fixes a crash with the recent Vulkan backend of Path Of Exile
+(it uses the extension without checking if it's supported).
+
+Cc: <mesa-stable@lists.freedesktop.org>
+Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
+Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com>
+Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
+Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5237>
+---
+ docs/relnotes/new_features.txt | 1 +
+ src/amd/vulkan/radv_extensions.py | 1 +
+ src/compiler/spirv/spirv_to_nir.c | 5 +++++
+ src/compiler/spirv/vtn_variables.c | 1 +
+ src/intel/vulkan/anv_extensions.py | 1 +
+ 5 files changed, 9 insertions(+)
+
+diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt
+index c2b424dec52..5352bbe4ba6 100644
+--- a/docs/relnotes/new_features.txt
++++ b/docs/relnotes/new_features.txt
+@@ -15,3 +15,4 @@ shaderInt16 for ACO on GFX9+
+ VK_KHR_shader_float16_int8 for ACO on GFX8+ (shaderFloat16 is still unsupported)
+ VK_EXT_robustness2 on Intel, RADV.
+ Add Rocket Lake (RKL) support on anvil and iris.
++VK_GOOGLE_user_type on ANV and RADV.
+diff --git a/src/amd/vulkan/radv_extensions.py b/src/amd/vulkan/radv_extensions.py
+index 4ea75a10d57..f1feb810bb4 100644
+--- a/src/amd/vulkan/radv_extensions.py
++++ b/src/amd/vulkan/radv_extensions.py
+@@ -172,6 +172,7 @@ EXTENSIONS = [
+ Extension('VK_AMD_shader_trinary_minmax', 1, True),
+ Extension('VK_GOOGLE_decorate_string', 1, True),
+ Extension('VK_GOOGLE_hlsl_functionality1', 1, True),
++ Extension('VK_GOOGLE_user_type', 1, True),
+ Extension('VK_NV_compute_shader_derivatives', 1, True),
+ ]
+
+diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c
+index 2ea51707734..e6f49ed87a8 100644
+--- a/src/compiler/spirv/spirv_to_nir.c
++++ b/src/compiler/spirv/spirv_to_nir.c
+@@ -859,6 +859,7 @@ struct_member_decoration_cb(struct vtn_builder *b,
+ break;
+
+ case SpvDecorationUserSemantic:
++ case SpvDecorationUserTypeGOOGLE:
+ /* User semantic decorations can safely be ignored by the driver. */
+ break;
+
+@@ -1040,6 +1041,10 @@ type_decoration_cb(struct vtn_builder *b,
+ spirv_decoration_to_string(dec->decoration));
+ break;
+
++ case SpvDecorationUserTypeGOOGLE:
++ /* User semantic decorations can safely be ignored by the driver. */
++ break;
++
+ default:
+ vtn_fail_with_decoration("Unhandled decoration", dec->decoration);
+ }
+diff --git a/src/compiler/spirv/vtn_variables.c b/src/compiler/spirv/vtn_variables.c
+index 9a6ddc2db1e..00743d6552c 100644
+--- a/src/compiler/spirv/vtn_variables.c
++++ b/src/compiler/spirv/vtn_variables.c
+@@ -1652,6 +1652,7 @@ apply_var_decoration(struct vtn_builder *b,
+ break;
+
+ case SpvDecorationUserSemantic:
++ case SpvDecorationUserTypeGOOGLE:
+ /* User semantic decorations can safely be ignored by the driver. */
+ break;
+
+diff --git a/src/intel/vulkan/anv_extensions.py b/src/intel/vulkan/anv_extensions.py
+index 4760b984d35..b88f01088b8 100644
+--- a/src/intel/vulkan/anv_extensions.py
++++ b/src/intel/vulkan/anv_extensions.py
+@@ -173,6 +173,7 @@ EXTENSIONS = [
+ Extension('VK_ANDROID_native_buffer', 7, 'ANDROID'),
+ Extension('VK_GOOGLE_decorate_string', 1, True),
+ Extension('VK_GOOGLE_hlsl_functionality1', 1, True),
++ Extension('VK_GOOGLE_user_type', 1, True),
+ Extension('VK_INTEL_performance_query', 1, 'device->perf && device->perf->i915_perf_version >= 3'),
+ Extension('VK_INTEL_shader_integer_functions2', 1, 'device->info.gen >= 8'),
+ Extension('VK_NV_compute_shader_derivatives', 1, True),
+--
+2.26.2
+
diff --git a/PKGBUILD b/PKGBUILD
index 8328361996aa..676d593d7089 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -12,8 +12,8 @@
pkgname=lib32-mesa-aco-git
pkgdesc="Mesa with the ACO compiler patchset, git version"
-pkgver=20.1.0_rc1.20200502.3968b9381f8
-pkgrel=11
+pkgver=20.1.0_rc4.20200527.648768b32a6
+pkgrel=12
arch=('x86_64')
makedepends=('python-mako' 'lib32-libxml2' 'lib32-libx11' 'xorgproto'
'lib32-gcc-libs' 'lib32-libvdpau' 'lib32-libelf' 'git' 'lib32-libgcrypt' 'lib32-systemd'
@@ -37,11 +37,13 @@ license=('custom')
source=('mesa-aco::git+https://github.com/daniel-schuermann/mesa'
'LICENSE'
'llvm32.native'
- 'mesa-headers.patch')
+ 'mesa-headers.patch'
+ '0001-spirv-radv-anv-implement-no-op-VK_GOOGLE_user_type.patch')
sha512sums=('SKIP'
'25da77914dded10c1f432ebcbf29941124138824ceecaf1367b3deedafaecabc082d463abcfa3d15abff59f177491472b505bcb5ba0c4a51bb6b93b4721a23c2'
'c7dbb390ebde291c517a854fcbe5166c24e95206f768cc9458ca896b2253aabd6df12a7becf831998721b2d622d0c02afdd8d519e77dea8e1d6807b35f0166fe'
- 'f83d52292f9b5144fc2f5b568cfb1d4bdebd37b877d34d9002335d79f66612123001c36a9615ed13f474771002672f2a445a89f3220d16b962e17087b6111644')
+ 'f83d52292f9b5144fc2f5b568cfb1d4bdebd37b877d34d9002335d79f66612123001c36a9615ed13f474771002672f2a445a89f3220d16b962e17087b6111644'
+ '0bbc44131ba0f682caa9da0d61497272768ca98655e1df698580aee8fa66a61ed33193281e5ede8953b541cfd6a68c6c9cd51ff5c445830a21a5cb0dc8d7c09d')
# NINJAFLAGS is an env var used to pass commandline options to ninja
# NOTE: It's your responbility to validate the value of $NINJAFLAGS. If unsure, don't set it.
@@ -114,6 +116,11 @@ prepare() {
if ! git show b57fa7ca49f7ddb67ac47f392de05af388e73565 &>/dev/null; then
patch -Np1 -i "$srcdir"/mesa-headers.patch
fi
+
+ # Path of Exile fix, similarly pull forward until ACO rebase
+ if ! git show 10c4a7cf59733ae2058a76b880ea0767a59dad4f &>/dev/null; then
+ patch -Np1 -i "$srcdir"/0001-spirv-radv-anv-implement-no-op-VK_GOOGLE_user_type.patch
+ fi
}
build () {