# (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.105
%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.18
+%define libglvnd_ver 1.3.2
%define llvm_ver 8.0.0
%define gcc_ver 6:4.8.0
%undefine with_omx
%undefine with_opencl
%undefine with_swr
+%undefine with_va
%undefine with_xa
%endif
Summary: Free OpenGL implementation
Summary(pl.UTF-8): Wolnodostępna implementacja standardu OpenGL
Name: Mesa
-Version: 20.1.0
+Version: 21.1.0
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: 5a14e44bef70d04b48a8d34fced1384e
+# Source0-md5: 7482dd659c3708bdda247c96449d9d79
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}
+Patch1: zink_x32.patch
+URL: https://www.mesa3d.org/
+%{?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 >= %{libglvnd_ver}}
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
BuildRequires: pkgconfig(xcb-randr) >= 1.12
BuildRequires: python3 >= 1:3.2
BuildRequires: python3-Mako >= 0.8.0
-BuildRequires: rpmbuild(macros) >= 1.470
+BuildRequires: rpmbuild(macros) >= 1.736
BuildRequires: sed >= 4.0
%{?with_opencl_spirv:BuildRequires: spirv-tools-devel >= 2018.0}
# wayland-{client,server}
%{?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-libX11-devel
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}
# libGLESv1_CM, libGLESv2, libGL, libOSMesa:
# _glapi_tls_Dispatch is defined in libglapi, but it's some kind of symbol ldd -r doesn't notice(?)
-%define skip_post_check_so libGLESv1_CM.so.1.* libGLESv2.so.2.* libGL.so.1.* libOSMesa.so.* libGLX_mesa.so.0.*
+%define skip_post_check_so libGLESv1_CM.so.1.* libGLESv2.so.2.* libGL.so.1.* libOSMesa.so.* libGLX_mesa.so.0.*
%description
Mesa is a 3-D graphics library with an API which is very similar to
Requires: OpenGL >= 1.2
Requires: libdrm >= %{libdrm_ver}
Requires: libxcb >= 1.13
-%{?with_wayland:Requires: wayland >= 1.11.0}
+%{?with_wayland:Requires: wayland >= %{wayland_ver}}
%if %{with gbm}
Requires: %{name}-libgbm = %{version}-%{release}
%endif
+%if %{with glvnd}
+Requires: libglvnd-libEGL >= %{libglvnd_ver}
+%endif
Provides: EGL = 1.5
%description libEGL
Summary(pl.UTF-8): Pliki nagłówkowe implementacji Mesa biblioteki EGL
License: MIT
Group: Development/Libraries
-Requires: %{name}-khrplatform-devel = %{version}-%{release}
Requires: %{name}-libEGL = %{version}-%{release}
-Requires: libdrm-devel >= %{libdrm_ver}
Requires: xorg-lib-libX11-devel
-Requires: xorg-lib-libXdamage-devel >= 1.1
+%if %{with glvnd}
+Requires: libglvnd-libEGL-devel >= %{libglvnd_ver}
+%else
+Requires: %{name}-khrplatform-devel = %{version}-%{release}
+Requires: libdrm-devel >= %{libdrm_ver}
+Requires: libxcb-devel >= 1.13
+Requires: pkgconfig(xcb-dri2) >= 1.8
+Requires: pkgconfig(xcb-glx) >= 1.8.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}
+%endif
%if %{without glvnd}
Provides: EGL-devel = 1.5
%endif
+Obsoletes: Mesa-libEGL-static < 18.3
%description libEGL-devel
Header files for Mesa implementation of EGL library.
%description libEGL-devel -l pl.UTF-8
Pliki nagłówkowe implementacji Mesa biblioteki EGL.
-%package libEGL-static
-Summary: Static Mesa EGL library
-Summary(pl.UTF-8): Statyczna biblioteka Mesa EGL
-License: MIT
-Group: Development/Libraries
-Requires: %{name}-libEGL-devel = %{version}-%{release}
-Provides: EGL-static = 1.5
-
-%description libEGL-static
-Static Mesa EGL library.
-
-%description libEGL-static -l pl.UTF-8
-Statyczna biblioteka Mesa EGL.
-
%package libGL
Summary: Free Mesa3D implementation of libGL OpenGL library
Summary(pl.UTF-8): Wolnodostępna implementacja Mesa3D biblioteki libGL ze standardu OpenGL
Requires: %{name}-libglapi = %{version}-%{release}
Requires: libdrm >= %{libdrm_ver}
Requires: libxcb >= 1.13
-Requires: xorg-lib-libXdamage >= 1.1
+%if %{with glvnd}
+Requires: libglvnd-libGL >= %{libglvnd_ver}
+%endif
Provides: OpenGL = 4.6
Provides: OpenGL-GLX = 1.4
-Obsoletes: Mesa
-Obsoletes: Mesa-dri
+Obsoletes: Mesa < 6.4-2
+Obsoletes: Mesa-dri < 6.4.1-3
Obsoletes: Mesa-dri-core < 10.0.0
Obsoletes: X11-OpenGL-libGL < 1:7.0.0
Obsoletes: XFree86-OpenGL-libGL < 1:7.0.0
Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libGL z projektu Mesa3D
License: MIT
Group: X11/Development/Libraries
-# loose dependency on libGL to use with other libGL binaries
-Requires: OpenGL >= 1.5
Requires: libdrm-devel >= %{libdrm_ver}
+%if %{with glvnd}
+Requires: libglvnd-libGL-devel >= %{libglvnd_ver}
+%else
+Requires: %{name}-libGL = %{version}-%{release}
+Requires: libxcb-devel >= 1.13
+Requires: pkgconfig(xcb-dri2) >= 1.8
+Requires: pkgconfig(xcb-glx) >= 1.8.1
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 >= 2.0
Requires: xorg-lib-libXxf86vm-devel
-Requires: xorg-proto-dri2proto-devel >= %{dri2proto_ver}
-Requires: xorg-proto-glproto-devel >= %{glproto_ver}
+%endif
Suggests: OpenGL-doc-man
%if %{without glvnd}
Provides: OpenGL-GLX-devel = 1.4
Provides: OpenGL-devel = 4.6
%endif
-Obsoletes: Mesa-devel
+Obsoletes: Mesa-devel < 6.4-2
+Obsoletes: Mesa-libGL-static < 18.3
+Obsoletes: Mesa-static < 6.4-2
Obsoletes: X11-OpenGL-devel < 1:7.0.0
Obsoletes: X11-OpenGL-devel-base < 1:7.0.0
+Obsoletes: X11-OpenGL-static < 1:7.0.0
Obsoletes: XFree86-OpenGL-devel < 1:7.0.0
Obsoletes: XFree86-OpenGL-devel-base < 1:7.0.0
+Obsoletes: XFree86-OpenGL-static < 1:7.0.0
%description libGL-devel
Header files for Mesa3D libGL library.
%description libGL-devel -l pl.UTF-8
Pliki nagłówkowe biblioteki libGL z projektu Mesa3D.
-%package libGL-static
-Summary: Static Mesa3D libGL library
-Summary(pl.UTF-8): Statyczna biblioteka libGL z projektu Mesa3D
-License: MIT
-Group: X11/Development/Libraries
-Requires: %{name}-libGL-devel = %{version}-%{release}
-Provides: OpenGL-static = 4.6
-Obsoletes: Mesa-static
-Obsoletes: X11-OpenGL-static < 1:7.0.0
-Obsoletes: XFree86-OpenGL-static < 1:7.0.0
-
-%description libGL-static
-Static Mesa3D libGL library. It uses software renderer.
-
-%description libGL-static -l pl.UTF-8
-Statyczna biblioteka libGL z projektu Mesa3D. Używa programowego
-renderingu.
-
%package libGLES
Summary: Mesa implementation of GLES (OpenGL ES) libraries
Summary(pl.UTF-8): Implementacja Mesa bibliotek GLES (OpenGL ES)
Group: Libraries
Requires: %{name}-libglapi = %{version}-%{release}
+%if %{with glvnd}
+Requires: libglvnd-libGLES >= %{libglvnd_ver}
+%endif
Provides: OpenGLES
Provides: OpenGLESv1 = 1.1
Provides: OpenGLESv2 = 2.0
Summary: Header files for Mesa GLES libraries
Summary(pl.UTF-8): Pliki nagłówkowe bibliotek Mesa GLES
Group: Development/Libraries
+Requires: %{name}-libGLES = %{version}-%{release}
+%if %{with glvnd}
+Requires: libglvnd-libGLES-devel >= %{libglvnd_ver}
+%else
Requires: %{name}-khrplatform-devel = %{version}-%{release}
# <EGL/egl.h> for <GLES/egl.h>
Requires: %{name}-libEGL-devel = %{version}-%{release}
-Requires: %{name}-libGLES = %{version}-%{release}
+%endif
%if %{without glvnd}
Provides: OpenGLES-devel
Provides: OpenGLESv1-devel = 1.1
# for <GL/gl.h> only
Requires: OpenGL-devel
Requires: libselinux-devel
+Obsoletes: Mesa-libOSMesa-static < 18.3
%description libOSMesa-devel
Header file for OSMesa (off-screen renderer) library.
%description libOSMesa-devel -l pl.UTF-8
Plik nagłówkowy biblioteki OSMesa (renderującej bitmapy w pamięci).
-%package libOSMesa-static
-Summary: Static OSMesa (off-screen renderer) library
-Summary(pl.UTF-8): Biblioteka statyczna OSMesa (renderująca bitmapy w pamięci)
-License: MIT
-Group: Development/Libraries
-Requires: %{name}-libOSMesa-devel = %{version}-%{release}
-# this static build of OSMesa needs static non-dri Mesa implementation
-Requires: %{name}-libGL-static = %{version}-%{release}
-
-%description libOSMesa-static
-Static OSMesa (off-screen renderer) library.
-
-%description libOSMesa-static -l pl.UTF-8
-Biblioteka statyczna OSMesa (renderująca bitmapy w pamięci).
-
%package OpenCL-icd
Summary: Mesa implementation of OpenCL (Compuing Language) API ICD
Summary(pl.UTF-8): Implementacja Mesa API OpenCL (języka obliczeń) ICD
znaleźć na stronie Khronos Group: <http://www.khronos.org/opencl/>.
Mesa zawiera implementację OpenCL w wersji 1.1.
-Implementacja dostarczona jest w postaci instalowalnego sterownika klienta
-(ICD), który może być użyty z loaderem ocl-icd.
+Implementacja dostarczona jest w postaci instalowalnego sterownika
+klienta (ICD), który może być użyty z loaderem ocl-icd.
%package libOpenCL
Summary: Mesa implementation of OpenCL (Compuing Language) API
%description libOpenCL-devel -l pl.UTF-8
Pliki nagłówkowe biblioteki Mesa OpenCL.
-%package libXvMC-nouveau
-Summary: Mesa implementation of XvMC API for NVidia adapters
-Summary(pl.UTF-8): Implementacja Mesa API XvMC dla kart NVidia
-License: MIT
-Group: Libraries
-Requires: libdrm >= %{libdrm_ver}
-Requires: xorg-lib-libXvMC >= 1.0.6
-Requires: zlib >= %{zlib_ver}
-Conflicts: Mesa-libXvMC
-
-%description libXvMC-nouveau
-Mesa implementation of XvMC API for NVidia adapters (NV40-NV96, NVa0).
-
-%description libXvMC-nouveau -l pl.UTF-8
-Implementacja Mesa API XvMC dla kart NVidia (NV40-NV96, NVa0).
-
-%package libXvMC-r600
-Summary: Mesa implementation of XvMC API for ATI Radeon R600 series adapters
-Summary(pl.UTF-8): Implementacja Mesa API XvMC dla kart ATI Radeon z serii R600
-License: MIT
-Group: Libraries
-Requires: libdrm >= %{libdrm_ver}
-Requires: xorg-lib-libXvMC >= 1.0.6
-Requires: zlib >= %{zlib_ver}
-Conflicts: Mesa-libXvMC
-
-%description libXvMC-r600
-Mesa implementation of XvMC API for ATI Radeon adapters based on
-R600/R700 chips.
-
-%description libXvMC-r600 -l pl.UTF-8
-Implementacja Mesa API XvMC dla kart ATI Radeon opartych na układach
-R600/R700.
-
-%package -n libva-driver-gallium
-Summary: VA driver for Gallium State Tracker
-Summary(pl.UTF-8): Sterowniki VA do Gallium
-Group: Libraries
-%if %{with gallium_radeon}
-Requires: libva-driver-r600
-Requires: libva-driver-radeonsi
-%endif
-%if %{with gallium_nouveau}
-Requires: libva-driver-nouveau
-%endif
-
-%description -n libva-driver-gallium
-VA drivers for Gallium State Tracker (r600, radeonsi & nouveau).
-
-%description -n libva-driver-gallium -l pl.UTF-8
-Sterowniki VA do Gallium (r600, radeonsi & nouveau).
-
-%package -n libva-driver-r600
-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: zlib >= %{zlib_ver}
-
-%description -n libva-driver-r600
-VA driver for ATI Radeon R600 series adapters.
-
-%description -n libva-driver-r600 -l pl.UTF-8
-Sterownik VA dla kart ATI Radeon z serii R600.
-
-%package -n libva-driver-radeonsi
-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: zlib >= %{zlib_ver}
-
-%description -n libva-driver-radeonsi
-VA driver for ATI Radeon adapters based on Southern Islands chips.
-
-%description -n libva-driver-radeonsi -l pl.UTF-8
-Sterownik VA dla kart ATI Radeon opartych na układach Southern
-Islands.
-
-%package -n libva-driver-nouveau
-Summary: VA driver for NVidia adapters
-Summary(pl.UTF-8): Sterownik VA dla kart NVidia
-Group: Libraries
-Requires: libva >= 1.6.0
-Requires: zlib >= %{zlib_ver}
-
-%description -n libva-driver-nouveau
-VA driver for NVidia adapters.
-
-%description -n libva-driver-nouveau -l pl.UTF-8
-Sterownik VA dla kart NVidia.
-
%package libgbm
Summary: Mesa Graphics Buffer Manager library
Summary(pl.UTF-8): Biblioteka Mesa Graphics Buffer Manager
%description khrplatform-devel -l pl.UTF-8
Plik nagłówkowy platformy Khronos.
+%package libXvMC-nouveau
+Summary: Mesa implementation of XvMC API for NVidia adapters
+Summary(pl.UTF-8): Implementacja Mesa API XvMC dla kart NVidia
+License: MIT
+Group: Libraries
+Requires: libdrm >= %{libdrm_ver}
+Requires: xorg-lib-libXvMC >= 1.0.6
+Requires: zlib >= %{zlib_ver}
+Conflicts: Mesa-libXvMC
+
+%description libXvMC-nouveau
+Mesa implementation of XvMC API for NVidia adapters (NV40-NV96, NVa0).
+
+%description libXvMC-nouveau -l pl.UTF-8
+Implementacja Mesa API XvMC dla kart NVidia (NV40-NV96, NVa0).
+
+%package libXvMC-r600
+Summary: Mesa implementation of XvMC API for ATI Radeon R600 series adapters
+Summary(pl.UTF-8): Implementacja Mesa API XvMC dla kart ATI Radeon z serii R600
+License: MIT
+Group: Libraries
+Requires: libdrm >= %{libdrm_ver}
+Requires: xorg-lib-libXvMC >= 1.0.6
+Requires: zlib >= %{zlib_ver}
+Conflicts: Mesa-libXvMC
+
+%description libXvMC-r600
+Mesa implementation of XvMC API for ATI Radeon adapters based on
+R600/R700 chips.
+
+%description libXvMC-r600 -l pl.UTF-8
+Implementacja Mesa API XvMC dla kart ATI Radeon opartych na układach
+R600/R700.
+
+%package d3d
+Summary: Nine Direct3D9 driver (for Wine)
+Summary(pl.UTF-8): Sterownik Direct3D9 Nine (dla Wine)
+Group: Libraries
+Requires: libdrm >= %{libdrm_ver}
+Requires: zlib >= %{zlib_ver}
+
+%description d3d
+Nine Direct3D9 driver (for Wine).
+
+%description d3d -l pl.UTF-8
+Sterownik Direct3D9 Nine (dla Wine).
+
+%package d3d-devel
+Summary: Nine Direct3D9 driver API
+Summary(pl.UTF-8): API sterownika Direct3D9 Nine
+Group: Development/Libraries
+Requires: libdrm-devel >= %{libdrm_ver}
+
+%description d3d-devel
+Nine Direct3D9 driver API.
+
+%description d3d-devel -l pl.UTF-8
+API sterownika Direct3D9 Nine.
+
%package dri-driver-ati-radeon-R100
Summary: X.org DRI driver for ATI R100 card family
Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart ATI R100
Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
Requires: xorg-xserver-server >= %{xserver_ver}
Requires: zlib >= %{zlib_ver}
-Obsoletes: Mesa-dri-driver-intel-i830
+Obsoletes: Mesa-dri-driver-intel-i830 < 6.5
Obsoletes: X11-driver-i810-dri < 1:7.0.0
%description dri-driver-intel-i915
Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
Requires: xorg-xserver-server >= %{xserver_ver}
Requires: zlib >= %{zlib_ver}
-Obsoletes: Mesa-dri-driver-intel-i830
+Obsoletes: Mesa-dri-driver-intel-i830 < 6.5
Obsoletes: X11-driver-i810-dri < 1:7.0.0
%description dri-driver-intel-i965
Sterownik X.org DRI Gallium oparty na Vulkanie.
%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
-Requires: zlib >= %{zlib_ver}
-Obsoletes: Mesa-gbm-driver-i915
-Obsoletes: Mesa-opencl-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
+Requires: zlib >= %{zlib_ver}
+Obsoletes: Mesa-gbm-driver-i915 < 11.1.1
+Obsoletes: Mesa-opencl-driver-i915 < 9.1
%description pipe-driver-i915
i915 driver for Mesa Gallium dynamic pipe loader. It supports Intel
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
Summary(pl.UTF-8): Sterownik nouveau dla dynamicznego systemu potoków szkieletu Mesa Gallium
Group: Libraries
Requires: zlib >= %{zlib_ver}
-Obsoletes: Mesa-gbm-driver-nouveau
-Obsoletes: Mesa-opencl-driver-nouveau
+Obsoletes: Mesa-gbm-driver-nouveau < 11.1.1
+Obsoletes: Mesa-opencl-driver-nouveau < 9.1
%description pipe-driver-nouveau
nouveau driver for Mesa Gallium dynamic pipe loader. It supports
Summary(pl.UTF-8): Sterownik r300 dla dynamicznego systemu potoków szkieletu Mesa Gallium
Group: Libraries
Requires: zlib >= %{zlib_ver}
-Obsoletes: Mesa-gbm-driver-r300
-Obsoletes: Mesa-opencl-driver-r300
+Obsoletes: Mesa-gbm-driver-r300 < 11.1.1
+Obsoletes: Mesa-opencl-driver-r300 < 9.1
%description pipe-driver-r300
r300 driver for Mesa Gallium dynamic pipe loader. It supports ATI
Summary(pl.UTF-8): Sterownik r600 dla dynamicznego systemu potoków szkieletu Mesa Gallium
Group: Libraries
Requires: zlib >= %{zlib_ver}
-Obsoletes: Mesa-gbm-driver-r600
-Obsoletes: Mesa-libllvmradeon
-Obsoletes: Mesa-opencl-driver-r600
+Obsoletes: Mesa-gbm-driver-r600 < 11.1.1
+Obsoletes: Mesa-libllvmradeon < 9.2
+Obsoletes: Mesa-opencl-driver-r600 < 9.1
%description pipe-driver-r600
r600 driver for Mesa Gallium dynamic pipe loader. It supports ATI
Summary(pl.UTF-8): Sterownik radeonsi dla dynamicznego systemu potoków szkieletu Mesa Gallium
Group: Libraries
Requires: zlib >= %{zlib_ver}
-Obsoletes: Mesa-gbm-driver-radeonsi
-Obsoletes: Mesa-libllvmradeon
-Obsoletes: Mesa-opencl-driver-radeonsi
+Obsoletes: Mesa-gbm-driver-radeonsi < 11.1.1
+Obsoletes: Mesa-libllvmradeon < 9.2
+Obsoletes: Mesa-opencl-driver-radeonsi < 9.1
%description pipe-driver-radeonsi
radeonsi driver for Mesa Gallium dynamic pipe loader. It supports ATI
Group: Libraries
%{?with_swr:Requires: cpuinfo(avx)}
Requires: zlib >= %{zlib_ver}
-Obsoletes: Mesa-gbm-driver-swrast
-Obsoletes: Mesa-opencl-driver-swrast
+Obsoletes: Mesa-gbm-driver-swrast < 11.1.1
+Obsoletes: Mesa-opencl-driver-swrast < 9.1
%description pipe-driver-swrast
Software (swrast) driver for Mesa Gallium dynamic pipe loader.
Summary(pl.UTF-8): Sterownik vmwgfx dla dynamicznego systemu potoków szkieletu Mesa Gallium
Group: Libraries
Requires: zlib >= %{zlib_ver}
-Obsoletes: Mesa-gbm-driver-vmwgfx
-Obsoletes: Mesa-opencl-driver-vmwgfx
+Obsoletes: Mesa-gbm-driver-vmwgfx < 11.1.1
+Obsoletes: Mesa-opencl-driver-vmwgfx < 9.1
%description pipe-driver-vmwgfx
vmwgfx driver for Mesa Gallium dynamic pipe loader. It supports VMware
zestawy instrukcji x86 AVX lub AVX2. Mogą być wczytywane przez
sterownik potoków swrast lub bibliotekę OSMesa.
-%package d3d
-Summary: Nine Direct3D9 driver (for Wine)
-Summary(pl.UTF-8): Sterownik Direct3D9 Nine (dla Wine)
+%package -n libva-driver-gallium
+Summary: VA driver for Gallium State Tracker
+Summary(pl.UTF-8): Sterowniki VA do Gallium
Group: Libraries
-Requires: libdrm >= %{libdrm_ver}
+%if %{with gallium_radeon}
+Requires: libva-driver-r600 = %{version}-%{release}
+Requires: libva-driver-radeonsi = %{version}-%{release}
+%endif
+%if %{with gallium_nouveau}
+Requires: libva-driver-nouveau = %{version}-%{release}
+%endif
+
+%description -n libva-driver-gallium
+VA drivers for Gallium State Tracker (r600, radeonsi & nouveau).
+
+%description -n libva-driver-gallium -l pl.UTF-8
+Sterowniki VA do Gallium (r600, radeonsi & nouveau).
+
+%package -n libva-driver-r600
+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: zlib >= %{zlib_ver}
-%description d3d
-Nine Direct3D9 driver (for Wine).
+%description -n libva-driver-r600
+VA driver for ATI Radeon R600 series adapters.
-%description d3d -l pl.UTF-8
-Sterownik Direct3D9 Nine (dla Wine).
+%description -n libva-driver-r600 -l pl.UTF-8
+Sterownik VA dla kart ATI Radeon z serii R600.
-%package d3d-devel
-Summary: Nine Direct3D9 driver API
-Summary(pl.UTF-8): API sterownika Direct3D9 Nine
-Group: Development/Libraries
-Requires: libdrm-devel >= %{libdrm_ver}
+%package -n libva-driver-radeonsi
+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: zlib >= %{zlib_ver}
-%description d3d-devel
-Nine Direct3D9 driver API.
+%description -n libva-driver-radeonsi
+VA driver for ATI Radeon adapters based on Southern Islands chips.
-%description d3d-devel -l pl.UTF-8
-API sterownika Direct3D9 Nine.
+%description -n libva-driver-radeonsi -l pl.UTF-8
+Sterownik VA dla kart ATI Radeon opartych na układach Southern
+Islands.
+
+%package -n libva-driver-nouveau
+Summary: VA driver for NVidia adapters
+Summary(pl.UTF-8): Sterownik VA dla kart NVidia
+Group: Libraries
+Requires: libva >= 1.6.0
+Requires: zlib >= %{zlib_ver}
+
+%description -n libva-driver-nouveau
+VA driver for NVidia adapters.
+
+%description -n libva-driver-nouveau -l pl.UTF-8
+Sterownik VA dla kart NVidia.
%package -n libvdpau-driver-mesa-nouveau
Summary: Mesa nouveau driver for the vdpau API
Requires: libvdpau >= 1.1
Requires: zlib >= %{zlib_ver}
Conflicts: libvdpau-driver-mesa
-Obsoletes: Mesa-libllvmradeon
+Obsoletes: Mesa-libllvmradeon < 9.2
%description -n libvdpau-driver-mesa-radeonsi
Mesa radeonsi driver for the vdpau API. It supports ATI Radeon
Requires: libxcb >= 1.13
Requires: libomxil-bellagio
Requires: zlib >= %{zlib_ver}
-Obsoletes: omxil-mesa-nouveau
-Obsoletes: omxil-mesa-r600
-Obsoletes: omxil-mesa-radeonsi
+Obsoletes: omxil-mesa-nouveau < 10.3
+Obsoletes: omxil-mesa-r600 < 10.3
+Obsoletes: omxil-mesa-radeonsi < 10.3
%description -n omxil-mesa
Mesa driver for Bellagio OpenMAX IL API.
%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
Requires: zlib >= %{zlib_ver}
Suggests: vulkan(loader)
Provides: vulkan(icd) = 1.0.3
+Obsoletes: Mesa-vulkan-icd-intel-devel < 21.1.0
%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 Intela
+%package vulkan-icd-lavapipe
+Summary: lavapipe - Mesa software Vulkan driver
+Summary(pl.UTF-8): lavapipe - programowy sterownik Vulkan
License: MIT
-Group: Development/Libraries
-Requires: %{name}-vulkan-icd-intel = %{version}-%{release}
+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-intel-devel
-eader files for Mesa Intel GPU Vulkan driver.
+%description vulkan-icd-lavapipe
+lavapipe - Mesa software Vulkan driver.
-%description vulkan-icd-intel-devel -l pl.UTF-8
-Pliki nagłówkowe sterownika Vulkan dla GPU Intel.
+%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
%ifarch %{arm} aarch64
etnaviv \
freedreno \
-kmsro \
lima \
panfrost \
%{?with_gallium_nouveau:tegra} \
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} \
+ -Dosmesa=true \
-Dselinux=true \
-Dva-libs-path=%{_libdir}/libva/dri \
-Dvulkan-drivers=${vulkan_drivers} \
-Dvulkan-icd-dir=/usr/share/vulkan/icd.d
-%meson_build -C build
+%ninja_build -C build
-%{?with_tests:%meson_test -C build}
+%{?with_tests:%ninja_test -C build}
%install
rm -rf $RPM_BUILD_ROOT
-%meson_install -C build
+%ninja_install -C build
# not used externally
%{__rm} $RPM_BUILD_ROOT%{_libdir}/libglapi.so
%post libOSMesa -p /sbin/ldconfig
%postun libOSMesa -p /sbin/ldconfig
+%post OpenCL-icd -p /sbin/ldconfig
+%postun OpenCL-icd -p /sbin/ldconfig
+
%post libOpenCL -p /sbin/ldconfig
%postun libOpenCL -p /sbin/ldconfig
-%post libXvMC-nouveau -p /sbin/ldconfig
-%postun libXvMC-nouveau -p /sbin/ldconfig
-%post libXvMC-r600 -p /sbin/ldconfig
-%postun libXvMC-r600 -p /sbin/ldconfig
-
%post libgbm -p /sbin/ldconfig
%postun libgbm -p /sbin/ldconfig
%post libxatracker -p /sbin/ldconfig
%postun libxatracker -p /sbin/ldconfig
+%post libXvMC-nouveau -p /sbin/ldconfig
+%postun libXvMC-nouveau -p /sbin/ldconfig
+%post libXvMC-r600 -p /sbin/ldconfig
+%postun libXvMC-r600 -p /sbin/ldconfig
+
+### libraries
+
%if %{with egl}
%files libEGL
%defattr(644,root,root,755)
%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
%endif
%endif
-%if %{with gallium}
-%if %{with gallium_nouveau}
-%files libXvMC-nouveau
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libXvMCnouveau.so
-%endif
-
-%if %{with gallium_radeon}
-%files libXvMC-r600
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libXvMCr600.so
-%endif
-
-%if %{with va}
-%files -n libva-driver-gallium
-%defattr(644,root,root,755)
-
-%if %{with gallium_radeon}
-%files -n libva-driver-r600
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libva/dri/r600_drv_video.so
-
-%files -n libva-driver-radeonsi
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libva/dri/radeonsi_drv_video.so
-%endif
-
-%if %{with gallium_nouveau}
-%files -n libva-driver-nouveau
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libva/dri/nouveau_drv_video.so
-%endif
-%endif
-%endif
-
%if %{with gbm}
%files libgbm
%defattr(644,root,root,755)
%endif
%endif
+### drivers: XvMC
+
+%if %{with gallium_nouveau}
+%files libXvMC-nouveau
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libXvMCnouveau.so.1.*.*
+%attr(755,root,root) %ghost %{_libdir}/libXvMCnouveau.so.1
+%attr(755,root,root) %{_libdir}/libXvMCnouveau.so
+%endif
+
+%if %{with gallium_radeon}
+%files libXvMC-r600
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libXvMCr600.so.1.*.*
+%attr(755,root,root) %ghost %{_libdir}/libXvMCr600.so.1
+%attr(755,root,root) %{_libdir}/libXvMCr600.so
+%endif
+
+### drivers: d3d
+
+%if %{with nine}
+%files d3d
+%defattr(644,root,root,755)
+%dir %{_libdir}/d3d
+%attr(755,root,root) %{_libdir}/d3d/d3dadapter9.so*
+
+%files d3d-devel
+%defattr(644,root,root,755)
+%{_includedir}/d3dadapter
+%{_pkgconfigdir}/d3d.pc
+%endif
+
+### drivers: dri
+
%files dri-driver-ati-radeon-R100
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/radeon_dri.so
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/r200_dri.so
-%if %{with gallium}
%if %{with gallium_radeon}
%files dri-driver-ati-radeon-R300
%defattr(644,root,root,755)
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/radeonsi_dri.so
%endif
-%endif
%ifarch %{ix86} %{x8664} x32
%files dri-driver-intel-i915
%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
%endif
%endif
+### drivers: pipe
+
%if %{with gallium}
%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}
%endif
%endif
-%if %{with nine}
-%files d3d
+### drivers: va
+
+%if %{with va}
+%files -n libva-driver-gallium
%defattr(644,root,root,755)
-%dir %{_libdir}/d3d
-%attr(755,root,root) %{_libdir}/d3d/d3dadapter9.so*
-%files d3d-devel
+%if %{with gallium_radeon}
+%files -n libva-driver-r600
%defattr(644,root,root,755)
-%{_includedir}/d3dadapter
-%{_pkgconfigdir}/d3d.pc
+%attr(755,root,root) %{_libdir}/libva/dri/r600_drv_video.so
+
+%files -n libva-driver-radeonsi
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libva/dri/radeonsi_drv_video.so
%endif
-%if %{with gallium}
+%if %{with gallium_nouveau}
+%files -n libva-driver-nouveau
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libva/dri/nouveau_drv_video.so
+%endif
+%endif
+
+### drivers: vdpau
+
+%if %{with vdpau}
# ldconfig is not used in vdpau tree, so package all symlinks
%if %{with gallium_nouveau}
%files -n libvdpau-driver-mesa-nouveau
%endif
%endif
-%if %{with gallium} && %{with omx}
+### drivers: omxil
+
+%if %{with omx}
%files -n omxil-mesa
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/bellagio/libomx_mesa.so
%endif
+### drivers: vulkan
+
+%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)
%attr(755,root,root) %{_libdir}/libvulkan_intel.so
%{_datadir}/vulkan/icd.d/intel_icd.*.json
+%endif
-%files vulkan-icd-intel-devel
+%files vulkan-icd-lavapipe
%defattr(644,root,root,755)
-%{_includedir}/vulkan/vulkan_intel.h
-%endif
+%attr(755,root,root) %{_libdir}/libvulkan_lvp.so
+%{_datadir}/vulkan/icd.d/lvp_icd.*.json
%if %{with radv}
%files vulkan-icd-radeon