[packages/Mesa] - more ARM drivers - ifarch x86 where needed - build swr AVX modules on x86

qboosh qboosh at pld-linux.org
Thu Feb 16 22:04:45 CET 2017


commit fae799e66210478eff830aa7e23c8a39e7e678a2
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Thu Feb 16 22:06:32 2017 +0100

    - more ARM drivers
    - ifarch x86 where needed
    - build swr AVX modules on x86

 Mesa-link.patch | 17 ++++++++++
 Mesa.spec       | 97 ++++++++++++++++++++++++++++++++++++++++++++-------------
 2 files changed, 92 insertions(+), 22 deletions(-)
---
diff --git a/Mesa.spec b/Mesa.spec
index 0c4ed5c..39ce9df 100644
--- a/Mesa.spec
+++ b/Mesa.spec
@@ -4,7 +4,6 @@
 # - consider:
 # - subpackage with non-dri libGL for use with X-servers with missing GLX extension?
 # - resurrect static if it's useful (using plain xorg target? DRI doesn't support static)
-# - libglvnd?
 #
 # Conditional build:
 %bcond_without	gallium		# gallium drivers
@@ -37,7 +36,11 @@
 # minimal supported xserver version
 %define		xserver_ver		1.5.0
 # other packages
+%ifarch %{arm}
+%define		libdrm_ver		2.4.74
+%else
 %define		libdrm_ver		2.4.71
+%endif
 %define		dri2proto_ver		2.6
 %define		dri3proto_ver		1.0
 %define		glproto_ver		1.4.14
@@ -68,12 +71,13 @@ License:	MIT (core) and others - see license.html file
 Group:		X11/Libraries
 Source0:	ftp://ftp.freedesktop.org/pub/mesa/mesa-%{version}.tar.xz
 # Source0-md5:	932e4171a86b14940c06812356486155
+Patch0:		%{name}-link.patch
 URL:		http://www.mesa3d.org/
 BuildRequires:	autoconf >= 2.60
 BuildRequires:	automake
 %{?with_opencl:BuildRequires:	clang-devel >= 3.1}
 BuildRequires:	elfutils-devel
-BuildRequires:	expat-devel
+BuildRequires:	expat-devel >= 1.95
 BuildRequires:	gcc >= 6:4.2.0
 %{?with_nine:BuildRequires:	gcc-c++ >= 6:4.6}
 %{?with_opencl:BuildRequires:	gcc-c++ >= 6:4.7}
@@ -159,7 +163,7 @@ Requires:	%{name}-libglapi = %{version}-%{release}
 Requires:	OpenGL >= 1.2
 Requires:	libdrm >= %{libdrm_ver}
 Requires:	libxcb >= 1.9
-%{?with_wayland:Requires:	wayland >= 1.2.0}
+%{?with_wayland:Requires:	wayland >= 1.11.0}
 %if %{with gbm}
 Requires:	%{name}-libgbm = %{version}-%{release}
 %endif
@@ -562,7 +566,8 @@ Requires:	libva >= 1.6.0
 VA driver for ATI Radeon adapters based on Southern Islands chips.
 
 %description -n libva-driver-radeonsi -l pl.UTF-8
-Sterownik VA dla kart ATI Radeon opartych na układach Southern Islands.
+Sterownik VA dla kart ATI Radeon opartych na układach Southern
+Islands.
 
 %package -n libva-driver-nouveau
 Summary:	VA driver for NVidia adapters
@@ -758,6 +763,21 @@ X.org DRI driver for ATI Southern Islands card family.
 %description dri-driver-ati-radeon-SI -l pl.UTF-8
 Sterownik X.org DRI dla rodziny kart ATI Southern Islands.
 
+%package dri-driver-etnaviv
+Summary:	X.org DRI driver for Vivante 3D chips
+Summary(pl.UTF-8):	Sterownik X.org DRI dla układów Vivante 3D
+License:	MIT
+Group:		X11/Libraries
+#Requires:	xorg-driver-video-?
+Requires:	xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires:	xorg-xserver-server >= %{xserver_ver}
+
+%description dri-driver-etnaviv
+X.org DRI driver for Vivante 3D chips.
+
+%description dri-driver-etnaviv -l pl.UTF-8
+Sterownik X.org DRI dla układów Vivante 3D.
+
 %package dri-driver-freedreno
 Summary:	X.org DRI driver for Adreno chips
 Summary(pl.UTF-8):	Sterownik X.org DRI dla układów Adreno
@@ -1036,6 +1056,22 @@ virtual video adapter.
 Sterownik vmwgfx dla dynamicznego systemu potoków szkieletu Mesa
 Gallium. Obsługuje wirtualną kartę graficzną VMware.
 
+%package swr
+Summary:	OpenSWR software rasterizer modules for Mesa
+Summary(pl.UTF-8):	Moduły programowego rasteryzera OpenSWR dla Mesy
+Group:		Libraries
+Requires:	cpuinfo(avx)
+
+%description swr
+OpenSWR software rasterizer modules for Mesa, utilizing x86 AVX or
+VX2 instruction sets. They can be loaded by swrast pipe driver or
+OSMesa library.
+
+%description swr -l pl.UTF-8
+Moduły programowego rasteryzera OpenSWR dla Mesy, wykorzystujące
+zestawy instrukcji x86 AVX lub AVX2. Mogą być wczytywane przez
+sterownik potoków swrast lub bibliotekę OSMesa.
+
 %package d3d
 Summary:	Nine Direct3D9 driver (for Wine)
 Summary(pl.UTF-8):	Sterownik Direct3D9 Nine (dla Wine)
@@ -1242,6 +1278,7 @@ radv - eksperymentalny sterownik Vulkan dla GPU firmy AMD.
 
 %prep
 %setup -q -n mesa-%{version}
+%patch0 -p1
 
 %build
 %{__libtoolize}
@@ -1249,42 +1286,41 @@ radv - eksperymentalny sterownik Vulkan dla GPU firmy AMD.
 %{__autoconf}
 %{__automake}
 
-dri_drivers="r200 radeon \
-%if %{without gallium_i915}
-i915 \
+dri_drivers="nouveau r200 radeon swrast \
+%ifarch %{ix86} %{x8664} x32
+i965 %{!?with_gallium_i915:i915} \
 %endif
-i965 \
-nouveau \
-%ifarch sparc sparcv9 sparc64
-ffb \
-%endif
-swrast"
+"
 
 dri_drivers=$(echo $dri_drivers | xargs | tr ' ' ',')
 
-gallium_drivers="svga swrast \
-%if %{with gallium_i915}
-i915 \
+gallium_drivers="svga swrast virgl \
+%ifarch %{ix86} %{x8664} x32
+swr ilo %{?with_gallium_i915:i915} \
 %endif
 %if %{with gallium_radeon}
-r300 \
-r600 \
-radeonsi \
+r300 r600 radeonsi \
 %endif
 %if %{with gallium_nouveau}
 nouveau
 %endif
-ilo \
-virgl \
 %ifarch %{arm}
+etnaviv \
 freedreno \
+imx \
 vc4 \
 %endif
 "
 
 gallium_drivers=$(echo $gallium_drivers | xargs | tr ' ' ',')
 
-vulkan_drivers="intel%{?with_radv:,radeon}"
+vulkan_drivers="%{?with_radv:radeon} \
+%ifarch %{ix86} %{x8664} x32
+intel \
+%endif
+"
+
+vulkan_drivers=$(echo $vulkan_drivers | xargs | tr ' ' ',')
 
 %configure \
 	--disable-silent-rules \
@@ -1672,6 +1708,16 @@ rm -rf $RPM_BUILD_ROOT
 
 %if %{with gallium}
 %ifarch %{arm}
+%files dri-driver-etnaviv
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/etnaviv_dri.so
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/imx-drm_dri.so
+
+%files dri-driver-freedreno
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/kgsl_dri.so
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/msm_dri.so
+
 %files dri-driver-vc4
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vc4_dri.so
@@ -1730,6 +1776,13 @@ rm -rf $RPM_BUILD_ROOT
 %files pipe-driver-vmwgfx
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/gallium-pipe/pipe_vmwgfx.so
+
+%ifarch %{ix86} %{x8664} x32
+%files swr
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libswrAVX.so
+%attr(755,root,root) %{_libdir}/libswrAVX2.so
+%endif
 %endif
 
 %if %{with nine}
diff --git a/Mesa-link.patch b/Mesa-link.patch
new file mode 100644
index 0000000..47503f5
--- /dev/null
+++ b/Mesa-link.patch
@@ -0,0 +1,17 @@
+--- mesa-17.0.0/src/gallium/drivers/swr/Makefile.am.orig	2017-02-16 16:55:35.492796001 +0100
++++ mesa-17.0.0/src/gallium/drivers/swr/Makefile.am	2017-02-16 16:55:38.929462627 +0100
+@@ -159,11 +159,13 @@
+ COMMON_LIBADD = \
+ 	$(top_builddir)/src/gallium/auxiliary/libgallium.la \
+ 	$(top_builddir)/src/mesa/libmesagallium.la \
+-	$(LLVM_LIBS)
++	$(LLVM_LIBS) \
++	-lpthread -ldl
+ 
+ COMMON_LDFLAGS = \
+ 	-shared \
+ 	-module \
++	-avoid-version \
+ 	-no-undefined \
+ 	$(GC_SECTIONS) \
+ 	$(NO_UNDEFINED) \
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/Mesa.git/commitdiff/fae799e66210478eff830aa7e23c8a39e7e678a2



More information about the pld-cvs-commit mailing list