[arch-commits] Commit in lib32-mesa/trunk (3 files)
Laurent Carlier
lcarlier at archlinux.org
Wed Sep 20 13:44:34 UTC 2017
Date: Wednesday, September 20, 2017 @ 13:44:34
Author: lcarlier
Revision: 258884
upgpkg: lib32-mesa 17.2.1-2
Add patch to enable swr with llvm-5.0.0
Added:
lib32-mesa/trunk/swr-rast-do-not-crash-on-NULL-strings-returned-by-getenv.patch
lib32-mesa/trunk/swr-rast-remove-llvm-fence-atomics-from-generated-files.patch
Modified:
lib32-mesa/trunk/PKGBUILD
----------------------------------------------------------------+
PKGBUILD | 16 ++++++--
swr-rast-do-not-crash-on-NULL-strings-returned-by-getenv.patch | 14 +++++++
swr-rast-remove-llvm-fence-atomics-from-generated-files.patch | 19 ++++++++++
3 files changed, 45 insertions(+), 4 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2017-09-20 13:22:08 UTC (rev 258883)
+++ PKGBUILD 2017-09-20 13:44:34 UTC (rev 258884)
@@ -6,7 +6,7 @@
pkgbase=lib32-mesa
pkgname=('lib32-vulkan-intel' 'lib32-vulkan-radeon' 'lib32-libva-mesa-driver' 'lib32-mesa-vdpau' 'lib32-mesa')
pkgver=17.2.1
-pkgrel=1
+pkgrel=2
arch=('x86_64')
makedepends=('python2-mako' 'lib32-libxml2' 'lib32-expat' 'lib32-libx11' 'glproto' 'lib32-libdrm' 'dri2proto' 'dri3proto' 'presentproto'
'lib32-libxshmfence' 'lib32-libxxf86vm' 'lib32-libxdamage' 'gcc-multilib' 'lib32-libelf' 'lib32-llvm' 'lib32-libvdpau'
@@ -15,11 +15,15 @@
license=('custom')
source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
LICENSE
- 0002-glvnd-fix-gl-dot-pc.patch)
+ 0002-glvnd-fix-gl-dot-pc.patch
+ swr-rast-do-not-crash-on-NULL-strings-returned-by-getenv.patch
+ swr-rast-remove-llvm-fence-atomics-from-generated-files.patch)
sha256sums=('77385d17827cff24a3bae134342234f2efe7f7f990e778109682571dbbc9ba1e'
'SKIP'
'7fdc119cf53c8ca65396ea73f6d10af641ba41ea1dd2bd44a824726e01c8b3f2'
- '64a77944a28026b066c1682c7258d02289d257b24b6f173a9f7580c48beed966')
+ '64a77944a28026b066c1682c7258d02289d257b24b6f173a9f7580c48beed966'
+ '2dcbd3b311b18e473000fb496a93a4a7a4ae9f9413aace209c0ea4aebbba715b'
+ 'a747e0046eab7bb9c73444549c9c63d078b11b756d2294ba9c7ee0612caf62db')
validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D') # Emil Velikov <emil.l.velikov at gmail.com>
validpgpkeys+=('946D09B5E4C9845E63075FF1D961C596A7203456') # "Andres Gomez <tanty at igalia.com>"
validpgpkeys+=('E3E8F480C52ADD73B278EE78E1ECBE07D7D70895') # Juan Antonio Suárez Romero (Igalia, S.L.) <jasuarez at igalia.com>"
@@ -31,6 +35,10 @@
# non-upstreamed ones
patch -Np1 -i ../0002-glvnd-fix-gl-dot-pc.patch
+ # swr driver
+ patch -Np1 -i ../swr-rast-do-not-crash-on-NULL-strings-returned-by-getenv.patch
+ patch -Np1 -i ../swr-rast-remove-llvm-fence-atomics-from-generated-files.patch
+
autoreconf -fiv
}
@@ -48,7 +56,7 @@
--prefix=/usr \
--sysconfdir=/etc \
--with-dri-driverdir=/usr/lib32/xorg/modules/dri \
- --with-gallium-drivers=r300,r600,radeonsi,nouveau,svga,swrast,virgl \
+ --with-gallium-drivers=r300,r600,radeonsi,nouveau,svga,swrast,virgl,swr \
--with-dri-drivers=i915,i965,r200,radeon,nouveau,swrast \
--with-platforms=x11,drm,wayland \
--with-vulkan-drivers=intel,radeon \
Added: swr-rast-do-not-crash-on-NULL-strings-returned-by-getenv.patch
===================================================================
--- swr-rast-do-not-crash-on-NULL-strings-returned-by-getenv.patch (rev 0)
+++ swr-rast-do-not-crash-on-NULL-strings-returned-by-getenv.patch 2017-09-20 13:44:34 UTC (rev 258884)
@@ -0,0 +1,14 @@
+diff --git a/src/gallium/drivers/swr/rasterizer/core/utils.h b/src/gallium/drivers/swr/rasterizer/core/utils.h
+index b096d2120cb..3c849e82d3b 100644
+--- a/src/gallium/drivers/swr/rasterizer/core/utils.h
++++ b/src/gallium/drivers/swr/rasterizer/core/utils.h
+@@ -365,7 +365,8 @@ static INLINE std::string GetEnv(const std::string& variableName)
+ output.resize(valueSize - 1); // valueSize includes null, output.resize() does not
+ GetEnvironmentVariableA(variableName.c_str(), &output[0], valueSize);
+ #else
+- output = getenv(variableName.c_str());
++ char *o = getenv(variableName.c_str());
++ output = o ? std::string(o) : std::string();
+ #endif
+
+ return output;
Added: swr-rast-remove-llvm-fence-atomics-from-generated-files.patch
===================================================================
--- swr-rast-remove-llvm-fence-atomics-from-generated-files.patch (rev 0)
+++ swr-rast-remove-llvm-fence-atomics-from-generated-files.patch 2017-09-20 13:44:34 UTC (rev 258884)
@@ -0,0 +1,19 @@
+diff --git a/src/gallium/drivers/swr/rasterizer/codegen/gen_llvm_ir_macros.py b/src/gallium/drivers/swr/rasterizer/codegen/gen_llvm_ir_macros.py
+index 025d38a..ce892a9 100644
+--- a/src/gallium/drivers/swr/rasterizer/codegen/gen_llvm_ir_macros.py
++++ b/src/gallium/drivers/swr/rasterizer/codegen/gen_llvm_ir_macros.py
+@@ -140,6 +140,14 @@ def parse_ir_builder(input_file):
+
+ ignore = False
+
++ # The following functions need to be ignored in openswr.
++ # API change in llvm-5.0 breaks baked autogen files
++ if (
++ (func_name == 'CreateFence' or
++ func_name == 'CreateAtomicCmpXchg' or
++ func_name == 'CreateAtomicRMW')):
++ ignore = True
++
+ # The following functions need to be ignored.
+ if (func_name == 'CreateInsertNUWNSWBinOp' or
+ func_name == 'CreateMaskedIntrinsic' or
More information about the arch-commits
mailing list