extra/mesa to 17.1.0-1

This commit is contained in:
Kevin Mihelich 2017-05-20 15:32:37 +00:00
parent 562a0267a7
commit 0ee13f022a
6 changed files with 101 additions and 4103 deletions

View file

@ -1,82 +0,0 @@
From 16875ea5b9170f2213fd486d763f27a9d6dfc1b5 Mon Sep 17 00:00:00 2001
From: Nicolas Chauvet <kwizart@gmail.com>
Date: Tue, 25 Oct 2016 09:35:13 +0200
Subject: [PATCH 1/3] glapi: Link with glapi when built shared
This patch explicitly links to libglapi when built shared.
This was specially needed to avoid undefined non-weak-symbol as shown
with:
ldd -r /usr/lib64/dri/i915_dri.so
linux-vdso.so.1 (0x00007fff821f4000)
libdrm_intel.so.1 => /lib64/libdrm_intel.so.1 (0x00007f6adf2c7000)
libdrm_nouveau.so.2 => /lib64/libdrm_nouveau.so.2 (0x00007f6adf0be000)
libdrm_radeon.so.1 => /lib64/libdrm_radeon.so.1 (0x00007f6adeeb2000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f6adec8b000)
libdrm.so.2 => /lib64/libdrm.so.2 (0x00007f6adea7c000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f6ade84f000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f6ade633000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f6ade42f000)
libm.so.6 => /lib64/libm.so.6 (0x00007f6ade125000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f6addf0e000)
libc.so.6 => /lib64/libc.so.6 (0x00007f6addb4c000)
/lib64/ld-linux-x86-64.so.2 (0x000056274e913000)
libpciaccess.so.0 => /lib64/libpciaccess.so.0 (0x00007f6add941000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f6add6ce000)
undefined symbol: _glapi_get_dispatch_table_size (/usr/lib64/dri/i915_dri.so)
undefined symbol: _glapi_get_context (/usr/lib64/dri/i915_dri.so)
undefined symbol: _glapi_add_dispatch (/usr/lib64/dri/i915_dri.so)
undefined symbol: _glapi_check_multithread (/usr/lib64/dri/i915_dri.so)
undefined symbol: _glapi_tls_Context (/usr/lib64/dri/i915_dri.so)
undefined symbol: _glapi_set_context (/usr/lib64/dri/i915_dri.so)
undefined symbol: _glapi_set_dispatch (/usr/lib64/dri/i915_dri.so)
undefined symbol: _glapi_tls_Dispatch (/usr/lib64/dri/i915_dri.so)
v3: Add gallium counterpart for radeon cases
Reported-by: Jonathan Dieter <jdieter@lesbg.com>
v2: Add Bugzilla and Signed-off
Fixes: 0cbc90c57c ("mesa: dri: Add shared glapi to LIBADD on Android")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98428
Signed-off-by: Nicolas Chauvet <kwizart@gmail.com>
---
src/gallium/targets/dri/Makefile.am | 2 --
src/mesa/drivers/dri/Makefile.am | 3 ---
2 files changed, 5 deletions(-)
diff --git a/src/gallium/targets/dri/Makefile.am b/src/gallium/targets/dri/Makefile.am
index bca747f..05f6c8c 100644
--- a/src/gallium/targets/dri/Makefile.am
+++ b/src/gallium/targets/dri/Makefile.am
@@ -1,10 +1,8 @@
include $(top_srcdir)/src/gallium/Automake.inc
-if HAVE_ANDROID
if HAVE_SHARED_GLAPI
SHARED_GLAPI_LIB = $(top_builddir)/src/mapi/shared-glapi/libglapi.la
endif
-endif
AM_CFLAGS = \
-I$(top_srcdir)/src/mapi \
diff --git a/src/mesa/drivers/dri/Makefile.am b/src/mesa/drivers/dri/Makefile.am
index 1c6dd08..8e68fc0 100644
--- a/src/mesa/drivers/dri/Makefile.am
+++ b/src/mesa/drivers/dri/Makefile.am
@@ -6,12 +6,9 @@ MEGADRIVERS_DEPS =
SUBDIRS+=common
-# On Android, we need to explicitly link to libglapi.so.
-if HAVE_ANDROID
if HAVE_SHARED_GLAPI
SHARED_GLAPI_LIB = $(top_builddir)/src/mapi/shared-glapi/libglapi.la
endif
-endif
if HAVE_I915_DRI
SUBDIRS += i915
--
2.7.4

View file

@ -0,0 +1,88 @@
From efa4f2ebc1e788c3f1cfcf3842058cf838171653 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Mon, 20 Mar 2017 08:41:26 +0100
Subject: [PATCH] glxglvnddispatch: Add missing dispatch for GetDriverConfig
Together with some fixes to xdriinfo this fixes xdriinfo not working
with glvnd.
Since apps (xdriinfo) expect GetDriverConfig to work without going to
need through the dance to setup a glxcontext (which is a reasonable
expectation IMHO), the dispatch for this ends up significantly different
then any other dispatch function.
This patch gets the job done, but I'm not really happy with how this
patch turned out, suggestions for a better fix are welcome.
Cc: Kyle Brenneman <kbrenneman@nvidia.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
src/glx/g_glxglvnddispatchfuncs.c | 18 ++++++++++++++++++
src/glx/g_glxglvnddispatchindices.h | 1 +
2 files changed, 19 insertions(+)
diff --git a/src/glx/g_glxglvnddispatchfuncs.c b/src/glx/g_glxglvnddispatchfuncs.c
index b5e3398..040cdf8 100644
--- a/src/glx/g_glxglvnddispatchfuncs.c
+++ b/src/glx/g_glxglvnddispatchfuncs.c
@@ -4,6 +4,7 @@
*/
#include <stdlib.h>
+#include "glxclient.h"
#include "glxglvnd.h"
#include "glxglvnddispatchfuncs.h"
#include "g_glxglvnddispatchindices.h"
@@ -50,6 +51,7 @@ const char * const __glXDispatchTableStrings[DI_LAST_INDEX] = {
__ATTRIB(GetCurrentDisplayEXT),
// glXGetCurrentDrawable implemented by libglvnd
// glXGetCurrentReadDrawable implemented by libglvnd
+ __ATTRIB(GetDriverConfig),
// glXGetFBConfigAttrib implemented by libglvnd
__ATTRIB(GetFBConfigAttribSGIX),
__ATTRIB(GetFBConfigFromVisualSGIX),
@@ -334,6 +336,21 @@ static Display *dispatch_GetCurrentDisplayEXT(void)
+static const char *dispatch_GetDriverConfig(const char *driverName)
+{
+ /*
+ * The options are constant for a given driverName, so we do not need
+ * a context (and apps expect to be able to call this without one).
+ */
+#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
+ return glXGetDriverConfig(driverName);
+#else
+ return NULL;
+#endif
+}
+
+
+
static int dispatch_GetFBConfigAttribSGIX(Display *dpy, GLXFBConfigSGIX config,
int attribute, int *value_return)
{
@@ -939,6 +956,7 @@ const void * const __glXDispatchFunctions[DI_LAST_INDEX + 1] = {
__ATTRIB(DestroyGLXPbufferSGIX),
__ATTRIB(GetContextIDEXT),
__ATTRIB(GetCurrentDisplayEXT),
+ __ATTRIB(GetDriverConfig),
__ATTRIB(GetFBConfigAttribSGIX),
__ATTRIB(GetFBConfigFromVisualSGIX),
__ATTRIB(GetMscRateOML),
diff --git a/src/glx/g_glxglvnddispatchindices.h b/src/glx/g_glxglvnddispatchindices.h
index 05a2c8c..3ba50a7 100644
--- a/src/glx/g_glxglvnddispatchindices.h
+++ b/src/glx/g_glxglvnddispatchindices.h
@@ -39,6 +39,7 @@ typedef enum __GLXdispatchIndex {
DI_GetCurrentDisplayEXT,
// GetCurrentDrawable implemented by libglvnd
// GetCurrentReadDrawable implemented by libglvnd
+ DI_GetDriverConfig,
// GetFBConfigAttrib implemented by libglvnd
DI_GetFBConfigAttribSGIX,
DI_GetFBConfigFromVisualSGIX,
--
2.9.3

View file

@ -1,33 +0,0 @@
From 2d4094c2caad6cef2f5544b3966fcc37ceb32036 Mon Sep 17 00:00:00 2001
From: Kyle Brenneman <kbrenneman@nvidia.com>
Date: Thu, 5 Jan 2017 14:29:47 -0700
Subject: [PATCH 2/2] fixup! EGL: Implement the libglvnd interface for EGL (v2)
---
src/egl/generate/eglFunctionList.py | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/egl/generate/eglFunctionList.py b/src/egl/generate/eglFunctionList.py
index b19b5f7193..80cb83437c 100644
--- a/src/egl/generate/eglFunctionList.py
+++ b/src/egl/generate/eglFunctionList.py
@@ -53,12 +53,14 @@ method values:
Select the vendor that owns the current context.
"""
-def _eglFunc(name, method, static=False, public=False, inheader=None, prefix="", extension=None, retval=None):
+def _eglFunc(name, method, static=None, public=False, inheader=None, prefix="dispatch_", extension=None, retval=None):
"""
A convenience function to define an entry in the EGL function list.
"""
+ if static is None:
+ static = (not public and method != "custom")
if inheader is None:
- inheader = (not public)
+ inheader = (not static)
values = {
"method" : method,
"prefix" : prefix,
--
2.11.0

View file

@ -7,30 +7,24 @@
pkgbase=mesa
pkgname=('mesa' 'libva-mesa-driver')
pkgver=17.0.5
pkgver=17.1.0
pkgrel=1
arch=('i686' 'x86_64')
makedepends=('python2-mako' 'libxml2' 'libx11' 'glproto' 'libdrm' 'dri2proto' 'dri3proto' 'presentproto'
'libxshmfence' 'libxxf86vm' 'libxdamage' 'libvdpau' 'libva' 'wayland' 'elfutils' 'llvm'
'libomxil-bellagio' 'clang' 'libglvnd')
'libomxil-bellagio' 'clang' 'libglvnd' 'libunwind' 'lm_sensors')
url="http://mesa3d.sourceforge.net"
license=('custom')
source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
LICENSE
remove-libpthread-stubs.patch
0001-EGL-Implement-the-libglvnd-interface-for-EGL-v2.patch
0001-Fix-linkage-against-shared-glapi.patch
0001-glapi-Link-with-glapi-when-built-shared.patch
0002-fixup-EGL-Implement-the-libglvnd-interface-for-EGL-v.patch
0001-glxglvnddispatch-Add-missing-dispatch-for-GetDriverC.patch
glvnd-fix-gl-dot-pc.patch)
sha256sums=('668efa445d2f57a26e5c096b1965a685733a3b57d9c736f9d6460263847f9bfe'
sha256sums=('cf234a6ed4764673886b6661553b54675776ef0898f774716173cec890ac3b17'
'SKIP'
'7fdc119cf53c8ca65396ea73f6d10af641ba41ea1dd2bd44a824726e01c8b3f2'
'75ab53ad44b95204c788a2988e97a5cb963bdbf6072a5466949a2afb79821c8f'
'1d3475dc2f4f3e450cf313130d3ce965f933f396058828fa843c0df8115feeb9'
'c68d1522f9bce4ce31c92aa7a688da49f13043f5bb2254795b76dea8f47130b7'
'064dcd5a3ab1b7c23383e2cafbd37859e4c353f8839671d9695c6f7c2ef3260b'
'81d0ced62f61677ea0cf5f69a491093409fa1370f2ef045c41106ca8bf9c46f6'
'4a0620f9197a65f830e3c512faba374a4bde45fee9e11f82321774c24d08232d'
'64a77944a28026b066c1682c7258d02289d257b24b6f173a9f7580c48beed966')
validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D') # Emil Velikov <emil.l.velikov@gmail.com>
validpgpkeys+=('946D09B5E4C9845E63075FF1D961C596A7203456') # "Andres Gomez <tanty@igalia.com>"
@ -38,17 +32,11 @@ validpgpkeys+=('946D09B5E4C9845E63075FF1D961C596A7203456') # "Andres Gomez <tan
prepare() {
cd ${srcdir}/mesa-${pkgver}
# Now mesa checks for libpthread-stubs - so remove the check
patch -Np1 -i ../remove-libpthread-stubs.patch
# glvnd support patches - from Fedora
# https://patchwork.freedesktop.org/series/12354/, v3 & v4
patch -Np1 -i ../0001-EGL-Implement-the-libglvnd-interface-for-EGL-v2.patch
patch -Np1 -i ../0002-fixup-EGL-Implement-the-libglvnd-interface-for-EGL-v.patch
# non-upstreamed ones
patch -Np1 -i ../glvnd-fix-gl-dot-pc.patch
patch -Np1 -i ../0001-Fix-linkage-against-shared-glapi.patch
patch -Np1 -i ../0001-glapi-Link-with-glapi-when-built-shared.patch
patch -Np1 -i ../0001-glxglvnddispatch-Add-missing-dispatch-for-GetDriverC.patch
autoreconf -fiv
}
@ -63,12 +51,14 @@ build() {
--with-dri-driverdir=/usr/lib/xorg/modules/dri \
--with-gallium-drivers=freedreno,nouveau,swrast,virgl,vc4${GALLIUM} \
--with-dri-drivers=nouveau,swrast \
--with-egl-platforms=x11,drm,wayland \
--with-platforms=x11,drm,wayland \
--disable-xvmc \
--enable-gallium-llvm \
--enable-llvm \
--enable-llvm-shared-libs \
--enable-shared-glapi \
--enable-libglvnd \
--enable-libunwind \
--enable-lmsensors \
--enable-egl \
--enable-glx \
--enable-glx-tls \
@ -77,11 +67,11 @@ build() {
--enable-gbm \
--enable-dri \
--enable-gallium-osmesa \
--enable-gallium-extra-hud \
--enable-texture-float \
--enable-omx \
--enable-nine \
--with-clang-libdir=/usr/lib
#--with-sha1=libgcrypt \
make
@ -92,7 +82,7 @@ build() {
package_libva-mesa-driver() {
pkgdesc="VA-API implementation for gallium"
depends=('libdrm' 'libx11' 'llvm-libs' 'expat' 'libelf' 'libxshmfence')
depends=('libdrm' 'libx11' 'llvm-libs' 'expat' 'libelf' 'libxshmfence' 'lm_sensors' 'libunwind')
install -m755 -d ${pkgdir}/usr/lib
cp -rv ${srcdir}/fakeinstall/usr/lib/dri ${pkgdir}/usr/lib
@ -104,7 +94,7 @@ package_libva-mesa-driver() {
package_mesa() {
pkgdesc="an open-source implementation of the OpenGL specification"
depends=('libdrm' 'wayland' 'libxxf86vm' 'libxdamage' 'libxshmfence' 'libelf'
'libomxil-bellagio' 'libtxc_dxtn' 'llvm-libs' 'libglvnd')
'libomxil-bellagio' 'libtxc_dxtn' 'libunwind' 'llvm-libs' 'lm_sensors' 'libglvnd')
optdepends=('opengl-man-pages: for the OpenGL API man pages'
'mesa-vdpau: for accelerated video playback'
'libva-mesa-driver: for accelerated video playback')

View file

@ -1,13 +0,0 @@
diff --git a/configure.ac b/configure.ac
index 54416b4..8a708d3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -824,7 +824,7 @@ test -z "$PTHREAD_LIBS" && PTHREAD_LIBS="-lpthread"
dnl pthread-stubs is mandatory on targets where it exists
case "$host_os" in
-cygwin* )
+cygwin* | linux* )
pthread_stubs_possible="no"
;;
* )