# minimal supported xserver version
%define xserver_ver 1.5.0
# other packages
-%ifarch %{arm}
-%define libdrm_ver 2.4.80
-%else
-%define libdrm_ver 2.4.79
-%endif
+%define libdrm_ver 2.4.92
%define dri2proto_ver 2.8
%define dri3proto_ver 1.0
%define glproto_ver 1.4.14
%define presentproto_ver 1.0
%define zlib_ver 1.2.8
+%define wayland_ver 1.11
%if %{without gallium}
%undefine with_gallium_i915
Summary: Free OpenGL implementation
Summary(pl.UTF-8): Wolnodostępna implementacja standardu OpenGL
Name: Mesa
-Version: 17.1.5
+Version: 18.2.6
Release: 1
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: 6cf936fbcaadd98924298a7009e8265d
+# Source0-md5: 7c61a801311fb8d2f7b3cceb7b5cf308
Patch0: %{name}-link.patch
URL: http://www.mesa3d.org/
BuildRequires: autoconf >= 2.60
BuildRequires: libtalloc-devel >= 2:2.0.1
BuildRequires: libtool >= 2:2.2
%{?with_va:BuildRequires: libva-devel >= 1.6.0}
-%{?with_va:BuildRequires: pkgconfig(libva) >= 0.38.0}
+%{?with_va:BuildRequires: pkgconfig(libva) >= 0.39.0}
BuildRequires: libvdpau-devel >= 1.1
-BuildRequires: libxcb-devel >= 1.10
-%{?with_gallium_radeon:BuildRequires: llvm-devel >= 3.8}
-# for swr driver
-%{?with_gallium:BuildRequires: llvm-devel >= 3.9}
-%{?with_radv:BuildRequires: llvm-devel >= 3.9}
+BuildRequires: libxcb-devel >= 1.13
+# gallium core requires 3.3.0, OpenCL/r600 require 3.9.0, swr/radeonsi/radv 4.0.0
+%{?with_gallium:BuildRequires: llvm-devel >= 5.0}
+%{?with_radv:BuildRequires: llvm-devel >= 5.0}
%{?with_opencl:BuildRequires: llvm-libclc}
# for SHA1 (could use also libmd/libsha1/libgcrypt/openssl instead)
BuildRequires: nettle-devel
BuildRequires: pixman-devel
BuildRequires: pkgconfig
BuildRequires: pkgconfig(talloc) >= 2.0.1
-BuildRequires: pkgconfig(xcb-dri3)
-BuildRequires: pkgconfig(xcb-present)
+BuildRequires: pkgconfig(xcb-dri2) >= 1.8
+BuildRequires: pkgconfig(xcb-dri3) >= 1.13
+BuildRequires: pkgconfig(xcb-glx) >= 1.8.1
+BuildRequires: pkgconfig(xcb-present) >= 1.13
BuildRequires: python >= 2
BuildRequires: python-Mako >= 0.8.0
BuildRequires: python-modules >= 2
BuildRequires: rpmbuild(macros) >= 1.470
BuildRequires: sed >= 4.0
# wayland-{client,server}
-%{?with_wayland:BuildRequires: wayland-devel >= 1.11.0}
+%{?with_wayland:BuildRequires: wayland-devel >= %{wayland_ver}}
+%{?with_wayland:BuildRequires: wayland-protocols >= 1.8}
+%{?with_wayland:BuildRequires: wayland-egl-devel >= %{wayland_ver}}
BuildRequires: xorg-lib-libXdamage-devel >= 1.1
BuildRequires: xorg-lib-libXext-devel >= 1.0.5
BuildRequires: xorg-lib-libXfixes-devel
BuildRequires: xorg-proto-presentproto-devel >= %{presentproto_ver}
BuildRequires: xorg-util-makedepend
%if %{with gallium}
-%{?with_lm_sensors:BuildRequires: lm_sensors-devel >= 3.4}
+%{?with_lm_sensors:BuildRequires: lm_sensors-devel >= 4.0}
BuildRequires: xorg-proto-xextproto-devel >= 7.0.99.1
BuildRequires: xorg-xserver-server-devel >= %{xserver_ver}
%endif
# libGLESv1_CM, libGLESv2, libGL, libOSMesa:
# _glapi_tls_Dispatch is defined in libglapi, but it's some kind of symbol ldd -r doesn't notice(?)
# libgbm: circular dependency with libEGL (wayland_buffer_is_drm symbol)
-%define skip_post_check_so libGLESv1_CM.so.1.* libGLESv2.so.2.* libGL.so.1.* libOSMesa.so.* libgbm.*.so.*
+%define skip_post_check_so libGLESv1_CM.so.1.* libGLESv2.so.2.* libGL.so.1.* libOSMesa.so.* libgbm.*.so.* libGLX_mesa.so.0.*
# llvm build broken
%define filterout_ld -Wl,--as-needed
# glx driver in libEGL dlopens libGL.so
Requires: OpenGL >= 1.2
Requires: libdrm >= %{libdrm_ver}
-Requires: libxcb >= 1.9
+Requires: libxcb >= 1.13
%{?with_wayland:Requires: wayland >= 1.11.0}
%if %{with gbm}
Requires: %{name}-libgbm = %{version}-%{release}
Group: X11/Libraries
Requires: %{name}-libglapi = %{version}-%{release}
Requires: libdrm >= %{libdrm_ver}
+Requires: libxcb >= 1.13
Requires: xorg-lib-libXdamage >= 1.1
Provides: OpenGL = 4.5
Provides: OpenGL-GLX = 1.4
Biblioteka współdzielona Mesa GL API, wspólna dla różnych API (EGL,
GL, GLES).
-%package libwayland-egl
-Summary: Wayland EGL library
-Summary(pl.UTF-8): Biblioteka Wayland EGL
-Group: Libraries
-Requires: libdrm >= %{libdrm_ver}
-
-%description libwayland-egl
-Wayland EGL platform library.
-
-%description libwayland-egl -l pl.UTF-8
-Biblioteka platformy EGL Wayland.
-
-%package libwayland-egl-devel
-Summary: Development files for Wayland EGL library
-Summary(pl.UTF-8): Pliki programistyczne biblioteki Wayland EGL
-Group: Development/Libraries
-Requires: %{name}-libwayland-egl = %{version}-%{release}
-Requires: libdrm-devel >= %{libdrm_ver}
-
-%description libwayland-egl-devel
-Development files for Wayland EGL platform library.
-
-%description libwayland-egl-devel -l pl.UTF-8
-Pliki programistyczne biblioteki platformy EGL Wayland.
-
%package libxatracker
Summary: Xorg Gallium3D accelleration library
Summary(pl.UTF-8): Biblioteka akceleracji Gallium3D dla Xorg
License: MIT
Group: X11/Libraries
Requires: libdrm >= %{libdrm_ver}
-Requires: libxcb >= 1.8
+Requires: libxcb >= 1.13
Requires: libomxil-bellagio
Requires: zlib >= %{zlib_ver}
Obsoletes: omxil-mesa-nouveau
License: MIT
Group: Libraries
Requires: libdrm >= %{libdrm_ver}
+Requires: libxcb >= 1.13
+Requires: xorg-lib-libxshmfence >= 1.1
+# wayland-client
+Requires: wayland >= %{wayland_ver}
Requires: zlib >= %{zlib_ver}
Suggests: vulkan(loader)
Provides: vulkan(icd) = 1.0.3
Summary(pl.UTF-8): radv - eksperymentalny sterownik Vulkan dla GPU firmy AMD
License: MIT
Group: Libraries
+Requires: libdrm >= %{libdrm_ver}
+Requires: libxcb >= 1.13
+Requires: xorg-lib-libxshmfence >= 1.1
+# wayland-client
+Requires: wayland >= %{wayland_ver}
Requires: zlib >= %{zlib_ver}
Suggests: vulkan(loader)
Provides: vulkan(icd) = 1.0.3
dri_drivers=$(echo $dri_drivers | xargs | tr ' ' ',')
gallium_drivers="svga swrast virgl \
+%ifarch %{x8664}
+swr
+%endif
%ifarch %{ix86} %{x8664} x32
-swr %{?with_gallium_i915:i915} \
+%{?with_gallium_i915:i915} \
%endif
%if %{with gallium_radeon}
r300 r600 radeonsi \
%{__enable opencl} \
%{__enable va} \
--enable-vdpau \
- %{?with_omx:--enable-omx} \
+ %{?with_omx:--enable-omx-bellagio} \
%{?with_xa:--enable-xa} \
--enable-xvmc \
--with-gallium-drivers=${gallium_drivers} \
%post libglapi -p /sbin/ldconfig
%postun libglapi -p /sbin/ldconfig
-%post libwayland-egl -p /sbin/ldconfig
-%postun libwayland-egl -p /sbin/ldconfig
-
%post libxatracker -p /sbin/ldconfig
%postun libxatracker -p /sbin/ldconfig
%if %{with egl}
%files libEGL
%defattr(644,root,root,755)
+%if %{with glvnd}
+%attr(755,root,root) %{_libdir}/libEGL_mesa.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libEGL_mesa.so.0
+%{_datadir}/glvnd/egl_vendor.d/50_mesa.json
+%else
%attr(755,root,root) %{_libdir}/libEGL.so.*.*
%attr(755,root,root) %ghost %{_libdir}/libEGL.so.1
+%endif
%files libEGL-devel
%defattr(644,root,root,755)
+%if %{with glvnd}
+%attr(755,root,root) %{_libdir}/libEGL_mesa.so
+%else
%attr(755,root,root) %{_libdir}/libEGL.so
+%endif
%dir %{_includedir}/EGL
%{_includedir}/EGL/egl.h
%{_includedir}/EGL/eglext.h
%files libGL
%defattr(644,root,root,755)
-%doc docs/{*.html,README.UVD,patents.txt,relnotes/*.html}
+%doc docs/{*.html,README.UVD,features.txt,relnotes/*.html}
%if %{with glvnd}
%attr(755,root,root) %{_libdir}/libGLX_mesa.so.*.*
%attr(755,root,root) %ghost %{_libdir}/libGLX_mesa.so.0
# libglapi-devel? nothing seems to need it atm.
#%attr(755,root,root) %{_libdir}/libglapi.so
-%if %{with wayland}
-%files libwayland-egl
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libwayland-egl.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libwayland-egl.so.1
-
-%files libwayland-egl-devel
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libwayland-egl.so
-%{_pkgconfigdir}/wayland-egl.pc
-%endif
-
%if %{with xa}
%files libxatracker
%defattr(644,root,root,755)
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_vmwgfx.so
-%ifarch %{ix86} %{x8664} x32
+%ifarch %{x8664}
%files swr
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libswrAVX.so