From 075ec3a336f1d9aac760b576abbb68539acafde2 Mon Sep 17 00:00:00 2001 From: Jacek Konieczny Date: Sun, 17 Apr 2016 21:55:29 +0200 Subject: [PATCH] 11.3.0 snapshot includes Intel Vulkan driver --- Mesa.spec | 75 ++++++++++++++++++++++++++++++++++------ keep_git_sha.patch | 32 +++++++++++++++++ vulkan_icd-DESTDIR.patch | 10 ++++++ 3 files changed, 107 insertions(+), 10 deletions(-) create mode 100644 keep_git_sha.patch create mode 100644 vulkan_icd-DESTDIR.patch diff --git a/Mesa.spec b/Mesa.spec index 11b2ed5..9f50485 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -31,7 +31,7 @@ # 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 @@ -53,17 +53,21 @@ %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 @@ -77,11 +81,11 @@ BuildRequires: libselinux-devel 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 @@ -1158,10 +1162,40 @@ Radeon adapters based on Southern Islands chips. 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} @@ -1204,6 +1238,8 @@ vc4 \ gallium_drivers=$(echo $gallium_drivers | xargs | tr ' ' ',') +vulkan_drivers="intel" + %configure \ --disable-silent-rules \ %{__enable gbm} \ @@ -1228,6 +1264,7 @@ gallium_drivers=$(echo $gallium_drivers | xargs | tr ' ' ',') %{__enable ocl_icd opencl-icd} \ %{?with_nine:--enable-nine} \ %{__enable opencl} \ + %{__enable va} \ --enable-vdpau \ %{?with_omx:--enable-omx} \ %{?with_xa:--enable-xa} \ @@ -1238,9 +1275,13 @@ gallium_drivers=$(echo $gallium_drivers | xargs | tr ' ' ',') %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} @@ -1266,7 +1307,12 @@ rm -rf $RPM_BUILD_ROOT %{?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 @@ -1674,3 +1720,12 @@ rm -rf $RPM_BUILD_ROOT %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 diff --git a/keep_git_sha.patch b/keep_git_sha.patch new file mode 100644 index 0000000..044005b --- /dev/null +++ b/keep_git_sha.patch @@ -0,0 +1,32 @@ +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 = \ diff --git a/vulkan_icd-DESTDIR.patch b/vulkan_icd-DESTDIR.patch new file mode 100644 index 0000000..befd210 --- /dev/null +++ b/vulkan_icd-DESTDIR.patch @@ -0,0 +1,10 @@ +diff --git a/src/intel/vulkan/Makefile.am b/src/intel/vulkan/Makefile.am +index cba6671..5aedef8 100644 +--- a/src/intel/vulkan/Makefile.am ++++ b/src/intel/vulkan/Makefile.am +@@ -209,4 +209,4 @@ libvulkan_test_la_LIBADD = $(libvulkan_intel_la_LIBADD) + include $(top_srcdir)/install-lib-links.mk + + install-data-local: +- $(INSTALL_DATA) -D $(srcdir)/intel_icd.json $(VULKAN_ICD_INSTALL_DIR)/intel_icd.json ++ $(INSTALL_DATA) -D $(srcdir)/intel_icd.json $(DESTDIR)/$(VULKAN_ICD_INSTALL_DIR)/intel_icd.json -- 2.44.0