[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