# (until they start to be somehow versioned themselves)
%define glapi_ver 7.1.0
# other packages
-%define libdrm_ver 2.4.100
+%define libdrm_ver 2.4.102
%define dri2proto_ver 2.8
%define glproto_ver 1.4.14
%define zlib_ver 1.2.8
-%define wayland_ver 1.11
+%define wayland_ver 1.15
%define llvm_ver 8.0.0
%define gcc_ver 6:4.8.0
Summary: Free OpenGL implementation
Summary(pl.UTF-8): Wolnodostępna implementacja standardu OpenGL
Name: Mesa
-Version: 20.1.8
+Version: 20.3.1
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: 7c61a801311fb8d2f7b3cceb7b5cf308
Source0: https://gitlab.freedesktop.org/mesa/mesa/-/archive/mesa-%{version}/mesa-mesa-%{version}.tar.bz2
-# Source0-md5: f1b6e80d37cfcdc9a9c9a9d0db7a852f
+# Source0-md5: a3bd3f3e958060257e049968d40836be
Patch0: nouveau_no_rtti.patch
Patch1: i9x5-tex-ignore-the-diff-between-GL_TEXTURE_2D-and-GL_TEXTURE_RECTANGLE.patch
URL: http://www.mesa3d.org/
-%{?with_opencl_spirv:BuildRequires: SPIRV-LLVM-Translator-devel >= 0.2.1}
+%{?with_opencl_spirv:BuildRequires: SPIRV-LLVM-Translator-devel >= 8.0.1.3}
%{?with_gallium_zink:BuildRequires: Vulkan-Loader-devel}
+BuildRequires: bison > 2.3
%{?with_opencl:BuildRequires: clang-devel >= %{llvm_ver}}
BuildRequires: elfutils-devel
BuildRequires: expat-devel >= 1.95
+BuildRequires: flex
BuildRequires: gcc >= %{gcc_ver}
BuildRequires: libdrm-devel >= %{libdrm_ver}
-%{?with_glvnd:BuildRequires: libglvnd-devel >= 1.2.0}
+%{?with_glvnd:BuildRequires: libglvnd-devel >= 1.3.2}
BuildRequires: libselinux-devel
BuildRequires: libstdc++-devel >= %{gcc_ver}
BuildRequires: libunwind-devel
%{?with_radv:BuildRequires: llvm-devel >= %{llvm_ver}}
%{?with_opencl:BuildRequires: llvm-libclc}
%{?with_omx:BuildRequires: libomxil-bellagio-devel}
-BuildRequires: meson >= 0.51
+BuildRequires: meson >= 0.52
BuildRequires: ninja >= 1.5
BuildRequires: pkgconfig
BuildRequires: pkgconfig(talloc) >= 2.0.1
%{?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-libX11-devel
BuildRequires: xorg-lib-libXdamage-devel >= 1.1
BuildRequires: xorg-lib-libXext-devel >= 1.0.5
-BuildRequires: xorg-lib-libXfixes-devel
+BuildRequires: xorg-lib-libXfixes-devel >= 2.0
BuildRequires: xorg-lib-libXrandr-devel >= 1.3
BuildRequires: xorg-lib-libXv-devel
%{?with_xvmc:BuildRequires: xorg-lib-libXvMC-devel >= 1.0.6}
Requires: xorg-lib-libX11-devel
Requires: xorg-lib-libXdamage-devel >= 1.1
Requires: xorg-lib-libXext-devel >= 1.0.5
-Requires: xorg-lib-libXfixes-devel
+Requires: xorg-lib-libXfixes-devel >= 2.0
Requires: xorg-lib-libXxf86vm-devel
Requires: xorg-proto-dri2proto-devel >= %{dri2proto_ver}
Requires: xorg-proto-glproto-devel >= %{glproto_ver}
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-iris
+Summary: iris driver for Mesa Gallium dynamic pipe loader
+Summary(pl.UTF-8): Sterownik iris dla dynamicznego systemu potoków szkieletu Mesa Gallium
+Group: Libraries
+Requires: zlib >= %{zlib_ver}
+
+%description pipe-driver-iris
+iris driver for Mesa Gallium dynamic pipe loader. It supports Intel
+Iris (Gen8+) card family (Broadwell, Skylake, Broxton, Kabylake,
+Coffeelake, Geminilake, Whiskey Lake, Comet Lake, Cannonlake, Ice
+Lake, Elkhart Lake).
+
+%description pipe-driver-iris -l pl.UTF-8
+Sterownik iris dla dynamicznego systemu potoków szkieletu Mesa
+Gallium. Obsługuje układy Intela z rodziny kart Intel Iris (Gen8+:
+Broadwell, Skylake, Broxton, Kabylake, Coffeelake, Geminilake, Whiskey
+Lake, Comet Lake, Cannonlake, Ice Lake, Elkhart Lake).
+
%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
%description -n omxil-mesa -l pl.UTF-8
Sterownik Mesa dla API Bellagio OpenMAX IL.
+%package vulkan-icd-broadcom
+Summary: v3dv - Mesa Vulkan driver for Raspberry Pi 4
+Summary(pl.UTF-8): v3dv - sterownik Vulkan dla Raspberry Pi 4
+License: MIT
+Group: Libraries
+Requires: libdrm >= %{libdrm_ver}
+Requires: libxcb >= 1.13
+Requires: xorg-lib-libXrandr >= 1.3
+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
+
+%description vulkan-icd-broadcom
+v3dv - Mesa Vulkan driver for Raspberry Pi 4.
+
+%description vulkan-icd-broadcom -l pl.UTF-8
+v3dv - sterownik Vulkan dla Raspberry Pi 4.
+
+%package vulkan-icd-freedreno
+Summary: turnip - Mesa Vulkan driver for Adreno chips
+Summary(pl.UTF-8): turnip - sterownik Vulkan dla układów Adreno
+License: MIT
+Group: Libraries
+Requires: libdrm >= %{libdrm_ver}
+Requires: libxcb >= 1.13
+Requires: xorg-lib-libXrandr >= 1.3
+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
+
+%description vulkan-icd-freedreno
+turnip - Mesa Vulkan driver for Adreno chips.
+
+%description vulkan-icd-freedreno -l pl.UTF-8
+turnip - sterownik Vulkan dla układów Adreno.
+
%package vulkan-icd-intel
Summary: Mesa Vulkan driver for Intel GPUs
Summary(pl.UTF-8): Sterownik Vulkan dla GPU firmy Intel
%description vulkan-icd-intel-devel -l pl.UTF-8
Pliki nagłówkowe sterownika Vulkan dla GPU Intel.
+%package vulkan-icd-lavapipe
+Summary: lavapipe - Mesa software Vulkan driver
+Summary(pl.UTF-8): lavapipe - programowy sterownik Vulkan
+License: MIT
+Group: Libraries
+Requires: libdrm >= %{libdrm_ver}
+Requires: libxcb >= 1.13
+Requires: xorg-lib-libXrandr >= 1.3
+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
+
+%description vulkan-icd-lavapipe
+lavapipe - Mesa software Vulkan driver.
+
+%description vulkan-icd-lavapipe -l pl.UTF-8
+lavapipe - programowy sterownik Vulkan.
+
%package vulkan-icd-radeon
Summary: radv - experimental Mesa Vulkan driver for AMD Radeon GPUs
Summary(pl.UTF-8): radv - eksperymentalny sterownik Vulkan dla GPU firmy AMD
gallium_drivers=$(echo $gallium_drivers | xargs | tr ' ' ',')
-vulkan_drivers="%{?with_radv:amd} \
+vulkan_drivers="swrast %{?with_radv:amd} \
%ifarch %{ix86} %{x8664} x32
intel \
%endif
+%ifarch %{arm} aarch64
+freedreno broadcom \
+%endif
"
vulkan_drivers=$(echo $vulkan_drivers | xargs | tr ' ' ',')
%meson build \
- -Dplatforms=x11,drm%{?with_wayland:,wayland},surfaceless \
- -Ddri3=true \
+ -Dplatforms=x11%{?with_wayland:,wayland} \
+ -Ddri3=enabled \
-Ddri-drivers=${dri_drivers} \
-Ddri-drivers-path=%{_libdir}/xorg/modules/dri \
- -Degl=%{?with_egl:true}%{!?with_egl:false} \
+ -Degl=%{?with_egl:enabled}%{!?with_egl:disabled} \
-Dgallium-drivers=${gallium_drivers} \
%{?with_hud_extra:-Dgallium-extra-hud=true} \
-Dgallium-nine=%{?with_nine:true}%{!?with_nine:false} \
%else
-Dgallium-opencl=disabled \
%endif
- -Dgallium-va=%{?with_va:true}%{!?with_va:false} \
- %{?with_vdpau:-Dgallium-vdpau=true} \
- %{?with_xvmc:-Dgallium-xvmc=true} \
- -Dgallium-xa=%{?with_xa:true}%{!?with_xa:false} \
- -Dgbm=%{?with_gbm:true}%{!?with_gbm:false} \
+ -Dgallium-va=%{?with_va:enabled}%{!?with_va:disabled} \
+ %{?with_vdpau:-Dgallium-vdpau=enabled} \
+ %{?with_xvmc:-Dgallium-xvmc=enabled} \
+ -Dgallium-xa=%{?with_xa:enabled}%{!?with_xa:disabled} \
+ -Dgbm=%{?with_gbm:enabled}%{!?with_gbm:disabled} \
-Dglvnd=%{?with_glvnd:true}%{!?with_glvnd:false} \
- -Dlibunwind=true \
- -Dlmsensors=%{?with_lm_sensors:true}%{!?with_lm_sensors:false} \
+ -Dlibunwind=enabled \
+ -Dlmsensors=%{?with_lm_sensors:enabled}%{!?with_lm_sensors:disabled} \
%{?with_opencl_spirv:-Dopencl-spirv=true} \
-Dosmesa=%{?with_gallium:gallium}%{!?with_gallium:classic} \
-Dselinux=true \
%files libGL
%defattr(644,root,root,755)
-%doc docs/{*.html,README.UVD,features.txt,relnotes/*.html}
+%doc docs/{*.rst,README.UVD,features.txt,relnotes/*.rst}
%if %{with glvnd}
%attr(755,root,root) %{_libdir}/libGLX_mesa.so.*.*
%attr(755,root,root) %ghost %{_libdir}/libGLX_mesa.so.0
%files libGL-devel
%defattr(644,root,root,755)
-%doc docs/specs/*
+%doc docs/_extra/specs/*
%if %{without glvnd}
%dir %{_includedir}/GL
%{_includedir}/GL/gl.h
%attr(755,root,root) %{_libdir}/xorg/modules/dri/hx8357d_dri.so
%attr(755,root,root) %{_libdir}/xorg/modules/dri/ili9225_dri.so
%attr(755,root,root) %{_libdir}/xorg/modules/dri/ili9341_dri.so
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/imx-dcss_dri.so
%attr(755,root,root) %{_libdir}/xorg/modules/dri/imx-drm_dri.so
%attr(755,root,root) %{_libdir}/xorg/modules/dri/ingenic-drm_dri.so
%attr(755,root,root) %{_libdir}/xorg/modules/dri/mcde_dri.so
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/mediatek_dri.so
%attr(755,root,root) %{_libdir}/xorg/modules/dri/meson_dri.so
%attr(755,root,root) %{_libdir}/xorg/modules/dri/mi0283qt_dri.so
%attr(755,root,root) %{_libdir}/xorg/modules/dri/mxsfb-drm_dri.so
%if %{with opencl}
%ifarch %{ix86} %{x8664} x32
%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-iris
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_iris.so
%endif
%ifarch %{arm}
%attr(755,root,root) %{_libdir}/bellagio/libomx_mesa.so
%endif
+%ifarch %{arm} aarch64
+%files vulkan-icd-broadcom
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libvulkan_broadcom.so
+%{_datadir}/vulkan/icd.d/broadcom_icd.*.json
+
+%files vulkan-icd-freedreno
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libvulkan_freedreno.so
+%{_datadir}/vulkan/icd.d/freedreno_icd.*.json
+%endif
+
%ifarch %{ix86} %{x8664} x32
%files vulkan-icd-intel
%defattr(644,root,root,755)
%{_includedir}/vulkan/vulkan_intel.h
%endif
+%files vulkan-icd-lavapipe
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libvulkan_lvp.so
+%{_datadir}/vulkan/icd.d/lvp_icd.*.json
+
%if %{with radv}
%files vulkan-icd-radeon
%defattr(644,root,root,755)