-# TODO: libtizonia >= 0.10.0 as an alternative for bellagio?
+# TODO:
+# - libtizonia >= 0.10.0 as an alternative for bellagio?
+# - bcond for perfetto peformance analysis? (BR: perfetto)
#
# Conditional build:
%bcond_without gallium # gallium drivers
%bcond_without opencl # OpenCL support
%bcond_without opencl_spirv # OpenCL SPIRV support
%bcond_without ocl_icd # OpenCL as ICD (installable client driver)
-%bcond_with glvnd # OpenGL vendor neutral dispatcher support
+%bcond_without glvnd # OpenGL vendor neutral dispatcher support
%bcond_without omx # OpenMAX (Bellagio OMXIL) support
%bcond_without va # VA library
%bcond_without wayland # Wayland EGL
%define glproto_ver 1.4.14
%define zlib_ver 1.2.8
%define wayland_ver 1.18
-%define libglvnd_ver 1.3.2
+%define libglvnd_ver 1.3.4-2
%define llvm_ver 11.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: 21.2.4
+Version: 21.3.4
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: 2679399fdb3603fe8304b6aebcb56154
+# Source0-md5: 0c1fd7c56b86e830d71c21e58d3eb026
Patch0: zink_x32.patch
URL: https://www.mesa3d.org/
%{?with_opencl_spirv:BuildRequires: SPIRV-LLVM-Translator-devel >= 8.0.1.3}
BuildRequires: libstdc++-devel >= %{gcc_ver}
BuildRequires: libunwind-devel
%{?with_va:BuildRequires: libva-devel}
-%{?with_va:BuildRequires: pkgconfig(libva) >= 1.1.0}
+%{?with_va:BuildRequires: pkgconfig(libva) >= 1.8.0}
%{?with_vdpau:BuildRequires: libvdpau-devel >= 1.1}
BuildRequires: libxcb-devel >= 1.13
%{?with_gallium:BuildRequires: llvm-devel >= %{llvm_ver}}
# <GL/gl.h>
%if %{with glvnd}
Requires: libglvnd-libGL-devel >= %{libglvnd_ver}
-Conflicts: Mesa-libGL-devel < 22.1.0-2
+Conflicts: Mesa-libGL-devel < 21.1.0-2
%else
Requires: Mesa-libGL-devel = %{version}-%{release}
%endif
Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart ATI R100
License: MIT
Group: X11/Libraries
-Requires: xorg-driver-video-ati
-Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires: xorg-xserver-server >= %{xserver_ver}
Requires: zlib >= %{zlib_ver}
+Suggests: xorg-driver-video-amdgpu
+Suggests: xorg-driver-video-ati
Obsoletes: X11-driver-radeon-dri < 1:7.0.0
+Conflicts: xorg-xserver-libglx(glapi) > %{glapi_ver}
+Conflicts: xorg-xserver-libglx(glapi) < %{glapi_ver}
%description dri-driver-ati-radeon-R100
X.org DRI driver for ATI R100 card family (Radeon 7000-7500). It
Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart ATI R200
License: MIT
Group: X11/Libraries
-Requires: xorg-driver-video-ati
-Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires: xorg-xserver-server >= %{xserver_ver}
Requires: zlib >= %{zlib_ver}
+Suggests: xorg-driver-video-amdgpu
+Suggests: xorg-driver-video-ati
Obsoletes: X11-driver-radeon-dri < 1:7.0.0
+Conflicts: xorg-xserver-libglx(glapi) > %{glapi_ver}
+Conflicts: xorg-xserver-libglx(glapi) < %{glapi_ver}
%description dri-driver-ati-radeon-R200
X.org DRI driver for ATI R200 card family (Radeon 8500-92xx). It
License: MIT
Group: X11/Libraries
%{?with_swr:Requires: cpuinfo(avx)}
-Requires: xorg-driver-video-ati
-Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires: xorg-xserver-server >= %{xserver_ver}
Requires: zlib >= %{zlib_ver}
+Suggests: xorg-driver-video-amdgpu
+Suggests: xorg-driver-video-ati
Obsoletes: X11-driver-radeon-dri < 1:7.0.0
+Conflicts: xorg-xserver-libglx(glapi) > %{glapi_ver}
+Conflicts: xorg-xserver-libglx(glapi) < %{glapi_ver}
%description dri-driver-ati-radeon-R300
X.org Gallium DRI driver for ATI R300/R400/RS690/R500 card family
Group: X11/Libraries
%{?with_swr:Requires: cpuinfo(avx)}
Requires: radeon-ucode
-Requires: xorg-driver-video-ati
-Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires: xorg-xserver-server >= %{xserver_ver}
Requires: zlib >= %{zlib_ver}
+Suggests: xorg-driver-video-amdgpu
+Suggests: xorg-driver-video-ati
+Conflicts: xorg-xserver-libglx(glapi) > %{glapi_ver}
+Conflicts: xorg-xserver-libglx(glapi) < %{glapi_ver}
%description dri-driver-ati-radeon-R600
X.org Gallium DRI driver for ATI R600/R700 card family (Radeon HD
Group: X11/Libraries
%{?with_swr:Requires: cpuinfo(avx)}
Requires: radeon-ucode
-Requires: xorg-driver-video-ati
-Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires: xorg-xserver-server >= %{xserver_ver}
Requires: zlib >= %{zlib_ver}
+Suggests: xorg-driver-video-amdgpu
+Suggests: xorg-driver-video-ati
+Conflicts: xorg-xserver-libglx(glapi) > %{glapi_ver}
+Conflicts: xorg-xserver-libglx(glapi) < %{glapi_ver}
%description dri-driver-ati-radeon-SI
X.org Gallium DRI driver for ATI Southern Islands card family (Radeon
License: MIT
Group: X11/Libraries
%{?with_swr:Requires: cpuinfo(avx)}
-#Requires: xorg-driver-video-?
-Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires: xorg-xserver-server >= %{xserver_ver}
Requires: zlib >= %{zlib_ver}
+#Suggests: xorg-driver-video-?
+Conflicts: xorg-xserver-libglx(glapi) > %{glapi_ver}
+Conflicts: xorg-xserver-libglx(glapi) < %{glapi_ver}
%description dri-driver-etnaviv
X.org Gallium DRI driver for Vivante 3D chips.
License: MIT
Group: X11/Libraries
%{?with_swr:Requires: cpuinfo(avx)}
-Requires: xorg-driver-video-freedreno
-Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires: xorg-xserver-server >= %{xserver_ver}
Requires: zlib >= %{zlib_ver}
+Suggests: xorg-driver-video-freedreno
+Conflicts: xorg-xserver-libglx(glapi) > %{glapi_ver}
+Conflicts: xorg-xserver-libglx(glapi) < %{glapi_ver}
%description dri-driver-freedreno
X.org Gallium DRI driver for Adreno chips.
License: MIT
Group: X11/Libraries
%{?with_swr:Requires: cpuinfo(avx)}
-Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires: xorg-xserver-server >= %{xserver_ver}
Requires: zlib >= %{zlib_ver}
+Conflicts: xorg-xserver-libglx(glapi) > %{glapi_ver}
+Conflicts: xorg-xserver-libglx(glapi) < %{glapi_ver}
%description dri-driver-intel-crocus
X.org Gallium DRI driver for Intel Gen4/Gen5/Gen6/Gen7 chips.
%if %{with gallium_i915}
%{?with_swr:Requires: cpuinfo(avx)}
%endif
-Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires: xorg-xserver-server >= %{xserver_ver}
Requires: zlib >= %{zlib_ver}
Obsoletes: Mesa-dri-driver-intel-i830 < 6.5
Obsoletes: X11-driver-i810-dri < 1:7.0.0
+Conflicts: xorg-xserver-libglx(glapi) > %{glapi_ver}
+Conflicts: xorg-xserver-libglx(glapi) < %{glapi_ver}
%description dri-driver-intel-i915
X.org DRI driver for Intel i915 card family (830, 845, 852/855, 865,
Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart Intel i965
License: MIT
Group: X11/Libraries
-Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires: xorg-xserver-server >= %{xserver_ver}
Requires: zlib >= %{zlib_ver}
Obsoletes: Mesa-dri-driver-intel-i830 < 6.5
Obsoletes: X11-driver-i810-dri < 1:7.0.0
+Conflicts: xorg-xserver-libglx(glapi) > %{glapi_ver}
+Conflicts: xorg-xserver-libglx(glapi) < %{glapi_ver}
%description dri-driver-intel-i965
X.org (non-Gallium) DRI driver for Intel i965 card family (946GZ,
License: MIT
Group: X11/Libraries
%{?with_swr:Requires: cpuinfo(avx)}
-Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires: xorg-xserver-server >= %{xserver_ver}
Requires: zlib >= %{zlib_ver}
+Conflicts: xorg-xserver-libglx(glapi) > %{glapi_ver}
+Conflicts: xorg-xserver-libglx(glapi) < %{glapi_ver}
%description dri-driver-intel-iris
X.org Gallium DRI driver for Intel Iris (Gen8+) card family
License: MIT
Group: X11/Libraries
%{?with_swr:Requires: cpuinfo(avx)}
-#Requires: xorg-driver-video-?
-Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires: xorg-xserver-server >= %{xserver_ver}
Requires: zlib >= %{zlib_ver}
+#Suggests: xorg-driver-video-?
+Conflicts: xorg-xserver-libglx(glapi) > %{glapi_ver}
+Conflicts: xorg-xserver-libglx(glapi) < %{glapi_ver}
%description dri-driver-kmsro
X.org Gallium DRI driver using KMS Render-Only architecture.
License: MIT
Group: X11/Libraries
%{?with_swr:Requires: cpuinfo(avx)}
-#Requires: xorg-driver-video-???
-Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires: xorg-xserver-server >= %{xserver_ver}
Requires: zlib >= %{zlib_ver}
+#Suggests: xorg-driver-video-???
+Conflicts: xorg-xserver-libglx(glapi) > %{glapi_ver}
+Conflicts: xorg-xserver-libglx(glapi) < %{glapi_ver}
%description dri-driver-lima
X.org Gallium DRI driver for Mali Utgard chips.
%if %{with gallium_nouveau}
%{?with_swr:Requires: cpuinfo(avx)}
%endif
-Requires: xorg-driver-video-nouveau
-Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires: xorg-xserver-server >= %{xserver_ver}
Requires: zlib >= %{zlib_ver}
+Suggests: xorg-driver-video-nouveau
+Conflicts: xorg-xserver-libglx(glapi) > %{glapi_ver}
+Conflicts: xorg-xserver-libglx(glapi) < %{glapi_ver}
%description dri-driver-nouveau
X.org DRI drivers for NVIDIA card family.
License: MIT
Group: X11/Libraries
%{?with_swr:Requires: cpuinfo(avx)}
-#Requires: xorg-driver-video-???
-Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires: xorg-xserver-server >= %{xserver_ver}
Requires: zlib >= %{zlib_ver}
+#Suggests: xorg-driver-video-???
+Conflicts: xorg-xserver-libglx(glapi) > %{glapi_ver}
+Conflicts: xorg-xserver-libglx(glapi) < %{glapi_ver}
%description dri-driver-panfrost
X.org Gallium DRI driver for Mali Midgard/Bifrost chips.
License: MIT
Group: X11/Libraries
%{?with_swr:Requires: cpuinfo(avx)}
-Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires: xorg-xserver-server >= %{xserver_ver}
Requires: zlib >= %{zlib_ver}
+Conflicts: xorg-xserver-libglx(glapi) > %{glapi_ver}
+Conflicts: xorg-xserver-libglx(glapi) < %{glapi_ver}
%description dri-driver-swrast
X.org DRI software rasterizer driver.
License: MIT
Group: X11/Libraries
%{?with_swr:Requires: cpuinfo(avx)}
-#Requires: xorg-driver-video-???
-Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires: xorg-xserver-server >= %{xserver_ver}
Requires: zlib >= %{zlib_ver}
+#Suggests: xorg-driver-video-???
+Conflicts: xorg-xserver-libglx(glapi) > %{glapi_ver}
+Conflicts: xorg-xserver-libglx(glapi) < %{glapi_ver}
%description dri-driver-tegra
X.org Gallium DRI driver for Tegra SoC chips.
License: MIT
Group: X11/Libraries
%{?with_swr:Requires: cpuinfo(avx)}
-Requires: xorg-driver-video-modesetting
-Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires: xorg-xserver-server >= %{xserver_ver}
Requires: zlib >= %{zlib_ver}
+Suggests: xorg-driver-video-modesetting
+Conflicts: xorg-xserver-libglx(glapi) > %{glapi_ver}
+Conflicts: xorg-xserver-libglx(glapi) < %{glapi_ver}
%description dri-driver-v3d
X.org Gallium DRI driver for Broadcom VC5 chips.
License: MIT
Group: X11/Libraries
%{?with_swr:Requires: cpuinfo(avx)}
-Requires: xorg-driver-video-modesetting
-Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires: xorg-xserver-server >= %{xserver_ver}
Requires: zlib >= %{zlib_ver}
+Suggests: xorg-driver-video-modesetting
+Conflicts: xorg-xserver-libglx(glapi) > %{glapi_ver}
+Conflicts: xorg-xserver-libglx(glapi) < %{glapi_ver}
%description dri-driver-vc4
X.org Gallium DRI driver for Broadcom VC4 chips.
License: MIT
Group: X11/Libraries
%{?with_swr:Requires: cpuinfo(avx)}
-Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires: xorg-xserver-server >= %{xserver_ver}
Requires: zlib >= %{zlib_ver}
+Conflicts: xorg-xserver-libglx(glapi) > %{glapi_ver}
+Conflicts: xorg-xserver-libglx(glapi) < %{glapi_ver}
%description dri-driver-virgl
X.org Gallium DRI driver for QEMU VirGL.
License: MIT
Group: X11/Libraries
%{?with_swr:Requires: cpuinfo(avx)}
-Requires: xorg-driver-video-vmware
-Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires: xorg-xserver-server >= %{xserver_ver}
Requires: zlib >= %{zlib_ver}
+Suggests: xorg-driver-video-vmware
+Conflicts: xorg-xserver-libglx(glapi) > %{glapi_ver}
+Conflicts: xorg-xserver-libglx(glapi) < %{glapi_ver}
%description dri-driver-vmwgfx
X.org Gallium DRI driver for VMWare.
Summary(pl.UTF-8): Sterownik X.org DRI oparty na Vulkanie
License: MIT
Group: X11/Libraries
-Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires: xorg-xserver-server >= %{xserver_ver}
Requires: zlib >= %{zlib_ver}
+Conflicts: xorg-xserver-libglx(glapi) > %{glapi_ver}
+Conflicts: xorg-xserver-libglx(glapi) < %{glapi_ver}
%description dri-driver-zink
X.org Gallium DRI driver based on Vulkan.
Summary: VA driver for ATI Radeon R600 series adapters
Summary(pl.UTF-8): Sterownik VA dla kart ATI Radeon z serii R600
Group: Libraries
-Requires: libva >= 1.6.0
+Requires: libva >= 1.8.0
Requires: zlib >= %{zlib_ver}
%description -n libva-driver-r600
Summary: VA driver for ATI Radeon SI adapters
Summary(pl.UTF-8): Sterownik VA dla kart ATI Radeon SI
Group: Libraries
-Requires: libva >= 1.6.0
+Requires: libva >= 1.8.0
Requires: zlib >= %{zlib_ver}
%description -n libva-driver-radeonsi
Summary: VA driver for NVidia adapters
Summary(pl.UTF-8): Sterownik VA dla kart NVidia
Group: Libraries
-Requires: libva >= 1.6.0
+Requires: libva >= 1.8.0
Requires: zlib >= %{zlib_ver}
%description -n libva-driver-nouveau
Requires: libdrm >= %{libdrm_ver}
Requires: libvdpau >= 1.1
Requires: zlib >= %{zlib_ver}
-Conflicts: libvdpau-driver-mesa
Obsoletes: Mesa-libllvmradeon < 9.2
+Conflicts: libvdpau-driver-mesa
%description -n libvdpau-driver-mesa-radeonsi
Mesa radeonsi driver for the vdpau API. It supports ATI Radeon
License: MIT
Group: X11/Libraries
Requires: libdrm >= %{libdrm_ver}
-Requires: libxcb >= 1.13
Requires: libomxil-bellagio
+Requires: libxcb >= 1.13
Requires: zlib >= %{zlib_ver}
Obsoletes: omxil-mesa-nouveau < 10.3
Obsoletes: omxil-mesa-r600 < 10.3
vc4 \
%endif
"
+# TODO: asahi (Apple Silicon) - arm/aarch64?
gallium_drivers=$(echo $gallium_drivers | xargs | tr ' ' ',')
%ninja_install -C build
+install -d $RPM_BUILD_ROOT%{_libdir}/gbm
+
# not used externally
%{__rm} $RPM_BUILD_ROOT%{_libdir}/libglapi.so
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libgbm.so.*.*
%attr(755,root,root) %ghost %{_libdir}/libgbm.so.1
+%dir %{_libdir}/gbm
%files libgbm-devel
%defattr(644,root,root,755)
%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/kirin_dri.so
%attr(755,root,root) %{_libdir}/xorg/modules/dri/mali-dp_dri.so
%attr(755,root,root) %{_libdir}/xorg/modules/dri/mcde_dri.so
%attr(755,root,root) %{_libdir}/xorg/modules/dri/mediatek_dri.so