# minimal supported xserver version
%define xserver_ver 1.5.0
# other packages
-%define libdrm_ver 2.4.63
+%define libdrm_ver 2.4.66
%define dri2proto_ver 2.6
%define dri3proto_ver 1.0
%define glproto_ver 1.4.14
%undefine with_wayland
%endif
+%define snap 20160417
Summary: Free OpenGL implementation
Summary(pl.UTF-8): Wolnodostępna implementacja standardu OpenGL
Name: Mesa
-Version: 11.2.0
-Release: 1
+Version: 11.3.0
+Release: 0.s%{snap}.1
License: MIT (core) and others - see license.html file
Group: X11/Libraries
-Source0: ftp://ftp.freedesktop.org/pub/mesa/%{version}/mesa-%{version}.tar.xz
-# Source0-md5: aee389ef4fe00c4251fcb866ca3c510f
+# git archive --format=tar --prefix=Mesa-s20160417/ master | xz > ../Mesa-s20160417.tar.xz
+Source0: Mesa-s%{snap}.tar.xz
+# Source0-md5: 21dee106a08c2f91f31f542d4d2d4ee5
Patch0: missing-type.patch
Patch1: x32.patch
+Patch2: keep_git_sha.patch
+Patch3: vulkan_icd-DESTDIR.patch
URL: http://www.mesa3d.org/
BuildRequires: autoconf >= 2.60
BuildRequires: automake
BuildRequires: libstdc++-devel >= 6:4.2.0
BuildRequires: libtalloc-devel >= 2:2.0.1
BuildRequires: libtool >= 2:2.2
-%{?with_va:BuildRequires: libva-devel >= 1.3.0}
-%{?with_va:BuildRequires: pkgconfig(libva) >= 0.35.0}
+%{?with_va:BuildRequires: libva-devel >= 1.6.0}
+%{?with_va:BuildRequires: pkgconfig(libva) >= 0.38.0}
BuildRequires: libvdpau-devel >= 1.1
BuildRequires: libxcb-devel >= 1.10
-%{?with_gallium_radeon:BuildRequires: llvm-devel >= 3.4.2}
+%{?with_gallium_radeon:BuildRequires: llvm-devel >= 3.6}
%{?with_opencl:BuildRequires: llvm-libclc}
# for SHA1 (could use also libmd/libsha1/libgcrypt/openssl instead)
BuildRequires: nettle-devel
Sterownik Mesa radeonsi dla API Bellagio OpenMAX IL. Obsługuje karty
ATI Radeon oparte na układach Southern Islands.
+%package vulkan-icd-intel
+Summary: Mesa Vulkan driver for Intel GPUs
+Summary(pl.UTF-8): Sterownik Vulkan dla GPU Intel
+License: MIT
+Group: Libraries
+Suggests: vulkan(loader)
+Requires: libdrm >= %{libdrm_ver}
+Provides: vulkan(icd) = 1.0.3
+
+%description vulkan-icd-intel
+Mesa Vulkan driver for Intel GPUs.
+
+%description vulkan-icd-intel -l pl.UTF-8
+Sterownik Vulkan dla GPU Intela.
+
+%package vulkan-icd-intel-devel
+Summary: Header files for Mesa Intel GPU Vulkan driver
+Summary(pl.UTF-8): Pliki nagłówkowe sterownika Vulkan dla GPU Intel
+License: MIT
+Group: Development/Libraries
+Requires: %{name}-vulkan-icd-intel = %{version}-%{release}
+
+%description vulkan-icd-intel-devel
+eader files for Mesa Intel GPU Vulkan driver.
+
+%description vulkan-icd-intel-devel -l pl.UTF-8
+Pliki nagłówkowe sterownika Vulkan dla GPU Intel.
+
%prep
-%setup -q -n mesa-%{version}
+%setup -q -n Mesa-s%{snap}
%patch0 -p1
-%patch1 -p1
+#%patch1 -p1
+%patch2 -p1
+%patch3 -p1
%build
%{__libtoolize}
gallium_drivers=$(echo $gallium_drivers | xargs | tr ' ' ',')
+vulkan_drivers="intel"
+
%configure \
--disable-silent-rules \
%{__enable gbm} \
%{__enable ocl_icd opencl-icd} \
%{?with_nine:--enable-nine} \
%{__enable opencl} \
+ %{__enable va} \
--enable-vdpau \
%{?with_omx:--enable-omx} \
%{?with_xa:--enable-xa} \
%endif
--with-dri-drivers=${dri_drivers} \
--with-dri-driverdir=%{_libdir}/xorg/modules/dri \
+ --with-vulkan-drivers=${vulkan_drivers} \
+ --with-vulkan-icddir=/usr/share/vulkan/icd.d \
--with-sha1=libnettle \
--with-va-libdir=%{_libdir}/libva/dri
+echo "#define MESA_GIT_SHA1 \"$(xzcat %{SOURCE0}|git get-tar-commit-id|cut -c-7)\"" > src/mesa/main/git_sha1.h
+
%{__make}
%{?with_tests:%{__make} check}
%{?with_gallium:%{__rm} $RPM_BUILD_ROOT%{_libdir}/gallium-pipe/pipe_*.la}
# not defined by standards; and not needed, there is pkg-config support
%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
+%if %{with va}
%{?with_gallium:%{__rm} $RPM_BUILD_ROOT%{_libdir}/libva/dri/gallium_drv_video.la}
+%endif
+
+# these are provided by vulkan-devel
+rm -r $RPM_BUILD_ROOT%{_includedir}/vulkan/{vk_platform.h,vulkan.h}
# remove "OS ABI: Linux 2.4.20" tag, so private copies (nvidia or fglrx),
# set up via /etc/ld.so.conf.d/*.conf will be preferred over this
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/bellagio/libomx_mesa.so
%endif
+
+%files vulkan-icd-intel
+%defattr(644,root,root,755)
+%{_libdir}/libvulkan_intel.so
+%{_datadir}/vulkan/icd.d/*.json
+
+%files vulkan-icd-intel-devel
+%defattr(644,root,root,755)
+%{_includedir}/vulkan/vulkan_intel.h
--- /dev/null
+diff -dur -x '*~' Mesa-vulkan-s20160220.orig/src/mesa/Makefile.am Mesa-vulkan-s20160220/src/mesa/Makefile.am
+--- Mesa-vulkan-s20160220.orig/src/mesa/Makefile.am 2016-02-19 17:05:35.000000000 +0100
++++ Mesa-vulkan-s20160220/src/mesa/Makefile.am 2016-02-20 16:06:38.690371982 +0100
+@@ -36,28 +36,6 @@
+ gldir = $(includedir)/GL
+ gl_HEADERS = $(top_srcdir)/include/GL/*.h
+
+-.PHONY: main/git_sha1.h.tmp
+-main/git_sha1.h.tmp:
+- @# Don't assume that $(top_srcdir)/.git is a directory. It may be
+- @# a gitlink file if $(top_srcdir) is a submodule checkout or a linked
+- @# worktree.
+- @touch main/git_sha1.h.tmp
+- @if test -e $(top_srcdir)/.git; then \
+- if which git > /dev/null; then \
+- git --git-dir=$(top_srcdir)/.git log -n 1 --oneline | \
+- sed 's/^\([^ ]*\) .*/#define MESA_GIT_SHA1 "git-\1"/' \
+- > main/git_sha1.h.tmp ; \
+- fi \
+- fi
+-
+-main/git_sha1.h: main/git_sha1.h.tmp
+- @echo "updating main/git_sha1.h"
+- @if ! cmp -s main/git_sha1.h.tmp main/git_sha1.h; then \
+- mv main/git_sha1.h.tmp main/git_sha1.h ;\
+- else \
+- rm main/git_sha1.h.tmp ;\
+- fi
+-
+ include Makefile.sources
+
+ EXTRA_DIST = \