#
# TODO:
-# - check if gallium_intel note is still valid, switch the bcond if not
+# - check if gallium_i915 note is still valid, switch the bcond if not
# - consider:
-# - ARM drivers (ilo,freedreno,vc4)?
# - 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)
#
# Conditional build:
%bcond_without gallium # gallium drivers
-%bcond_with gallium_intel # gallium i915 driver (instead of plain dri; doesn't work with AIGLX)
+%bcond_with gallium_i915 # gallium i915 Intel driver (instead of plain dri; doesn't work with AIGLX)
%bcond_without gallium_nouveau # gallium nouveau driver
%bcond_without gallium_radeon # gallium radeon drivers
%bcond_without egl # EGL libraries
# minimal supported xserver version
%define xserver_ver 1.5.0
# other packages
-%define libdrm_ver 2.4.60
+%define libdrm_ver 2.4.66
%define dri2proto_ver 2.6
%define dri3proto_ver 1.0
%define glproto_ver 1.4.14
%define presentproto_ver 1.0
-# no clang/llvm on x32 yet
-%ifarch x32
-%undefine with_gallium
-%endif
-
%if %{without gallium}
-%undefine with_gallium_intel
+%undefine with_gallium_i915
%undefine with_gallium_nouveau
%undefine with_gallium_radeon
%undefine with_nine
%undefine with_wayland
%endif
+%define snap 20160418
+%define rel 1
Summary: Free OpenGL implementation
Summary(pl.UTF-8): Wolnodostępna implementacja standardu OpenGL
Name: Mesa
-Version: 10.6.2
-Release: 1
+Version: 11.3.0
+Release: 0.s%{snap}.%{rel}
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: 3402949cae357ddf61a24c2518e87c22
+# git archive --format=tar --prefix=Mesa-s20160418/ master | xz > ../Mesa-s20160418.tar.xz
+Source0: Mesa-s%{snap}.tar.xz
+# Source0-md5: 9837de67444fdf54ab837788ef342076
Patch0: missing-type.patch
+Patch1: keep_git_sha.patch
+Patch2: 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}
-BuildRequires: libvdpau-devel >= 0.4.1
+%{?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
%if %{with gbm}
Requires: %{name}-libgbm = %{version}-%{release}
%endif
-Provides: EGL = 1.4
+Provides: EGL = 1.5
%description libEGL
This package contains shared libEGL - Mesa implementation of EGL
Requires: xorg-lib-libXxf86vm-devel
Requires: xorg-proto-dri2proto-devel >= %{dri2proto_ver}
Requires: xorg-proto-glproto-devel >= %{glproto_ver}
-Provides: EGL-devel = 1.4
+Provides: EGL-devel = 1.5
%description libEGL-devel
Header files for Mesa implementation of EGL library.
License: MIT
Group: Development/Libraries
Requires: %{name}-libEGL-devel = %{version}-%{release}
-Provides: EGL-static = 1.4
+Provides: EGL-static = 1.5
%description libEGL-static
Static Mesa EGL library.
Group: X11/Libraries
Requires: %{name}-libglapi = %{version}-%{release}
Requires: libdrm >= %{libdrm_ver}
-Provides: OpenGL = 3.3
+Provides: OpenGL = 4.1
Provides: OpenGL-GLX = 1.4
Obsoletes: Mesa
Obsoletes: Mesa-dri
Requires: xorg-proto-glproto-devel >= %{glproto_ver}
Suggests: OpenGL-doc-man
Provides: OpenGL-GLX-devel = 1.4
-Provides: OpenGL-devel = 3.3
+Provides: OpenGL-devel = 4.1
Obsoletes: Mesa-devel
Obsoletes: X11-OpenGL-devel < 1:7.0.0
Obsoletes: X11-OpenGL-devel-base < 1:7.0.0
License: MIT
Group: X11/Development/Libraries
Requires: %{name}-libGL-devel = %{version}-%{release}
-Provides: OpenGL-static = 3.3
+Provides: OpenGL-static = 4.1
Obsoletes: Mesa-static
Obsoletes: X11-OpenGL-static < 1:7.0.0
Obsoletes: XFree86-OpenGL-static < 1:7.0.0
Provides: OpenGLES
Provides: OpenGLESv1 = 1.1
Provides: OpenGLESv2 = 2.0
+Provides: OpenGLESv3 = 3.1
%description libGLES
This package contains shared libraries of Mesa implementation of GLES
Provides: OpenGLES-devel
Provides: OpenGLESv1-devel = 1.1
Provides: OpenGLESv2-devel = 2.0
+Provides: OpenGLESv3-devel = 3.1
%description libGLES-devel
Header files for Mesa GLES libraries.
License: MIT
Group: Development/Libraries
Requires: %{name}-libOpenCL = %{version}-%{release}
-Provides: OpenCL-devel = 1.1
+Provides: OpenCL-devel = 1.2
%description libOpenCL-devel
Header files for Mesa OpenCL library.
Plik nagłówkowy biblioteki Mesa Graphics Buffer Manager (zarządcy
bufora graficznego).
-%package gbm-driver-i915
-Summary: i915 driver for Mesa GBM framework
-Summary(pl.UTF-8): Sterownik i915 dla szkieletu Mesa GBM
-Group: Libraries
-Requires: %{name}-libgbm = %{version}-%{release}
-Obsoletes: Mesa-opencl-driver-i915
-
-%description gbm-driver-i915
-i915 driver for Mesa Graphics Buffer Manager. It supports Intel
-915/945/G33/Q33/Q35/Pineview chips.
-
-%description gbm-driver-i915 -l pl.UTF-8
-Sterownik i915 dla szkieletu Mesa Graphics Buffer Manager (zarządcy
-bufora graficznego). Obsługuje układy Intela z serii
-915/945/G33/Q33/Q35/Pineview.
-
-%package gbm-driver-nouveau
-Summary: nouveau driver for Mesa GBM framework
-Summary(pl.UTF-8): Sterownik nouveau dla szkieletu Mesa GBM
-Group: Libraries
-Requires: %{name}-libgbm = %{version}-%{release}
-Obsoletes: Mesa-opencl-driver-nouveau
-
-%description gbm-driver-nouveau
-nouveau driver for Mesa Graphics Buffer Manager. It supports NVidia
-adapters.
-
-%description gbm-driver-nouveau -l pl.UTF-8
-Sterownik nouveau dla szkieletu Mesa Graphics Buffer Manager (zarządcy
-bufora graficznego). Obsługuje karty graficzne firmy NVidia.
-
-%package gbm-driver-r300
-Summary: r300 driver for Mesa GBM framework
-Summary(pl.UTF-8): Sterownik r300 dla szkieletu Mesa GBM
-Group: Libraries
-Requires: %{name}-libgbm = %{version}-%{release}
-Obsoletes: Mesa-opencl-driver-r300
-
-%description gbm-driver-r300
-r300 driver for Mesa Graphics Buffer Manager. It supports ATI Radeon
-adapters based on R300/R400/RS690/R500 chips.
-
-%description gbm-driver-r300 -l pl.UTF-8
-Sterownik r300 dla szkieletu Mesa Graphics Buffer Manager (zarządcy
-bufora graficznego). Obsługuje karty graficzne ATI Radeon oparte na
-układach R300/R400/RS690/R500.
-
-%package gbm-driver-r600
-Summary: r600 driver for Mesa GBM framework
-Summary(pl.UTF-8): Sterownik r600 dla szkieletu Mesa GBM
-Group: Libraries
-Requires: %{name}-libgbm = %{version}-%{release}
-Obsoletes: Mesa-libllvmradeon
-Obsoletes: Mesa-opencl-driver-r600
-
-%description gbm-driver-r600
-r600 driver for Mesa Graphics Buffer Manager. It supports ATI Radeon
-adapters based on R600/R700 chips.
-
-%description gbm-driver-r600 -l pl.UTF-8
-Sterownik r600 dla szkieletu Mesa Graphics Buffer Manager (zarządcy
-bufora graficznego). Obsługuje karty graficzne ATI Radeon oparte na
-układach R600/R700.
-
-%package gbm-driver-radeonsi
-Summary: radeonsi driver for Mesa GBM framework
-Summary(pl.UTF-8): Sterownik radeonsi dla szkieletu Mesa GBM
-Group: Libraries
-Requires: %{name}-libgbm = %{version}-%{release}
-Obsoletes: Mesa-libllvmradeon
-Obsoletes: Mesa-opencl-driver-radeonsi
-
-%description gbm-driver-radeonsi
-radeonsi driver for Mesa Graphics Buffer Manager. It supports ATI
-Radeon adapters based on Southern Islands chips.
-
-%description gbm-driver-radeonsi -l pl.UTF-8
-Sterownik radeonsi dla szkieletu Mesa Graphics Buffer Manager
-(zarządcy bufora graficznego). Obsługuje karty graficzne ATI Radeon
-oparte na układach Southern Islands.
-
-%package gbm-driver-swrast
-Summary: Software (swrast) driver for Mesa GBM framework
-Summary(pl.UTF-8): Sterownik programowy (swrast) dla szkieletu Mesa GBM
-Group: Libraries
-Requires: %{name}-libgbm = %{version}-%{release}
-Obsoletes: Mesa-opencl-driver-swrast
-
-%description gbm-driver-swrast
-Software (swrast) driver for Mesa Graphics Buffer Manager.
-
-%description gbm-driver-swrast -l pl.UTF-8
-Sterownik programowy (swrast) dla szkieletu Mesa Graphics Buffer
-Manager (zarządcy bufora graficznego).
-
-%package gbm-driver-vmwgfx
-Summary: vmwgfx driver for Mesa GBM framework
-Summary(pl.UTF-8): Sterownik vmwgfx dla szkieletu Mesa GBM
-Group: Libraries
-Requires: %{name}-libgbm = %{version}-%{release}
-Obsoletes: Mesa-opencl-driver-vmwgfx
-
-%description gbm-driver-vmwgfx
-vmwgfx driver for Mesa Graphics Buffer Manager. It supports VMware
-virtual video adapter.
-
-%description gbm-driver-vmwgfx -l pl.UTF-8
-Sterownik vmwgfx dla szkieletu Mesa Graphics Buffer Manager (zarządcy
-bufora graficznego). Obsługuje wirtualną kartę graficzną VMware.
-
%package libglapi
Summary: Mesa GL API shared library
Summary(pl.UTF-8): Biblioteka współdzielona Mesa GL API
%description dri-driver-ati-radeon-SI -l pl.UTF-8
Sterownik X.org DRI dla rodziny kart ATI Southern Islands.
+%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
+License: MIT
+Group: X11/Libraries
+Requires: xorg-driver-video-freedreno
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
+
+%description dri-driver-freedreno
+X.org DRI driver for Adreno chips.
+
+%description dri-driver-freedreno -l pl.UTF-8
+Sterownik X.org DRI dla układów Adreno.
+
%package dri-driver-intel-i915
Summary: X.org DRI driver for Intel i915 card family
Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart Intel i915
Sterownik X.org DRI dla rodziny kart Intel i965 (946GZ, 965G, 965Q,
965GM, 965GME, GM45, G41, B43, Q45, G45).
+%package dri-driver-intel-ilo
+Summary: X.org DRI driver for Intel chips family
+Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny układów firmy Intel
+License: MIT
+Group: X11/Libraries
+Requires: xorg-driver-video-intel
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
+
+%description dri-driver-intel-ilo
+X.org DRI driver for Intel chips family. It supports Cherryview/
+Broadwell/Bay Trail/Haswell/Ivybridge/Sandybridge chips.
+
+%description dri-driver-intel-ilo -l pl.UTF-8
+Sterownik X.org DRI dla rodziny układów firmy Intel. Obsługuje układy
+Cherryview/Broadwell/Bay Trail/Haswell/Ivybdidge/Sandybridge.
+
%package dri-driver-nouveau
Summary: X.org DRI driver for NVIDIA card family
Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart NVIDIA
%description dri-driver-swrast -l pl.UTF-8
Sterownik X.org DRI obsługujący rysowanie programowe.
+%package dri-driver-vc4
+Summary: X.org DRI driver for Broadcom VC4 chips
+Summary(pl.UTF-8): Sterownik X.org DRI dla układów Broadcom VC4
+License: MIT
+Group: X11/Libraries
+Requires: xorg-driver-video-modesetting
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
+
+%description dri-driver-vc4
+X.org DRI driver for Broadcom VC4 chips.
+
+%description dri-driver-vc4 -l pl.UTF-8
+Sterownik X.org DRI dla układów Broadcom VC4.
+
+%package dri-driver-virgl
+Summary: X.org DRI driver for QEMU VirGL
+Summary(pl.UTF-8): Sterownik X.org DRI dla QEMU VirGL
+License: MIT
+Group: X11/Libraries
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
+
+%description dri-driver-virgl
+X.org DRI driver for QEMU VirGL.
+
+%description dri-driver-virgl -l pl.UTF-8
+Sterownik X.org DRI dla QEMU VirGL.
+
%package dri-driver-vmwgfx
Summary: X.org DRI driver for VMware
Summary(pl.UTF-8): Sterownik X.org DRI dla VMware
%description dri-driver-vmwgfx -l pl.UTF-8
Sterownik X.org DRI dla VMware.
+%package pipe-driver-i915
+Summary: i915 driver for Mesa Gallium dynamic pipe loader
+Summary(pl.UTF-8): Sterownik i915 dla dynamicznego systemu potoków szkieletu Mesa Gallium
+Group: Libraries
+Obsoletes: Mesa-gbm-driver-i915
+Obsoletes: Mesa-opencl-driver-i915
+
+%description pipe-driver-i915
+i915 driver for Mesa Gallium dynamic pipe loader. It supports Intel
+915/945/G33/Q33/Q35/Pineview chips.
+
+%description pipe-driver-i915 -l pl.UTF-8
+Sterownik i915 dla dynamicznego systemu potoków szkieletu Mesa
+Gallium. Obsługuje układy Intela z serii 915/945/G33/Q33/Q35/Pineview.
+
+%package pipe-driver-i965
+Summary: i965 (ilo) driver for Mesa Gallium dynamic pipe loader
+Summary(pl.UTF-8): Sterownik i965 (ilo) dla dynamicznego systemu potoków szkieletu Mesa Gallium
+Group: Libraries
+
+%description pipe-driver-i965
+i965 (ilo) driver for Mesa Gallium dynamic pipe loader. It supports
+Intel Cherryview/Broadwell/Bay Trail/Haswell/Ivybridge/Sandybridge
+chips.
+
+%description pipe-driver-i965 -l pl.UTF-8
+Sterownik i965 (ilo) dla dynamicznego systemu potoków szkieletu Mesa
+Gallium. Obsługuje układy Intela Cherryview/Broadwell/Bay Trail/
+Haswell/Ivybdidge/Sandybridge.
+
+%package pipe-driver-msm
+Summary: msm (freedreno) driver for Mesa Gallium dynamic pipe loader
+Summary(pl.UTF-8): Sterownik msm (freedreno) dla dynamicznego systemu potoków szkieletu Mesa Gallium
+Group: Libraries
+
+%description pipe-driver-msm
+msm (freedreno) driver for Mesa Gallium dynamic pipe loader. It
+supports Adreno chips.
+
+%description pipe-driver-msm -l pl.UTF-8
+Sterownik msm (freedreno) dla dynamicznego systemu potoków szkieletu
+Mesa Gallium. Obsługuje układy Adreno.
+
+%package pipe-driver-nouveau
+Summary: nouveau driver for Mesa Gallium dynamic pipe loader
+Summary(pl.UTF-8): Sterownik nouveau dla dynamicznego systemu potoków szkieletu Mesa Gallium
+Group: Libraries
+Obsoletes: Mesa-gbm-driver-nouveau
+Obsoletes: Mesa-opencl-driver-nouveau
+
+%description pipe-driver-nouveau
+nouveau driver for Mesa Gallium dynamic pipe loader. It supports
+NVidia adapters.
+
+%description pipe-driver-nouveau -l pl.UTF-8
+Sterownik nouveau dla dynamicznego systemu potoków szkieletu Mesa
+Gallium. Obsługuje karty graficzne firmy NVidia.
+
+%package pipe-driver-r300
+Summary: r300 driver for Mesa Gallium dynamic pipe loader
+Summary(pl.UTF-8): Sterownik r300 dla dynamicznego systemu potoków szkieletu Mesa Gallium
+Group: Libraries
+Obsoletes: Mesa-gbm-driver-r300
+Obsoletes: Mesa-opencl-driver-r300
+
+%description pipe-driver-r300
+r300 driver for Mesa Gallium dynamic pipe loader. It supports ATI
+Radeon adapters based on R300/R400/RS690/R500 chips.
+
+%description pipe-driver-r300 -l pl.UTF-8
+Sterownik r300 dla dynamicznego systemu potoków szkieletu Mesa
+Gallium. Obsługuje karty graficzne ATI Radeon oparte na układach
+R300/R400/RS690/R500.
+
+%package pipe-driver-r600
+Summary: r600 driver for Mesa Gallium dynamic pipe loader
+Summary(pl.UTF-8): Sterownik r600 dla dynamicznego systemu potoków szkieletu Mesa Gallium
+Group: Libraries
+Obsoletes: Mesa-gbm-driver-r600
+Obsoletes: Mesa-libllvmradeon
+Obsoletes: Mesa-opencl-driver-r600
+
+%description pipe-driver-r600
+r600 driver for Mesa Gallium dynamic pipe loader. It supports ATI
+Radeon adapters based on R600/R700 chips.
+
+%description pipe-driver-r600 -l pl.UTF-8
+Sterownik r600 dla dynamicznego systemu potoków szkieletu Mesa
+Gallium. Obsługuje karty graficzne ATI Radeon oparte na układach
+R600/R700.
+
+%package pipe-driver-radeonsi
+Summary: radeonsi driver for Mesa Gallium dynamic pipe loader
+Summary(pl.UTF-8): Sterownik radeonsi dla dynamicznego systemu potoków szkieletu Mesa Gallium
+Group: Libraries
+Obsoletes: Mesa-gbm-driver-radeonsi
+Obsoletes: Mesa-libllvmradeon
+Obsoletes: Mesa-opencl-driver-radeonsi
+
+%description pipe-driver-radeonsi
+radeonsi driver for Mesa Gallium dynamic pipe loader. It supports ATI
+Radeon adapters based on Southern Islands chips.
+
+%description pipe-driver-radeonsi -l pl.UTF-8
+Sterownik radeonsi dla dynamicznego systemu potoków szkieletu Mesa
+Gallium. Obsługuje karty graficzne ATI Radeon oparte na układach
+Southern Islands.
+
+%package pipe-driver-swrast
+Summary: Software (swrast) driver for Mesa Gallium dynamic pipe loader
+Summary(pl.UTF-8): Sterownik programowy (swrast) dla dynamicznego systemu potoków szkieletu Mesa Gallium
+Group: Libraries
+Obsoletes: Mesa-gbm-driver-swrast
+Obsoletes: Mesa-opencl-driver-swrast
+
+%description pipe-driver-swrast
+Software (swrast) driver for Mesa Gallium dynamic pipe loader.
+
+%description pipe-driver-swrast -l pl.UTF-8
+Sterownik programowy (swrast) dla dynamicznego systemu potoków
+szkieletu Mesa Gallium.
+
+%package pipe-driver-vmwgfx
+Summary: vmwgfx driver for Mesa Gallium dynamic pipe loader
+Summary(pl.UTF-8): Sterownik vmwgfx dla dynamicznego systemu potoków szkieletu Mesa Gallium
+Group: Libraries
+Obsoletes: Mesa-gbm-driver-vmwgfx
+Obsoletes: Mesa-opencl-driver-vmwgfx
+
+%description pipe-driver-vmwgfx
+vmwgfx driver for Mesa Gallium dynamic pipe loader. It supports VMware
+virtual video adapter.
+
+%description pipe-driver-vmwgfx -l pl.UTF-8
+Sterownik vmwgfx dla dynamicznego systemu potoków szkieletu Mesa
+Gallium. Obsługuje wirtualną kartę graficzną VMware.
+
%package d3d
Summary: Nine Direct3D9 driver (for Wine)
Summary(pl.UTF-8): Sterownik Direct3D9 Nine (dla Wine)
License: MIT
Group: X11/Libraries
Requires: libdrm >= %{libdrm_ver}
-Requires: libvdpau >= 0.4.1
+Requires: libvdpau >= 1.1
Conflicts: libvdpau-driver-mesa
%description -n libvdpau-driver-mesa-nouveau
License: MIT
Group: X11/Libraries
Requires: libdrm >= %{libdrm_ver}
-Requires: libvdpau >= 0.4.1
+Requires: libvdpau >= 1.1
Conflicts: libvdpau-driver-mesa
%description -n libvdpau-driver-mesa-r300
License: MIT
Group: X11/Libraries
Requires: libdrm >= %{libdrm_ver}
-Requires: libvdpau >= 0.4.1
+Requires: libvdpau >= 1.1
Conflicts: libvdpau-driver-mesa
%description -n libvdpau-driver-mesa-r600
License: MIT
Group: X11/Libraries
Requires: libdrm >= %{libdrm_ver}
-Requires: libvdpau >= 0.4.1
+Requires: libvdpau >= 1.1
Conflicts: libvdpau-driver-mesa
Obsoletes: Mesa-libllvmradeon
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
+%patch2 -p1
%build
%{__libtoolize}
%{__automake}
dri_drivers="r200 radeon \
-%if %{without gallium_intel}
+%if %{without gallium_i915}
i915 \
%endif
i965 \
dri_drivers=$(echo $dri_drivers | xargs | tr ' ' ',')
gallium_drivers="svga swrast \
-%if %{with gallium_intel}
+%if %{with gallium_i915}
i915 \
%endif
%if %{with gallium_radeon}
%if %{with gallium_nouveau}
nouveau
%endif
+ilo \
+virgl \
+%ifarch arm
+freedreno \
+vc4 \
+%endif
"
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
%attr(755,root,root) %{_libdir}/libMesaOpenCL.so
%attr(755,root,root) %{_libdir}/libMesaOpenCL.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libMesaOpenCL.so.1
+# currently only OpenCL uses dynamic pipe loader
+%dir %{_libdir}/gallium-pipe
%else
%files libOpenCL
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libOpenCL.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libOpenCL.so.1
+# currently only OpenCL uses dynamic pipe loader
+%dir %{_libdir}/gallium-pipe
%files libOpenCL-devel
%defattr(644,root,root,755)
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libgbm.so.*.*
%attr(755,root,root) %ghost %{_libdir}/libgbm.so.1
-%if %{with gallium}
-%dir %{_libdir}/gallium-pipe
-%endif
%files libgbm-devel
%defattr(644,root,root,755)
%{_pkgconfigdir}/gbm.pc
%endif
-%if %{with gallium}
-%if %{with gallium_intel}
-%files gbm-driver-i915
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_i915.so
-%endif
-
-%if %{with gallium_nouveau}
-%files gbm-driver-nouveau
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_nouveau.so
-%endif
-
-%if %{with gallium_radeon}
-%files gbm-driver-r300
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_r300.so
-
-%files gbm-driver-r600
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_r600.so
-
-%files gbm-driver-radeonsi
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_radeonsi.so
-%endif
-
-%files gbm-driver-swrast
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_swrast.so
-
-%files gbm-driver-vmwgfx
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_vmwgfx.so
-%endif
-
%files libglapi
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libglapi.so.*.*
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/radeonsi_dri.so
%endif
+
+%files dri-driver-intel-ilo
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/ilo_dri.so
%endif
%files dri-driver-intel-i915
%attr(755,root,root) %{_libdir}/xorg/modules/dri/swrast_dri.so
%if %{with gallium}
+%ifarch arm
+%files dri-driver-vc4
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/vc4_dri.so
+%endif
+
+%files dri-driver-virgl
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/virtio_gpu_dri.so
+
%files dri-driver-vmwgfx
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/vmwgfx_dri.so
%endif
+%if %{with gallium}
+%if %{with gallium_i915}
+%files pipe-driver-i915
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_i915.so
+%endif
+
+%files pipe-driver-i965
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_i965.so
+
+%ifarch arm
+%files pipe-driver-msm
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_msm.so
+%endif
+
+%if %{with gallium_nouveau}
+%files pipe-driver-nouveau
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_nouveau.so
+%endif
+
+%if %{with gallium_radeon}
+%files pipe-driver-r300
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_r300.so
+
+%files pipe-driver-r600
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_r600.so
+
+%files pipe-driver-radeonsi
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_radeonsi.so
+%endif
+
+%files pipe-driver-swrast
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_swrast.so
+
+%files pipe-driver-vmwgfx
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_vmwgfx.so
+%endif
+
%if %{with nine}
%files d3d
%defattr(644,root,root,755)
%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