Add back libglvnd support again

Another build so that we can put it in the same bodhi update as the
libglvnd build and atomically push them out together.

This reverts commit 7eb9118390.
This commit is contained in:
Kalev Lember 2017-01-30 22:51:45 +01:00
parent 7eb9118390
commit 99164bf932
5 changed files with 4006 additions and 22 deletions

View File

@ -0,0 +1,26 @@
From 1b5a187c3c31513ae39cd2a917a3234c2c5f87fc Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Wed, 12 Oct 2016 13:41:33 -0400
Subject: [PATCH] Fix linkage against shared glapi
Signed-off-by: Adam Jackson <ajax@redhat.com>
---
src/gallium/targets/osmesa/Makefile.am | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/gallium/targets/osmesa/Makefile.am b/src/gallium/targets/osmesa/Makefile.am
index 5d39486..04add87 100644
--- a/src/gallium/targets/osmesa/Makefile.am
+++ b/src/gallium/targets/osmesa/Makefile.am
@@ -63,7 +63,7 @@ lib@OSMESA_LIB@_la_LIBADD = \
$(top_builddir)/src/gallium/drivers/trace/libtrace.la \
$(top_builddir)/src/gallium/drivers/softpipe/libsoftpipe.la \
$(top_builddir)/src/gallium/state_trackers/osmesa/libosmesa.la \
- $(top_builddir)/src/mapi/glapi/libglapi.la \
+ $(top_builddir)/src/mapi/shared-glapi/libglapi.la \
$(SHARED_GLAPI_LIB) \
$(OSMESA_LIB_DEPS) \
$(CLOCK_LIB)
--
2.9.3

3855
0001-egl-glvnd-support.patch Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,82 @@
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

12
glvnd-fix-gl-dot-pc.patch Normal file
View File

@ -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@GL_LIB@
+Libs: -L${libdir} -lGL
Libs.private: @GL_PC_LIB_PRIV@
Cflags: -I${includedir} @GL_PC_CFLAGS@
glx_tls: @GLX_TLS@

View File

@ -59,7 +59,7 @@
Name: mesa
Summary: Mesa graphics libraries
Version: 13.0.3
Release: 5%{?rctag:.%{rctag}}%{?dist}
Release: 6%{?rctag:.%{rctag}}%{?dist}
License: MIT
URL: http://www.mesa3d.org
@ -78,6 +78,12 @@ Patch2: 0002-hardware-gloat.patch
Patch3: 0003-evergreen-big-endian.patch
Patch4: 0004-bigendian-assert.patch
# glvnd support patches
Patch11: 0001-egl-glvnd-support.patch
Patch12: glvnd-fix-gl-dot-pc.patch
Patch13: 0001-Fix-linkage-against-shared-glapi.patch
Patch14: 0001-glapi-Link-with-glapi-when-built-shared.patch
# regression fix should be in 13.0.4
Patch15: mesa-13.0-fix-radeonsi-tess.patch
@ -113,6 +119,7 @@ BuildRequires: clang-devel >= 3.0
%endif
BuildRequires: elfutils-libelf-devel
BuildRequires: libxml2-python
BuildRequires: libudev-devel
BuildRequires: bison flex
%if %{with wayland}
BuildRequires: pkgconfig(wayland-client)
@ -137,6 +144,10 @@ BuildRequires: nettle-devel
%endif
BuildRequires: python-mako
BuildRequires: libstdc++-static
%ifarch %{valgrind_arches}
BuildRequires: pkgconfig(valgrind)
%endif
BuildRequires: libglvnd-core-devel
%description
%{summary}.
@ -152,8 +163,7 @@ Obsoletes: mesa-dri-filesystem < %{?epoch:%{epoch}}%{version}-%{release}
%package libGL
Summary: Mesa libGL runtime libraries
Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release}
Provides: libGL
Provides: libGL%{?_isa}
Requires: libglvnd-glx%{?_isa}
%description libGL
%{summary}.
@ -161,6 +171,7 @@ Provides: libGL%{?_isa}
%package libGL-devel
Summary: Mesa libGL development package
Requires: %{name}-libGL%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release}
Requires: libglvnd-devel%{?_isa}
Provides: libGL-devel
Provides: libGL-devel%{?_isa}
@ -169,8 +180,7 @@ Provides: libGL-devel%{?_isa}
%package libEGL
Summary: Mesa libEGL runtime libraries
Provides: libEGL
Provides: libEGL%{?_isa}
Requires: libglvnd-egl%{?_isa}
%description libEGL
%{summary}.
@ -178,6 +188,7 @@ Provides: libEGL%{?_isa}
%package libEGL-devel
Summary: Mesa libEGL development package
Requires: %{name}-libEGL%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release}
Requires: libglvnd-devel%{?_isa}
Provides: libEGL-devel
Provides: libEGL-devel%{?_isa}
@ -187,8 +198,7 @@ Provides: libEGL-devel%{?_isa}
%package libGLES
Summary: Mesa libGLES runtime libraries
Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release}
Provides: libGLES
Provides: libGLES%{?_isa}
Requires: libglvnd-gles%{?_isa}
%description libGLES
%{summary}.
@ -196,6 +206,7 @@ Provides: libGLES%{?_isa}
%package libGLES-devel
Summary: Mesa libGLES development package
Requires: %{name}-libGLES%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release}
Requires: libglvnd-devel%{?_isa}
Provides: libGLES-devel
Provides: libGLES-devel%{?_isa}
@ -383,6 +394,7 @@ export LDFLAGS="-static-libstdc++"
%configure \
%{?asm_flags} \
--enable-libglvnd \
--enable-selinux \
--enable-gallium-osmesa \
--with-dri-driverdir=%{_libdir}/dri \
@ -436,6 +448,11 @@ rm -f %{buildroot}%{_sysconfdir}/drirc
# libvdpau opens the versioned name, don't bother including the unversioned
rm -f %{buildroot}%{_libdir}/vdpau/*.so
# likewise glvnd
rm -f %{buildroot}%{_libdir}/libGLX_mesa.so
rm -f %{buildroot}%{_libdir}/libEGL_mesa.so
# XXX can we just not build this
rm -f %{buildroot}%{_libdir}/libGLES*
# strip out useless headers
rm -f %{buildroot}%{_includedir}/GL/w*.h
@ -465,11 +482,8 @@ popd
%endif
%endif
%post libGL -p /sbin/ldconfig
%postun libGL -p /sbin/ldconfig
%files libGL
%{_libdir}/libGL.so.1
%{_libdir}/libGL.so.1.*
%{_libdir}/libGLX_mesa.so.0*
%files libGL-devel
%{_includedir}/GL/gl.h
%{_includedir}/GL/gl_mangle.h
@ -482,15 +496,12 @@ popd
%{_includedir}/GL/internal/dri_interface.h
%{_includedir}/GL/mesa_glinterop.h
%{_libdir}/pkgconfig/dri.pc
%{_libdir}/libGL.so
%{_libdir}/libglapi.so
%{_libdir}/pkgconfig/gl.pc
%post libEGL -p /sbin/ldconfig
%postun libEGL -p /sbin/ldconfig
%files libEGL
%{_libdir}/libEGL.so.1
%{_libdir}/libEGL.so.1.*
%{_datadir}/glvnd/egl_vendor.d/50_mesa.json
%{_libdir}/libEGL_mesa.so.0*
%files libEGL-devel
%dir %{_includedir}/EGL
%{_includedir}/EGL/eglext.h
@ -501,13 +512,9 @@ popd
%dir %{_includedir}/KHR
%{_includedir}/KHR/khrplatform.h
%{_libdir}/pkgconfig/egl.pc
%{_libdir}/libEGL.so
%post libGLES -p /sbin/ldconfig
%postun libGLES -p /sbin/ldconfig
%files libGLES
%{_libdir}/libGLESv2.so.2
%{_libdir}/libGLESv2.so.2.*
# No files, all provided by libglvnd
%files libGLES-devel
%dir %{_includedir}/GLES2
%{_includedir}/GLES2/gl2platform.h
@ -520,7 +527,6 @@ popd
%{_includedir}/GLES3/gl31.h
%{_includedir}/GLES3/gl32.h
%{_libdir}/pkgconfig/glesv2.pc
%{_libdir}/libGLESv2.so
%post libglapi -p /sbin/ldconfig
%postun libglapi -p /sbin/ldconfig
@ -676,6 +682,9 @@ popd
%endif
%changelog
* Mon Jan 30 2017 Kalev Lember <klember@redhat.com> - 13.0.3-6
- Add back libglvnd support again
* Mon Jan 30 2017 Kalev Lember <klember@redhat.com> - 13.0.3-5
- Temporarily revert libglvnd support