[arch-commits] Commit in lib32-mesa/repos/multilib-x86_64 (7 files)
Evangelos Foutras
foutrelis at archlinux.org
Fri Jan 12 18:58:07 UTC 2018
Date: Friday, January 12, 2018 @ 18:58:06
Author: foutrelis
Revision: 281690
archrelease: copy trunk to multilib-x86_64
Added:
lib32-mesa/repos/multilib-x86_64/0001-loader-dri3-Avoid-freeing-renderbuffers-in-use.patch
(from rev 281689, lib32-mesa/trunk/0001-loader-dri3-Avoid-freeing-renderbuffers-in-use.patch)
lib32-mesa/repos/multilib-x86_64/0002-glvnd-fix-gl-dot-pc.patch
(from rev 281689, lib32-mesa/trunk/0002-glvnd-fix-gl-dot-pc.patch)
lib32-mesa/repos/multilib-x86_64/LICENSE
(from rev 281689, lib32-mesa/trunk/LICENSE)
lib32-mesa/repos/multilib-x86_64/PKGBUILD
(from rev 281689, lib32-mesa/trunk/PKGBUILD)
Deleted:
lib32-mesa/repos/multilib-x86_64/0002-glvnd-fix-gl-dot-pc.patch
lib32-mesa/repos/multilib-x86_64/LICENSE
lib32-mesa/repos/multilib-x86_64/PKGBUILD
-----------------------------------------------------------+
0001-loader-dri3-Avoid-freeing-renderbuffers-in-use.patch | 74 ++
0002-glvnd-fix-gl-dot-pc.patch | 24
LICENSE | 164 ++---
PKGBUILD | 335 ++++++------
4 files changed, 338 insertions(+), 259 deletions(-)
Copied: lib32-mesa/repos/multilib-x86_64/0001-loader-dri3-Avoid-freeing-renderbuffers-in-use.patch (from rev 281689, lib32-mesa/trunk/0001-loader-dri3-Avoid-freeing-renderbuffers-in-use.patch)
===================================================================
--- 0001-loader-dri3-Avoid-freeing-renderbuffers-in-use.patch (rev 0)
+++ 0001-loader-dri3-Avoid-freeing-renderbuffers-in-use.patch 2018-01-12 18:58:06 UTC (rev 281690)
@@ -0,0 +1,74 @@
+From 897c54d522ab960a879b763a15e489f630c491ee Mon Sep 17 00:00:00 2001
+From: Thomas Hellstrom <thellstrom at vmware.com>
+Date: Thu, 11 Jan 2018 10:19:23 +0100
+Subject: [PATCH] loader/dri3: Avoid freeing renderbuffers in use
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upon reception of an event that lowered the number of active back buffers,
+the code would immediately try to free all back buffers with an id equal to or
+higher than the new number of active back buffers.
+
+However, that could lead to an active or to-be-active back buffer being freed,
+since the old number of back buffers was used when obtaining an idle back
+buffer for use.
+
+This lead to crashes when lowering the number of active back buffers by
+transitioning from page-flipping to non-page-flipping presents.
+
+Fix this by computing the number of active back buffers only when trying to
+obtain a new back buffer.
+
+Fixes: 15e208c4cc ("loader/dri3: Don't accidently free buffer holding new back content")
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104214
+Cc: "17.3" <mesa-stable at lists.freedesktop.org>
+Tested-by: Andriy.Khulap <andriy.khulap at globallogic.com>
+Tested-by: Vadym Shovkoplias <vadym.shovkoplias at globallogic.com>
+Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
+Signed-off-by: Thomas Hellstrom <thellstrom at vmware.com>
+---
+ src/loader/loader_dri3_helper.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/loader/loader_dri3_helper.c b/src/loader/loader_dri3_helper.c
+index cc890bc923..8f8efcb646 100644
+--- a/src/loader/loader_dri3_helper.c
++++ b/src/loader/loader_dri3_helper.c
+@@ -205,7 +205,6 @@ void
+ loader_dri3_set_swap_interval(struct loader_dri3_drawable *draw, int interval)
+ {
+ draw->swap_interval = interval;
+- dri3_update_num_back(draw);
+ }
+
+ /** dri3_free_render_buffer
+@@ -377,7 +376,6 @@ dri3_handle_present_event(struct loader_dri3_drawable *draw,
+ draw->flipping = false;
+ break;
+ }
+- dri3_update_num_back(draw);
+
+ if (draw->vtable->show_fps)
+ draw->vtable->show_fps(draw, ce->ust);
+@@ -402,7 +400,8 @@ dri3_handle_present_event(struct loader_dri3_drawable *draw,
+ buf->busy = 0;
+
+ if (buf && draw->num_back <= b && b < LOADER_DRI3_MAX_BACK &&
+- draw->cur_blit_source != b) {
++ draw->cur_blit_source != b &&
++ !buf->busy) {
+ dri3_free_render_buffer(draw, buf);
+ draw->buffers[b] = NULL;
+ }
+@@ -537,6 +536,7 @@ dri3_find_back(struct loader_dri3_drawable *draw)
+ /* Check whether we need to reuse the current back buffer as new back.
+ * In that case, wait until it's not busy anymore.
+ */
++ dri3_update_num_back(draw);
+ num_to_consider = draw->num_back;
+ if (!loader_dri3_have_image_blit(draw) && draw->cur_blit_source != -1) {
+ num_to_consider = 1;
+--
+2.15.1
+
Deleted: 0002-glvnd-fix-gl-dot-pc.patch
===================================================================
--- 0002-glvnd-fix-gl-dot-pc.patch 2018-01-12 18:57:55 UTC (rev 281689)
+++ 0002-glvnd-fix-gl-dot-pc.patch 2018-01-12 18:58:06 UTC (rev 281690)
@@ -1,12 +0,0 @@
-diff -up mesa-12.0.3/src/mesa/gl.pc.in.jx mesa-12.0.3/src/mesa/gl.pc.in
---- mesa-12.0.3/src/mesa/gl.pc.in.jx 2016-01-18 02:39:26.000000000 -0500
-+++ mesa-12.0.3/src/mesa/gl.pc.in 2016-10-25 13:06:44.013159358 -0400
-@@ -7,7 +7,7 @@ Name: gl
- Description: Mesa OpenGL library
- Requires.private: @GL_PC_REQ_PRIV@
- Version: @PACKAGE_VERSION@
--Libs: -L${libdir} -l at GL_LIB@
-+Libs: -L${libdir} -lGL
- Libs.private: @GL_PC_LIB_PRIV@
- Cflags: -I${includedir} @GL_PC_CFLAGS@
- glx_tls: @GLX_TLS@
Copied: lib32-mesa/repos/multilib-x86_64/0002-glvnd-fix-gl-dot-pc.patch (from rev 281689, lib32-mesa/trunk/0002-glvnd-fix-gl-dot-pc.patch)
===================================================================
--- 0002-glvnd-fix-gl-dot-pc.patch (rev 0)
+++ 0002-glvnd-fix-gl-dot-pc.patch 2018-01-12 18:58:06 UTC (rev 281690)
@@ -0,0 +1,12 @@
+diff -up mesa-12.0.3/src/mesa/gl.pc.in.jx mesa-12.0.3/src/mesa/gl.pc.in
+--- mesa-12.0.3/src/mesa/gl.pc.in.jx 2016-01-18 02:39:26.000000000 -0500
++++ mesa-12.0.3/src/mesa/gl.pc.in 2016-10-25 13:06:44.013159358 -0400
+@@ -7,7 +7,7 @@ Name: gl
+ Description: Mesa OpenGL library
+ Requires.private: @GL_PC_REQ_PRIV@
+ Version: @PACKAGE_VERSION@
+-Libs: -L${libdir} -l at GL_LIB@
++Libs: -L${libdir} -lGL
+ Libs.private: @GL_PC_LIB_PRIV@
+ Cflags: -I${includedir} @GL_PC_CFLAGS@
+ glx_tls: @GLX_TLS@
Deleted: LICENSE
===================================================================
--- LICENSE 2018-01-12 18:57:55 UTC (rev 281689)
+++ LICENSE 2018-01-12 18:58:06 UTC (rev 281690)
@@ -1,82 +0,0 @@
-Disclaimer
-
-Mesa is a 3-D graphics library with an API which is very similar to
-that of OpenGL*
-To the extent that Mesa utilizes the OpenGL command syntax or state
-machine, it is being used with authorization from Silicon Graphics,
-Inc.(SGI). However, the author does not possess an OpenGL license
-from SGI, and makes no claim that Mesa is in any way a compatible
-replacement for OpenGL or associated with SGI. Those who want a
-licensed implementation of OpenGL should contact a licensed
-vendor.
-
-Please do not refer to the library as MesaGL (for legal
-reasons). It's just Mesa or The Mesa 3-D graphics
-library
-
-* OpenGL is a trademark of Silicon Graphics Incorporated.
-
-License / Copyright Information
-
-The Mesa distribution consists of several components. Different copyrights
-and licenses apply to different components. For example, GLUT is copyrighted
-by Mark Kilgard, some demo programs are copyrighted by SGI, some of the Mesa
-device drivers are copyrighted by their authors. See below for a list of
-Mesa's main components and the license for each.
-
-The core Mesa library is licensed according to the terms of the MIT license.
-This allows integration with the XFree86, Xorg and DRI projects.
-
-The default Mesa license is as follows:
-
-Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the "Software"),
-to deal in the Software without restriction, including without limitation
-the rights to use, copy, modify, merge, publish, distribute, sublicense,
-and/or sell copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Attention, Contributors
-
-When contributing to the Mesa project you must agree to the licensing terms
-of the component to which you're contributing.
-The following section lists the primary components of the Mesa distribution
-and their respective licenses.
-
-
-Mesa Component Licenses
-
-Component Location Primary Author License
-----------------------------------------------------------------------------
-Main Mesa code src/mesa/ Brian Paul Mesa (MIT)
-
-Device drivers src/mesa/drivers/* See drivers See drivers
-
-Ext headers include/GL/glext.h SGI SGI Free B
- include/GL/glxext.h
-
-GLUT src/glut/ Mark Kilgard Mark's copyright
-
-Mesa GLU library src/glu/mesa/ Brian Paul GNU-LGPL
-
-SGI GLU library src/glu/sgi/ SGI SGI Free B
-
-demo programs progs/demos/ various see source files
-
-X demos progs/xdemos/ Brian Paul see source files
-
-SGI demos progs/samples/ SGI SGI copyright
-
-RedBook demos progs/redbook/ SGI SGI copyright
Copied: lib32-mesa/repos/multilib-x86_64/LICENSE (from rev 281689, lib32-mesa/trunk/LICENSE)
===================================================================
--- LICENSE (rev 0)
+++ LICENSE 2018-01-12 18:58:06 UTC (rev 281690)
@@ -0,0 +1,82 @@
+Disclaimer
+
+Mesa is a 3-D graphics library with an API which is very similar to
+that of OpenGL*
+To the extent that Mesa utilizes the OpenGL command syntax or state
+machine, it is being used with authorization from Silicon Graphics,
+Inc.(SGI). However, the author does not possess an OpenGL license
+from SGI, and makes no claim that Mesa is in any way a compatible
+replacement for OpenGL or associated with SGI. Those who want a
+licensed implementation of OpenGL should contact a licensed
+vendor.
+
+Please do not refer to the library as MesaGL (for legal
+reasons). It's just Mesa or The Mesa 3-D graphics
+library
+
+* OpenGL is a trademark of Silicon Graphics Incorporated.
+
+License / Copyright Information
+
+The Mesa distribution consists of several components. Different copyrights
+and licenses apply to different components. For example, GLUT is copyrighted
+by Mark Kilgard, some demo programs are copyrighted by SGI, some of the Mesa
+device drivers are copyrighted by their authors. See below for a list of
+Mesa's main components and the license for each.
+
+The core Mesa library is licensed according to the terms of the MIT license.
+This allows integration with the XFree86, Xorg and DRI projects.
+
+The default Mesa license is as follows:
+
+Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Attention, Contributors
+
+When contributing to the Mesa project you must agree to the licensing terms
+of the component to which you're contributing.
+The following section lists the primary components of the Mesa distribution
+and their respective licenses.
+
+
+Mesa Component Licenses
+
+Component Location Primary Author License
+----------------------------------------------------------------------------
+Main Mesa code src/mesa/ Brian Paul Mesa (MIT)
+
+Device drivers src/mesa/drivers/* See drivers See drivers
+
+Ext headers include/GL/glext.h SGI SGI Free B
+ include/GL/glxext.h
+
+GLUT src/glut/ Mark Kilgard Mark's copyright
+
+Mesa GLU library src/glu/mesa/ Brian Paul GNU-LGPL
+
+SGI GLU library src/glu/sgi/ SGI SGI Free B
+
+demo programs progs/demos/ various see source files
+
+X demos progs/xdemos/ Brian Paul see source files
+
+SGI demos progs/samples/ SGI SGI copyright
+
+RedBook demos progs/redbook/ SGI SGI copyright
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2018-01-12 18:57:55 UTC (rev 281689)
+++ PKGBUILD 2018-01-12 18:58:06 UTC (rev 281690)
@@ -1,165 +0,0 @@
-# $Id$
-# Maintainer: Laurent Carlier <lordheavym at gmail.com>
-# Contributor: Jan de Groot <jgc at archlinux.org>
-# Contributor: Andreas Radke <andyrtr at archlinux.org>
-
-pkgbase=lib32-mesa
-pkgname=('lib32-vulkan-intel' 'lib32-vulkan-radeon' 'lib32-libva-mesa-driver' 'lib32-mesa-vdpau' 'lib32-mesa')
-pkgver=17.3.2
-pkgrel=1
-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'
- 'lib32-libva' 'lib32-wayland' 'wayland-protocols' 'lib32-libglvnd' 'lib32-lm_sensors')
-url="http://mesa3d.sourceforge.net"
-license=('custom')
-source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
- LICENSE
- 0002-glvnd-fix-gl-dot-pc.patch)
-sha256sums=('e2844a13f2d6f8f24bee65804a51c42d8dc6ae9c36cff7ee61d0940e796d64c6'
- 'SKIP'
- '7fdc119cf53c8ca65396ea73f6d10af641ba41ea1dd2bd44a824726e01c8b3f2'
- '64a77944a28026b066c1682c7258d02289d257b24b6f173a9f7580c48beed966')
-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>"
-
-prepare() {
- cd ${srcdir}/mesa-${pkgver}
-
- # glvnd support patches - from Fedora
- # non-upstreamed ones
- patch -Np1 -i ../0002-glvnd-fix-gl-dot-pc.patch
-
- autoreconf -fiv
-}
-
-build() {
- export CC="gcc -m32"
- export CXX="g++ -m32"
- export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
- export LLVM_CONFIG="/usr/bin/llvm-config32"
-
- cd ${srcdir}/mesa-${pkgver}
-
- ./configure \
- --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu \
- --libdir=/usr/lib32 \
- --prefix=/usr \
- --sysconfdir=/etc \
- --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 \
- --disable-xvmc \
- --disable-libunwind \
- --enable-libglvnd \
- --enable-llvm \
- --enable-llvm-shared-libs \
- --enable-shared-glapi \
- --enable-lmsensors \
- --enable-glx-tls \
- --enable-egl \
- --enable-glx \
- --enable-gles1 \
- --enable-gles2 \
- --enable-gbm \
- --enable-dri \
- --enable-gallium-osmesa \
- --enable-gallium-extra-hud \
- --enable-texture-float \
- --enable-nine \
- --enable-vdpau
-
- make
-
- mkdir $srcdir/fakeinstall
- make DESTDIR=${srcdir}/fakeinstall install
-}
-
-package_lib32-vulkan-intel() {
- pkgdesc="Intel's Vulkan mesa driver (32-bit)"
- depends=('lib32-wayland' 'lib32-libx11' 'lib32-gcc-libs' 'lib32-libxshmfence')
- provides=('lib32-vulkan-driver')
-
- install -m755 -d ${pkgdir}/usr/share/vulkan/icd.d
- cp -rv ${srcdir}/fakeinstall/usr/share/vulkan/icd.d/intel_icd*.json ${pkgdir}/usr/share/vulkan/icd.d/
-
- install -m755 -d ${pkgdir}/usr/lib32
- cp -rv ${srcdir}/fakeinstall/usr/lib32/libvulkan_intel.so ${pkgdir}/usr/lib32/
-
- install -m755 -d "${pkgdir}/usr/share/licenses/lib32-vulkan-intel"
- install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/lib32-vulkan-intel/"
-}
-
-package_lib32-vulkan-radeon() {
- pkgdesc="Radeon's Vulkan mesa driver (32-bit)"
- depends=('lib32-wayland' 'lib32-libx11' 'lib32-llvm-libs' 'lib32-libdrm' 'lib32-libelf' 'lib32-libxshmfence')
- provides=('lib32-vulkan-driver')
-
- install -m755 -d ${pkgdir}/usr/share/vulkan/icd.d
- cp -rv ${srcdir}/fakeinstall/usr/share/vulkan/icd.d/radeon_icd*.json ${pkgdir}/usr/share/vulkan/icd.d/
-
- install -m755 -d ${pkgdir}/usr/lib32
- cp -rv ${srcdir}/fakeinstall/usr/lib32/libvulkan_radeon.so ${pkgdir}/usr/lib32/
-
- install -m755 -d "${pkgdir}/usr/share/licenses/lib32-vulkan-radeon"
- install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/lib32-vulkan-radeon/"
-}
-
-package_lib32-libva-mesa-driver() {
- pkgdesc="VA-API implementation for gallium (32-bit)"
- depends=('lib32-libdrm' 'lib32-libx11' 'lib32-expat' 'lib32-llvm-libs' 'lib32-libelf' 'lib32-lm_sensors'
- 'lib32-libxshmfence')
-
- install -m755 -d ${pkgdir}/usr/lib32/dri
- cp -av ${srcdir}/fakeinstall/usr/lib32/dri/*_drv_video.so ${pkgdir}/usr/lib32/dri
-
- install -m755 -d "${pkgdir}/usr/share/licenses/lib32-libva-mesa-driver"
- install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/lib32-libva-mesa-driver/"
-}
-
-package_lib32-mesa-vdpau() {
- pkgdesc="Mesa VDPAU drivers (32-bit)"
- depends=('lib32-libdrm' 'lib32-libx11' 'lib32-expat' 'lib32-llvm-libs' 'lib32-libelf' 'lib32-lm_sensors'
- 'lib32-libxshmfence')
-
- install -m755 -d ${pkgdir}/usr/lib32/vdpau
- cp -av ${srcdir}/fakeinstall/usr/lib32/vdpau/* ${pkgdir}/usr/lib32/vdpau
-
- install -m755 -d "${pkgdir}/usr/share/licenses/lib32-mesa-vdpau"
- install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/lib32-mesa-vdpau/"
-}
-
-package_lib32-mesa() {
- pkgdesc="an open-source implementation of the OpenGL specification (32-bit)"
- depends=('lib32-libdrm' 'lib32-libxxf86vm' 'lib32-libxdamage' 'lib32-libxshmfence' 'lib32-lm_sensors'
- 'lib32-libelf' 'lib32-llvm-libs' 'lib32-wayland' 'lib32-libglvnd' 'mesa')
- optdepends=('opengl-man-pages: for the OpenGL API man pages'
- 'lib32-mesa-vdpau: for accelerated video playback')
- provides=('lib32-ati-dri' 'lib32-intel-dri' 'lib32-nouveau-dri' 'lib32-mesa-dri' 'lib32-mesa-libgl' 'lib32-opengl-driver')
- conflicts=('lib32-ati-dri' 'lib32-intel-dri' 'lib32-nouveau-dri' 'lib32-mesa-dri' 'lib32-mesa-libgl')
- replaces=('lib32-ati-dri' 'lib32-intel-dri' 'lib32-nouveau-dri' 'lib32-mesa-dri' 'lib32-mesa-libgl')
-
- install -m755 -d ${pkgdir}/usr/lib32/dri
- # ati-dri, nouveay-dri, intel-dri, swrast
- cp -av ${srcdir}/fakeinstall/usr/lib32/dri/*_dri.so ${pkgdir}/usr/lib32/dri
-
- install -m755 -d ${pkgdir}/usr/lib32
- cp -rv ${srcdir}/fakeinstall/usr/lib32/d3d ${pkgdir}/usr/lib32
- cp -rv ${srcdir}/fakeinstall/usr/lib32/lib{gbm,glapi}.so* ${pkgdir}/usr/lib32/
- cp -rv ${srcdir}/fakeinstall/usr/lib32/libOSMesa.so* ${pkgdir}/usr/lib32/
- cp -rv ${srcdir}/fakeinstall/usr/lib32/libwayland*.so* ${pkgdir}/usr/lib32/
- cp -rv ${srcdir}/fakeinstall/usr/lib32/libswrAVX*.so* ${pkgdir}/usr/lib32/
-
- cp -rv ${srcdir}/fakeinstall/usr/lib32/pkgconfig ${pkgdir}/usr/lib32/
-
- # libglvnd support
- cp -rv ${srcdir}/fakeinstall/usr/lib32/libGLX_mesa.so* ${pkgdir}/usr/lib32/
- cp -rv ${srcdir}/fakeinstall/usr/lib32/libEGL_mesa.so* ${pkgdir}/usr/lib32/
- # indirect rendering
- ln -s /usr/lib32/libGLX_mesa.so.0 ${pkgdir}/usr/lib32/libGLX_indirect.so.0
-
- install -m755 -d "${pkgdir}/usr/share/licenses/lib32-mesa"
- install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/lib32-mesa/"
-}
Copied: lib32-mesa/repos/multilib-x86_64/PKGBUILD (from rev 281689, lib32-mesa/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2018-01-12 18:58:06 UTC (rev 281690)
@@ -0,0 +1,170 @@
+# $Id$
+# Maintainer: Laurent Carlier <lordheavym at gmail.com>
+# Contributor: Jan de Groot <jgc at archlinux.org>
+# Contributor: Andreas Radke <andyrtr at archlinux.org>
+
+pkgbase=lib32-mesa
+pkgname=('lib32-vulkan-intel' 'lib32-vulkan-radeon' 'lib32-libva-mesa-driver' 'lib32-mesa-vdpau' 'lib32-mesa')
+pkgver=17.3.2
+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'
+ 'lib32-libva' 'lib32-wayland' 'wayland-protocols' 'lib32-libglvnd' 'lib32-lm_sensors')
+url="http://mesa3d.sourceforge.net"
+license=('custom')
+source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
+ LICENSE
+ 0001-loader-dri3-Avoid-freeing-renderbuffers-in-use.patch
+ 0002-glvnd-fix-gl-dot-pc.patch)
+sha256sums=('e2844a13f2d6f8f24bee65804a51c42d8dc6ae9c36cff7ee61d0940e796d64c6'
+ 'SKIP'
+ '7fdc119cf53c8ca65396ea73f6d10af641ba41ea1dd2bd44a824726e01c8b3f2'
+ '777a5cf59eefc51fb89d60e3f6a47a7b974b794d309f6532ab107c36cd0bad19'
+ '64a77944a28026b066c1682c7258d02289d257b24b6f173a9f7580c48beed966')
+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>"
+
+prepare() {
+ cd ${srcdir}/mesa-${pkgver}
+
+ # https://bugs.freedesktop.org/show_bug.cgi?id=104214
+ patch -Np1 -i ../0001-loader-dri3-Avoid-freeing-renderbuffers-in-use.patch
+
+ # glvnd support patches - from Fedora
+ # non-upstreamed ones
+ patch -Np1 -i ../0002-glvnd-fix-gl-dot-pc.patch
+
+ autoreconf -fiv
+}
+
+build() {
+ export CC="gcc -m32"
+ export CXX="g++ -m32"
+ export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+ export LLVM_CONFIG="/usr/bin/llvm-config32"
+
+ cd ${srcdir}/mesa-${pkgver}
+
+ ./configure \
+ --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu \
+ --libdir=/usr/lib32 \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --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 \
+ --disable-xvmc \
+ --disable-libunwind \
+ --enable-libglvnd \
+ --enable-llvm \
+ --enable-llvm-shared-libs \
+ --enable-shared-glapi \
+ --enable-lmsensors \
+ --enable-glx-tls \
+ --enable-egl \
+ --enable-glx \
+ --enable-gles1 \
+ --enable-gles2 \
+ --enable-gbm \
+ --enable-dri \
+ --enable-gallium-osmesa \
+ --enable-gallium-extra-hud \
+ --enable-texture-float \
+ --enable-nine \
+ --enable-vdpau
+
+ make
+
+ mkdir $srcdir/fakeinstall
+ make DESTDIR=${srcdir}/fakeinstall install
+}
+
+package_lib32-vulkan-intel() {
+ pkgdesc="Intel's Vulkan mesa driver (32-bit)"
+ depends=('lib32-wayland' 'lib32-libx11' 'lib32-gcc-libs' 'lib32-libxshmfence')
+ provides=('lib32-vulkan-driver')
+
+ install -m755 -d ${pkgdir}/usr/share/vulkan/icd.d
+ cp -rv ${srcdir}/fakeinstall/usr/share/vulkan/icd.d/intel_icd*.json ${pkgdir}/usr/share/vulkan/icd.d/
+
+ install -m755 -d ${pkgdir}/usr/lib32
+ cp -rv ${srcdir}/fakeinstall/usr/lib32/libvulkan_intel.so ${pkgdir}/usr/lib32/
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/lib32-vulkan-intel"
+ install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/lib32-vulkan-intel/"
+}
+
+package_lib32-vulkan-radeon() {
+ pkgdesc="Radeon's Vulkan mesa driver (32-bit)"
+ depends=('lib32-wayland' 'lib32-libx11' 'lib32-llvm-libs' 'lib32-libdrm' 'lib32-libelf' 'lib32-libxshmfence')
+ provides=('lib32-vulkan-driver')
+
+ install -m755 -d ${pkgdir}/usr/share/vulkan/icd.d
+ cp -rv ${srcdir}/fakeinstall/usr/share/vulkan/icd.d/radeon_icd*.json ${pkgdir}/usr/share/vulkan/icd.d/
+
+ install -m755 -d ${pkgdir}/usr/lib32
+ cp -rv ${srcdir}/fakeinstall/usr/lib32/libvulkan_radeon.so ${pkgdir}/usr/lib32/
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/lib32-vulkan-radeon"
+ install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/lib32-vulkan-radeon/"
+}
+
+package_lib32-libva-mesa-driver() {
+ pkgdesc="VA-API implementation for gallium (32-bit)"
+ depends=('lib32-libdrm' 'lib32-libx11' 'lib32-expat' 'lib32-llvm-libs' 'lib32-libelf' 'lib32-lm_sensors'
+ 'lib32-libxshmfence')
+
+ install -m755 -d ${pkgdir}/usr/lib32/dri
+ cp -av ${srcdir}/fakeinstall/usr/lib32/dri/*_drv_video.so ${pkgdir}/usr/lib32/dri
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/lib32-libva-mesa-driver"
+ install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/lib32-libva-mesa-driver/"
+}
+
+package_lib32-mesa-vdpau() {
+ pkgdesc="Mesa VDPAU drivers (32-bit)"
+ depends=('lib32-libdrm' 'lib32-libx11' 'lib32-expat' 'lib32-llvm-libs' 'lib32-libelf' 'lib32-lm_sensors'
+ 'lib32-libxshmfence')
+
+ install -m755 -d ${pkgdir}/usr/lib32/vdpau
+ cp -av ${srcdir}/fakeinstall/usr/lib32/vdpau/* ${pkgdir}/usr/lib32/vdpau
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/lib32-mesa-vdpau"
+ install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/lib32-mesa-vdpau/"
+}
+
+package_lib32-mesa() {
+ pkgdesc="an open-source implementation of the OpenGL specification (32-bit)"
+ depends=('lib32-libdrm' 'lib32-libxxf86vm' 'lib32-libxdamage' 'lib32-libxshmfence' 'lib32-lm_sensors'
+ 'lib32-libelf' 'lib32-llvm-libs' 'lib32-wayland' 'lib32-libglvnd' 'mesa')
+ optdepends=('opengl-man-pages: for the OpenGL API man pages'
+ 'lib32-mesa-vdpau: for accelerated video playback')
+ provides=('lib32-ati-dri' 'lib32-intel-dri' 'lib32-nouveau-dri' 'lib32-mesa-dri' 'lib32-mesa-libgl' 'lib32-opengl-driver')
+ conflicts=('lib32-ati-dri' 'lib32-intel-dri' 'lib32-nouveau-dri' 'lib32-mesa-dri' 'lib32-mesa-libgl')
+ replaces=('lib32-ati-dri' 'lib32-intel-dri' 'lib32-nouveau-dri' 'lib32-mesa-dri' 'lib32-mesa-libgl')
+
+ install -m755 -d ${pkgdir}/usr/lib32/dri
+ # ati-dri, nouveay-dri, intel-dri, swrast
+ cp -av ${srcdir}/fakeinstall/usr/lib32/dri/*_dri.so ${pkgdir}/usr/lib32/dri
+
+ install -m755 -d ${pkgdir}/usr/lib32
+ cp -rv ${srcdir}/fakeinstall/usr/lib32/d3d ${pkgdir}/usr/lib32
+ cp -rv ${srcdir}/fakeinstall/usr/lib32/lib{gbm,glapi}.so* ${pkgdir}/usr/lib32/
+ cp -rv ${srcdir}/fakeinstall/usr/lib32/libOSMesa.so* ${pkgdir}/usr/lib32/
+ cp -rv ${srcdir}/fakeinstall/usr/lib32/libwayland*.so* ${pkgdir}/usr/lib32/
+ cp -rv ${srcdir}/fakeinstall/usr/lib32/libswrAVX*.so* ${pkgdir}/usr/lib32/
+
+ cp -rv ${srcdir}/fakeinstall/usr/lib32/pkgconfig ${pkgdir}/usr/lib32/
+
+ # libglvnd support
+ cp -rv ${srcdir}/fakeinstall/usr/lib32/libGLX_mesa.so* ${pkgdir}/usr/lib32/
+ cp -rv ${srcdir}/fakeinstall/usr/lib32/libEGL_mesa.so* ${pkgdir}/usr/lib32/
+ # indirect rendering
+ ln -s /usr/lib32/libGLX_mesa.so.0 ${pkgdir}/usr/lib32/libGLX_indirect.so.0
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/lib32-mesa"
+ install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/lib32-mesa/"
+}
More information about the arch-commits
mailing list