]> git.pld-linux.org Git - packages/Mesa.git/blobdiff - Mesa.spec
- separated -dri-devel from -libGL-devel, release 2
[packages/Mesa.git] / Mesa.spec
index 4f8aabc0efb85f674e9b85a0c43bb189d48085c1..7c0534266225f2dfe1b7d0d8656b6368aa5e284b 100644 (file)
--- a/Mesa.spec
+++ b/Mesa.spec
@@ -1,54 +1,52 @@
-#
-# TODO:
-# - check if gallium_i915 note is still valid, switch the bcond if not
+# TODO: libtizonia >= 0.10.0 as an alternative for bellagio?
 #
 # Conditional build:
 %bcond_without gallium         # gallium drivers
-%bcond_with    gallium_i915    # gallium i915 Intel driver (instead of plain dri; doesn't work with AIGLX)
+%bcond_with    gallium_i915    # gallium i915 driver instead of dri i915 driver
 %bcond_without gallium_nouveau # gallium nouveau driver
 %bcond_without gallium_radeon  # gallium radeon drivers
+%bcond_without gallium_zink    # gallium zink driver (based on vulkan)
 %bcond_without egl             # EGL libraries
-%bcond_with    openvg          # OpenVG library [not building since 10.4, dropped in 10.6]
 %bcond_without gbm             # Graphics Buffer Manager
 %bcond_without nine            # Nine Direct3D 9+ state tracker (for Wine)
 %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 omx             # OpenMAX (Bellagio OMXIL) support
 %bcond_without va              # VA library
 %bcond_without wayland         # Wayland EGL
 %bcond_without xa              # XA state tracker (for vmwgfx xorg driver)
+%bcond_without radv            # disable build of the radeon Vulkan driver
+%bcond_with    swr             # OpenSWR software rasterizer (x86 SIMD only; due to broken design
+                               # propagates AVX code over Gallium DRI megadriver, swrast pipe driver and libOSMesa)
 %bcond_with    hud_extra       # HUD block/NIC I/O HUD stats support
 %bcond_with    lm_sensors      # HUD lm_sensors support
-%bcond_with    texture_float   # floating-point textures and renderbuffers (SGI patent in US)
-%bcond_with    static_libs     # static libraries [not supported for DRI, thus broken currently]
 %bcond_with    tests           # tests
-%bcond_without shared_llvm     # disable use of the shared LLVM libs
-%bcond_without radv            # disable build of the radeon Vulkan driver
 #
 # glapi version (glapi tables in dri drivers and libglx must be in sync);
 # set to current Mesa version on ABI break, when xserver tables get regenerated
 # (until they start to be somehow versioned themselves)
 %define                glapi_ver               7.1.0
-# minimal supported xserver version
-%define                xserver_ver             1.5.0
 # other packages
-%define                libdrm_ver              2.4.92
+%define                libdrm_ver              2.4.105
 %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
+%define                wayland_ver             1.18
+%define                libglvnd_ver            1.3.2
+%define                llvm_ver                8.0.0
+%define                gcc_ver                 6:4.8.0
 
 %if %{without gallium}
 %undefine      with_gallium_i915
 %undefine      with_gallium_nouveau
 %undefine      with_gallium_radeon
 %undefine      with_nine
-%undefine      with_ocl_icd
 %undefine      with_omx
 %undefine      with_opencl
+%undefine      with_swr
+%undefine      with_va
 %undefine      with_xa
 %endif
 
 %undefine      with_wayland
 %endif
 
+%if %{without opencl}
+%undefine      with_ocl_icd
+%endif
+
+%ifnarch %{ix86} %{x8664} x32
+%undefine      with_swr
+%endif
+
+%if %{with gallium_radeon} || %{with gallium_nouveau}
+%define                with_vdpau      1
+%define                with_xvmc       1
+%endif
+
 Summary:       Free OpenGL implementation
 Summary(pl.UTF-8):     Wolnodostępna implementacja standardu OpenGL
 Name:          Mesa
-#              NOTE: 18.3 is being prepared on the 'Mesa-18.3' branch
-Version:       18.2.7
-Release:       1
+Version:       21.1.0
+Release:       2
 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: 7f0a9ecaabc3018d1875d41b37111a32
-Patch0:                %{name}-link.patch
-URL:           http://www.mesa3d.org/
-BuildRequires: autoconf >= 2.60
-BuildRequires: automake
-%{?with_opencl:BuildRequires:  clang-devel >= 3.1}
+# Source0-md5: 7482dd659c3708bdda247c96449d9d79
+Patch0:                nouveau_no_rtti.patch
+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: gcc >= 6:4.2.0
-%{?with_nine:BuildRequires:    gcc-c++ >= 6:4.6}
-%{?with_opencl:BuildRequires:  gcc-c++ >= 6:4.7}
+BuildRequires: flex
+BuildRequires: gcc >= %{gcc_ver}
 BuildRequires: libdrm-devel >= %{libdrm_ver}
-%{?with_glvnd:BuildRequires:   libglvnd-devel >= 0.2.0}
+%{?with_glvnd:BuildRequires:   libglvnd-devel >= %{libglvnd_ver}}
 BuildRequires: libselinux-devel
-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.6.0}
+BuildRequires: libstdc++-devel >= %{gcc_ver}
+BuildRequires: libunwind-devel
+%{?with_va:BuildRequires:      libva-devel}
 %{?with_va:BuildRequires:      pkgconfig(libva) >= 0.39.0}
-BuildRequires: libvdpau-devel >= 1.1
+%{?with_vdpau:BuildRequires:   libvdpau-devel >= 1.1}
 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_gallium:BuildRequires: llvm-devel >= %{llvm_ver}}
+%{?with_radv:BuildRequires:    llvm-devel >= %{llvm_ver}}
 %{?with_opencl:BuildRequires:  llvm-libclc}
-# for SHA1 (could use also libmd/libsha1/libgcrypt/openssl instead)
-BuildRequires: nettle-devel
-%{?with_ocl_icd:BuildRequires: ocl-icd-devel}
 %{?with_omx:BuildRequires:     libomxil-bellagio-devel}
-BuildRequires: perl-base
-BuildRequires: pixman-devel
+BuildRequires: meson >= 0.52
+BuildRequires: ninja >= 1.5
 BuildRequires: pkgconfig
 BuildRequires: pkgconfig(talloc) >= 2.0.1
 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: pkgconfig(xcb-randr) >= 1.12
+BuildRequires: python3 >= 1:3.2
+BuildRequires: python3-Mako >= 0.8.0
+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-libXt-devel
-BuildRequires: xorg-lib-libXvMC-devel >= 1.0.6
+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}
 BuildRequires: xorg-lib-libXxf86vm-devel
 BuildRequires: xorg-lib-libxshmfence-devel >= 1.1
 BuildRequires: xorg-proto-dri2proto-devel >= %{dri2proto_ver}
-BuildRequires: xorg-proto-dri3proto-devel >= %{dri3proto_ver}
 BuildRequires: xorg-proto-glproto-devel >= %{glproto_ver}
-BuildRequires: xorg-proto-presentproto-devel >= %{presentproto_ver}
-BuildRequires: xorg-util-makedepend
 %if %{with gallium}
-%{?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}
+%{?with_lm_sensors:BuildRequires:      lm_sensors-devel}
 %endif
 BuildRequires: zlib-devel >= %{zlib_ver}
+BuildRequires: zstd-devel
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 # 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.* libGLX_mesa.so.0.*
-
-# llvm build broken
-%define                filterout_ld    -Wl,--as-needed
+%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
@@ -167,10 +167,13 @@ Requires: %{name}-libglapi = %{version}-%{release}
 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
@@ -189,17 +192,24 @@ Summary:  Header files for Mesa implementation of EGL library
 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.
@@ -207,20 +217,6 @@ 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
@@ -229,11 +225,13 @@ 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
+%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
@@ -246,7 +244,7 @@ Silicon Graphics, Inc. However, the author does not possess an OpenGL
 license from SGI, and makes no claim that Mesa is in any way a
 compatible replacement for OpenGL or associated with SGI.
 
-This package contains libGL which implements OpenGL 4.5 and GLX 1.4
+This package contains libGL which implements OpenGL 4.6 and GLX 1.4
 specifications. It uses DRI for rendering.
 
 %description libGL -l pl.UTF-8
@@ -256,7 +254,7 @@ autoryzacją Silicon Graphics, Inc. Jednak autor nie posiada licencji
 OpenGL od SGI i nie twierdzi, że Mesa jest kompatybilnym zamiennikiem
 OpenGL ani powiązana z SGI.
 
-Ten pakiet zawiera libGL implementującą specyfikacje OpenGL 4.5 oraz
+Ten pakiet zawiera libGL implementującą specyfikacje OpenGL 4.6 oraz
 GLX 1.4. Używa DRI do renderowania.
 
 %package libGL-devel
@@ -264,23 +262,33 @@ Summary:  Header files for Mesa3D libGL library
 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
+%if %{with glvnd}
+Requires:      libglvnd-libGL-devel >= %{libglvnd_ver}
+%else
+Requires:      %{name}-libGL = %{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-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.5
-Obsoletes:     Mesa-devel
+Provides:      OpenGL-devel = 4.6
+%endif
+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.
@@ -288,29 +296,14 @@ 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.5
-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
@@ -321,7 +314,7 @@ This package contains shared libraries of Mesa implementation of GLES
 (OpenGL ES) - cross-platform API for full-function 2D and 3D graphics
 on embedded systems. OpenGL ES specification can be found on Khronos
 Group site: <http://www.khronos.org/opengles/>. Mesa implements OpenGL
-ES 1.1 and 2.0.
+ES 1.1 and 2.0/3.2.
 
 %description libGLES -l pl.UTF-8
 Ten pakiet zawiera biblioteki współdzielone implementacji Mesa
@@ -329,20 +322,26 @@ standardu GLES (OpenGL ES) - wieloplatformowego API do w pełni
 funkcjonalnej grafiki 2D i 3D na systemach wbudowanych. Specyfikację
 OpenGL ES można znaleźć na stronie Khronos Group:
 <http://www.khronos.org/opengles/>. Mesa zawiera implementacją OpenGL
-ES 1.1 i 2.0.
+ES 1.1 i 2.0/3.2.
 
 %package libGLES-devel
 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
 Provides:      OpenGLESv2-devel = 2.0
 Provides:      OpenGLESv3-devel = 3.2
+%endif
 
 %description libGLES-devel
 Header files for Mesa GLES libraries.
@@ -355,6 +354,7 @@ Summary:    OSMesa (off-screen renderer) library
 Summary(pl.UTF-8):     Biblioteka OSMesa (renderująca bitmapy w pamięci)
 License:       MIT
 Group:         Libraries
+%{?with_swr:Requires:  cpuinfo(avx)}
 Requires:      zlib >= %{zlib_ver}
 
 %description libOSMesa
@@ -372,6 +372,7 @@ Requires:   %{name}-libOSMesa = %{version}-%{release}
 # 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.
@@ -379,21 +380,6 @@ 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
@@ -424,8 +410,8 @@ oraz urządzeniach przenośnych/wbudowanych. Specyfikację OpenCL można
 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
@@ -465,135 +451,6 @@ Header files for Mesa OpenCL library.
 %description libOpenCL-devel -l pl.UTF-8
 Pliki nagłówkowe biblioteki Mesa OpenCL.
 
-%package libOpenVG
-Summary:       Mesa implementation of OpenVG (Vector Graphics Accelleration) API
-Summary(pl.UTF-8):     Implementacja Mesa API OpenVG (akceleracji grafiki wektorowej)
-License:       MIT
-Group:         Libraries
-Provides:      OpenVG = 1.1
-
-%description libOpenVG
-This package contains Mesa implementation of OpenVG - cross-platform
-API that provides a low-level hardware acceleration interface for
-vector graphics libraries such as Flash and SVG. OpenVG specification
-can be found on Khronos Group site: <http://www.khronos.org/openvg/>.
-Mesa implements OpenVG 1.1.
-
-%description libOpenVG -l pl.UTF-8
-Ten pakiet zawiera implementację Mesa standardu OpenVG -
-wieloplatfomowego API zapewniającego niskopoziomowy interfejs
-akceleracji sprzętowej dla bibliotek grafiki wektorowej, takiej jak
-Flash czy SVG. Specyfikację OpenVG można znaleźć na stronie Khronos
-Group: <http://www.khronos.org/openvg/>. Mesa zawiera implementację
-OpenVG w wersji 1.1.
-
-%package libOpenVG-devel
-Summary:       Header file for Mesa OpenVG library
-Summary(pl.UTF-8):     Plik nagłówkowy biblioteki Mesa OpenVG
-License:       MIT
-Group:         Development/Libraries
-Requires:      %{name}-khrplatform-devel = %{version}-%{release}
-Requires:      %{name}-libOpenVG = %{version}-%{release}
-Provides:      OpenVG-devel = 1.1
-
-%description libOpenVG-devel
-Header file for Mesa OpenVG library.
-
-%description libOpenVG-devel -l pl.UTF-8
-Plik nagłówkowy biblioteki Mesa OpenVG.
-
-%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
@@ -672,6 +529,84 @@ Khronos platform header file.
 %description khrplatform-devel -l pl.UTF-8
 Plik nagłówkowy platformy Khronos.
 
+%package dri-devel
+Summary:       Direct Rendering Infrastructure interface header file
+Summary(pl.UTF-8):     Plik nagłówkowy interfejsu DRI (Direct Rendering Infrastructure)
+Group:         Development/Libraries
+Requires:      libdrm-devel >= %{libdrm_ver}
+# <GL/gl.h>
+%if %{with glvnd}
+Requires:      libglvnd-libGL-devel >= %{libglvnd_ver}
+Conflicts:     Mesa-libGL-devel < 22.1.0-2
+%else
+Requires:      Mesa-libGL-devel = %{version}-%{release}
+%endif
+
+%description dri-devel
+Direct Rendering Infrastructure interface header file.
+
+%description dri-devel -l pl.UTF-8
+Plik nagłówkowy interfejsu DRI (Direct Rendering Infrastructure).
+
+%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
@@ -715,6 +650,7 @@ Summary:    X.org DRI driver for ATI R300 card family
 Summary(pl.UTF-8):     Sterownik X.org DRI dla rodziny kart ATI R300
 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}
@@ -740,6 +676,7 @@ Summary:    X.org DRI driver for ATI R600 card family
 Summary(pl.UTF-8):     Sterownik X.org DRI dla rodziny kart ATI R600
 License:       MIT
 Group:         X11/Libraries
+%{?with_swr:Requires:  cpuinfo(avx)}
 Requires:      radeon-ucode
 Requires:      xorg-driver-video-ati
 Requires:      xorg-xserver-libglx(glapi) = %{glapi_ver}
@@ -765,6 +702,7 @@ Summary:    X.org DRI driver for ATI Southern Islands card family
 Summary(pl.UTF-8):     Sterownik X.org DRI dla rodziny kart ATI Southern Islands
 License:       MIT
 Group:         X11/Libraries
+%{?with_swr:Requires:  cpuinfo(avx)}
 Requires:      radeon-ucode
 Requires:      xorg-driver-video-ati
 Requires:      xorg-xserver-libglx(glapi) = %{glapi_ver}
@@ -775,55 +713,60 @@ Requires: zlib >= %{zlib_ver}
 X.org Gallium DRI driver for ATI Southern Islands card family (Radeon
 HD 7700-8000, R9, APU). It supports TAHITI, PITCAIRN, VERDE, OLAND,
 HAINAN, BONAIRE, KABINI, MULLINS, KAVERI, HAWAII, ICELAND, TONGA,
-CARRIZO, FIJI, POLARIS, STONEY chips.
+CARRIZO, FIJI, POLARIS, STONEY, VEGA, RAVEN chips.
 
 %description dri-driver-ati-radeon-SI -l pl.UTF-8
 Sterownik X.org DRI Gallium dla rodziny kart ATI Southern Islands
 (Radeon HD 7700-8000, R9, APU). Obsługuje układy TAHITI, PITCAIRN,
 VERDE, OLAND, HAINAN, BONAIRE, KABINI, MULLINS, KAVERI, HAWAII,
-ICELAND, TONGA, CARRIZO, FIJI, POLARIS, STONEY.
+ICELAND, TONGA, CARRIZO, FIJI, POLARIS, STONEY, VEGA, RAVEN.
 
 %package dri-driver-etnaviv
 Summary:       X.org DRI driver for Vivante 3D chips
 Summary(pl.UTF-8):     Sterownik X.org DRI dla układów Vivante 3D
 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}
 
 %description dri-driver-etnaviv
-X.org DRI driver for Vivante 3D chips.
+X.org Gallium DRI driver for Vivante 3D chips.
 
 %description dri-driver-etnaviv -l pl.UTF-8
-Sterownik X.org DRI dla układów Vivante 3D.
+Sterownik X.org DRI Gallium dla układów Vivante 3D.
 
 %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
+%{?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}
 
 %description dri-driver-freedreno
-X.org DRI driver for Adreno chips.
+X.org Gallium DRI driver for Adreno chips.
 
 %description dri-driver-freedreno -l pl.UTF-8
-Sterownik X.org DRI dla układów Adreno.
+Sterownik X.org DRI Gallium 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
 License:       MIT
 Group:         X11/Libraries
+%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
+Obsoletes:     Mesa-dri-driver-intel-i830 < 6.5
 Obsoletes:     X11-driver-i810-dri < 1:7.0.0
 
 %description dri-driver-intel-i915
@@ -842,106 +785,238 @@ 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
+Obsoletes:     Mesa-dri-driver-intel-i830 < 6.5
 Obsoletes:     X11-driver-i810-dri < 1:7.0.0
 
 %description dri-driver-intel-i965
 X.org (non-Gallium) DRI driver for Intel i965 card family (946GZ,
 965G, 965Q, 965GM, 965GME, GM45, G41, B43, Q45/Q43, G45/G43, Ironlake,
 Sandybridge, Ivybridge, Haswell, Ray Trail, Broadwell, Cherrytrail,
-Braswell, Cherryview, Skylake, Broxton, Kabylake, Geminilake);
+Braswell, Cherryview, Skylake, Broxton, Kabylake, Coffeelake,
+Geminilake, Whiskey Lake, Comet Lake, Cannonlake, Ice Lake, Elkhart
+Lake).
 
 %description dri-driver-intel-i965 -l pl.UTF-8
 Sterownik X.org DRI (nie Gallium) dla rodziny kart Intel i965 (946GZ,
 965G, 965Q, 965GM, 965GME, GM45, G41, B43, Q45/Q43, G45/G43, Ironlake,
 Sandybridge, Ivybridge, Haswell, Ray Trail, Broadwell, Cherrytrail,
-Braswell, Cherryview, Skylake, Broxton, Kabylake, Geminilake);
+Braswell, Cherryview, Skylake, Broxton, Kabylake, Coffeelake,
+Geminilake, Whiskey Lake, Comet Lake, Cannonlake, Ice Lake, Elkhart
+Lake).
 
-%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
+%package dri-driver-intel-iris
+Summary:       X.org DRI driver for Intel Iris (Gen8+) card family
+Summary(pl.UTF-8):     Sterownik X.org DRI dla rodziny kart Intel Iris (Gen8+)
 License:       MIT
 Group:         X11/Libraries
-Requires:      xorg-driver-video-nouveau
+%{?with_swr:Requires:  cpuinfo(avx)}
 Requires:      xorg-xserver-libglx(glapi) = %{glapi_ver}
 Requires:      xorg-xserver-server >= %{xserver_ver}
 Requires:      zlib >= %{zlib_ver}
 
-%description dri-driver-nouveau
-X.org DRI drivers for NVIDIA card family.
+%description dri-driver-intel-iris
+X.org Gallium DRI driver for Intel Iris (Gen8+) card family
+(Broadwell, Skylake, Broxton, Kabylake, Coffeelake, Geminilake,
+Whiskey Lake, Comet Lake, Cannonlake, Ice Lake, Elkhart Lake).
 
-%description dri-driver-nouveau -l pl.UTF-8
-Sterowniki X.org DRI dla rodziny kart NVIDIA.
+%description dri-driver-intel-iris -l pl.UTF-8
+Sterownik X.org DRI Gallium dla rodziny kart Intel Iris (Gen8+:
+Broadwell, Skylake, Broxton, Kabylake, Coffeelake, Geminilake,
+Whiskey Lake, Comet Lake, Cannonlake, Ice Lake, Elkhart Lake).
 
-%package dri-driver-swrast
-Summary:       X.org DRI software rasterizer driver
-Summary(pl.UTF-8):     Sterownik X.org DRI obsługujący rysowanie programowe
+%package dri-driver-kmsro
+Summary:       X.org Gallium DRI driver using KMS Render-Only architecture
+Summary(pl.UTF-8):     Sterownik X.org DRI Gallium wykorzystujący architekturę KMS Render-Only
 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}
 
-%description dri-driver-swrast
-X.org DRI software rasterizer driver.
+%description dri-driver-kmsro
+X.org Gallium DRI driver using KMS Render-Only architecture.
 
-%description dri-driver-swrast -l pl.UTF-8
-Sterownik X.org DRI obsługujący rysowanie programowe.
+%description dri-driver-kmsro -l pl.UTF-8
+Sterownik X.org DRI Gallium wykorzystujący architekturę KMS
+Render-Only.
 
-%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
+%package dri-driver-lima
+Summary:       X.org DRI driver for Mali Utgard chips
+Summary(pl.UTF-8):     Sterownik X.org DRI dla układów Mali Utgard
 License:       MIT
 Group:         X11/Libraries
-Requires:      xorg-driver-video-modesetting
+%{?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}
 
-%description dri-driver-vc4
-X.org DRI driver for Broadcom VC4 chips.
+%description dri-driver-lima
+X.org Gallium DRI driver for Mali Utgard chips.
 
-%description dri-driver-vc4 -l pl.UTF-8
-Sterownik X.org DRI dla układów Broadcom VC4.
+%description dri-driver-lima -l pl.UTF-8
+Sterownik X.org DRI Gallium dla układów Mali Utgard.
 
-%package dri-driver-virgl
-Summary:       X.org DRI driver for QEMU VirGL
-Summary(pl.UTF-8):     Sterownik X.org DRI dla QEMU VirGL
+%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
 License:       MIT
 Group:         X11/Libraries
+%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}
+
+%description dri-driver-nouveau
+X.org DRI drivers for NVIDIA card family.
+
+%description dri-driver-nouveau -l pl.UTF-8
+Sterowniki X.org DRI dla rodziny kart NVIDIA.
+
+%package dri-driver-panfrost
+Summary:       X.org DRI driver for Mali Midgard/Bifrost chips
+Summary(pl.UTF-8):     Sterownik X.org DRI dla układów Mali Midgard/Bifrost
+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}
+
+%description dri-driver-panfrost
+X.org Gallium DRI driver for Mali Midgard/Bifrost chips.
+
+%description dri-driver-panfrost -l pl.UTF-8
+Sterownik X.org DRI Gallium dla układów Mali Midgard/Bifrost.
+
+%package dri-driver-swrast
+Summary:       X.org DRI software rasterizer driver
+Summary(pl.UTF-8):     Sterownik X.org DRI obsługujący rysowanie programowe
+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}
+
+%description dri-driver-swrast
+X.org DRI software rasterizer driver.
+
+%description dri-driver-swrast -l pl.UTF-8
+Sterownik X.org DRI obsługujący rysowanie programowe.
+
+%package dri-driver-tegra
+Summary:       X.org DRI driver for Tegra SoC chips
+Summary(pl.UTF-8):     Sterownik X.org DRI dla układów SoC Tegra
+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}
+
+%description dri-driver-tegra
+X.org Gallium DRI driver for Tegra SoC chips.
+
+%description dri-driver-tegra -l pl.UTF-8
+Sterownik X.org DRI Gallium dla układów Tegra SoC.
+
+%package dri-driver-v3d
+Summary:       X.org DRI driver for Broadcom VC5 chips
+Summary(pl.UTF-8):     Sterownik X.org DRI dla układów Broadcom VC5
+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}
+
+%description dri-driver-v3d
+X.org Gallium DRI driver for Broadcom VC5 chips.
+
+%description dri-driver-v3d -l pl.UTF-8
+Sterownik X.org DRI Gallium dla układów Broadcom VC5.
+
+%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
+%{?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}
+
+%description dri-driver-vc4
+X.org Gallium DRI driver for Broadcom VC4 chips.
+
+%description dri-driver-vc4 -l pl.UTF-8
+Sterownik X.org DRI Gallium 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
+%{?with_swr:Requires:  cpuinfo(avx)}
 Requires:      xorg-xserver-libglx(glapi) = %{glapi_ver}
 Requires:      xorg-xserver-server >= %{xserver_ver}
 Requires:      zlib >= %{zlib_ver}
 
 %description dri-driver-virgl
-X.org DRI driver for QEMU VirGL.
+X.org Gallium DRI driver for QEMU VirGL.
 
 %description dri-driver-virgl -l pl.UTF-8
-Sterownik X.org DRI dla QEMU VirGL.
+Sterownik X.org DRI Gallium dla QEMU VirGL.
 
 %package dri-driver-vmwgfx
 Summary:       X.org DRI driver for VMware
 Summary(pl.UTF-8):     Sterownik X.org DRI dla VMware
 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}
 
 %description dri-driver-vmwgfx
-X.org DRI driver for VMWare.
+X.org Gallium DRI driver for VMWare.
 
 %description dri-driver-vmwgfx -l pl.UTF-8
-Sterownik X.org DRI dla VMware.
+Sterownik X.org DRI Gallium dla VMware.
+
+%package dri-driver-zink
+Summary:       X.org DRI driver based on Vulkan
+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}
+
+%description dri-driver-zink
+X.org Gallium DRI driver based on Vulkan.
+
+%description dri-driver-zink -l pl.UTF-8
+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
+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
@@ -951,6 +1026,24 @@ 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
@@ -970,8 +1063,8 @@ 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
 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
@@ -986,8 +1079,8 @@ 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
 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
@@ -1003,9 +1096,9 @@ 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
 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
@@ -1021,9 +1114,9 @@ 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
 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
@@ -1038,9 +1131,10 @@ Southern Islands.
 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
+%{?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.
@@ -1054,8 +1148,8 @@ 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
 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
@@ -1082,30 +1176,63 @@ Moduły programowego rasteryzera OpenSWR dla Mesy, wykorzystujące
 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
@@ -1170,7 +1297,7 @@ Requires: libdrm >= %{libdrm_ver}
 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
@@ -1189,9 +1316,9 @@ Requires: libdrm >= %{libdrm_ver}
 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.
@@ -1199,6 +1326,48 @@ 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
@@ -1206,12 +1375,14 @@ 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
+Obsoletes:     Mesa-vulkan-icd-intel-devel < 21.1.0
 
 %description vulkan-icd-intel
 Mesa Vulkan driver for Intel GPUs.
@@ -1219,18 +1390,26 @@ 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
@@ -1239,6 +1418,7 @@ 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}
@@ -1255,14 +1435,20 @@ radv - eksperymentalny sterownik Vulkan dla GPU firmy AMD.
 %prep
 %setup -q -n mesa-mesa-%{version}
 %patch0 -p1
+%patch1 -p1
 
 %build
-%{__libtoolize}
-%{__aclocal} -I m4
-%{__autoconf}
-%{__automake}
+%if %{with opencl}
+if [ "$(llvm-config --has-rtti)" != "YES" ] ; then
+       echo "Clover (gallium OpenCL) requires LLVM with RTTI!"
+       exit 1
+fi
+%endif
 
-dri_drivers="nouveau r200 radeon swrast \
+dri_drivers="nouveau r100 r200 \
+%if %{without gallium}
+swrast
+%endif
 %ifarch %{ix86} %{x8664} x32
 i965 %{!?with_gallium_i915:i915} \
 %endif
@@ -1270,12 +1456,9 @@ i965 %{!?with_gallium_i915:i915} \
 
 dri_drivers=$(echo $dri_drivers | xargs | tr ' ' ',')
 
-gallium_drivers="svga swrast virgl \
-%ifarch %{x8664}
-swr
-%endif
+gallium_drivers="virgl swrast %{?with_gallium_zink:zink} \
 %ifarch %{ix86} %{x8664} x32
-%{?with_gallium_i915:i915} \
+svga iris %{?with_swr:swr} %{?with_gallium_i915:i915} \
 %endif
 %if %{with gallium_radeon}
 r300 r600 radeonsi \
@@ -1283,88 +1466,75 @@ r300 r600 radeonsi \
 %if %{with gallium_nouveau}
 nouveau
 %endif
-%ifarch %{arm}
+%ifarch %{arm} aarch64
 etnaviv \
 freedreno \
-imx \
+lima \
+panfrost \
+%{?with_gallium_nouveau:tegra} \
+v3d \
 vc4 \
 %endif
 "
 
 gallium_drivers=$(echo $gallium_drivers | xargs | tr ' ' ',')
 
-vulkan_drivers="%{?with_radv:radeon} \
+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 ' ' ',')
 
-%configure \
-       --disable-silent-rules \
-       %{__enable gbm} \
-       --enable-glx-tls \
-       %{?with_glvnd:--enable-libglvnd} \
-       --enable-osmesa \
-       --enable-selinux \
-       --enable-shared \
-       --enable-shared-glapi \
-       %{?with_static_libs:--enable-static} \
-       %{?with_texture_float:--enable-texture-float} \
-%if %{with egl}
-       --enable-egl \
-       --enable-gles1 \
-       --enable-gles2 \
-       --with-platforms=x11%{?with_gbm:,drm}%{?with_wayland:,wayland} \
+%meson build \
+       -Dplatforms=x11%{?with_wayland:,wayland} \
+       -Ddri3=enabled \
+       -Ddri-drivers=${dri_drivers} \
+       -Ddri-drivers-path=%{_libdir}/xorg/modules/dri \
+       -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} \
+       -Dgallium-omx=%{?with_omx:bellagio}%{!?with_omx:disabled} \
+%if %{with opencl}
+%if %{with ocl_icd}
+       -Dgallium-opencl=icd \
+%else
+       -Dgallium-opencl=standalone \
 %endif
-%if %{with gallium}
-       %{?with_hud_extra:--enable-gallium-extra-hud} \
-       --enable-llvm \
-       %{__enable_disable shared_llvm llvm-shared-libs} \
-       %{__enable ocl_icd opencl-icd} \
-       %{?with_lm_sensors:--enable-lmsensors} \
-       %{?with_nine:--enable-nine} \
-       %{__enable opencl} \
-       %{__enable va} \
-       --enable-vdpau \
-       %{?with_omx:--enable-omx-bellagio} \
-       %{?with_xa:--enable-xa} \
-       --enable-xvmc \
-       --with-gallium-drivers=${gallium_drivers} \
 %else
-       --without-gallium-drivers \
+       -Dgallium-opencl=disabled \
 %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
-
-%{__make}
-
-%{?with_tests:%{__make} check}
+       -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=enabled \
+       -Dlmsensors=%{?with_lm_sensors:enabled}%{!?with_lm_sensors:disabled} \
+       %{?with_opencl_spirv:-Dopencl-spirv=true} \
+       -Dosmesa=true \
+       -Dselinux=true \
+       -Dva-libs-path=%{_libdir}/libva/dri \
+       -Dvulkan-drivers=${vulkan_drivers} \
+       -Dvulkan-icd-dir=/usr/share/vulkan/icd.d
+
+%ninja_build -C build
+
+%{?with_tests:%ninja_test -C build}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-%{__make} install \
-       DESTDIR=$RPM_BUILD_ROOT
+%ninja_install -C build
 
-# dlopened by soname
-%{?with_gallium:%{__rm} $RPM_BUILD_ROOT%{_libdir}/libXvMC*.so}
-%{?with_gallium:%{__rm} $RPM_BUILD_ROOT%{_libdir}/libXvMC*.so.1.0}
-# dlopened by soname or .so link
-%{?with_gallium:%{__rm} $RPM_BUILD_ROOT%{_libdir}/vdpau/libvdpau_*.so.1.0}
 # not used externally
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libglapi.so
-# dlopened
-%{?with_omx:%{__rm} $RPM_BUILD_ROOT%{_libdir}/bellagio/libomx_*.la}
-%{?with_nine:%{__rm} $RPM_BUILD_ROOT%{_libdir}/d3d/d3dadapter9.la}
-%{?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 %{without glvnd}
 # remove "OS ABI: Linux 2.4.20" tag, so private copies (nvidia or fglrx),
@@ -1387,17 +1557,12 @@ rm -rf $RPM_BUILD_ROOT
 %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  libOpenVG -p /sbin/ldconfig
-%postun        libOpenVG -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
 
@@ -1407,6 +1572,13 @@ rm -rf $RPM_BUILD_ROOT
 %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)
@@ -1425,25 +1597,19 @@ rm -rf $RPM_BUILD_ROOT
 %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
-%{_includedir}/EGL/eglextchromium.h
-%{_includedir}/EGL/eglmesaext.h
 %{_includedir}/EGL/eglplatform.h
 %{_pkgconfigdir}/egl.pc
-
-%if %{with static_libs}
-%files libEGL-static
-%defattr(644,root,root,755)
-%{_libdir}/libEGL.a
 %endif
+%{_includedir}/EGL/eglextchromium.h
+%{_includedir}/EGL/eglmesaext.h
 %endif
 
 %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
@@ -1455,39 +1621,33 @@ rm -rf $RPM_BUILD_ROOT
 # (and dlopen libGL.so instead of libGL.so.1; the same does Mesa libEGL)
 %attr(755,root,root) %{_libdir}/libGL.so
 %endif
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/drirc
+%{_datadir}/drirc.d
 
 %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
 %{_includedir}/GL/glcorearb.h
 %{_includedir}/GL/glext.h
-%{_includedir}/GL/gl_mangle.h
 %{_includedir}/GL/glx.h
 %{_includedir}/GL/glxext.h
-%{_includedir}/GL/glx_mangle.h
-%dir %{_includedir}/GL/internal
-%{_includedir}/GL/internal/dri_interface.h
-%{_pkgconfigdir}/dri.pc
 %{_pkgconfigdir}/gl.pc
-
-%if %{with static_libs}
-%files libGL-static
-%defattr(644,root,root,755)
-%{_libdir}/libGL.a
 %endif
 
 %files libGLES
 %defattr(644,root,root,755)
+%if %{without glvnd}
 %attr(755,root,root) %{_libdir}/libGLESv1_CM.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libGLESv1_CM.so.1
 %attr(755,root,root) %{_libdir}/libGLESv2.so.*.*
 %attr(755,root,root) %ghost %{_libdir}/libGLESv2.so.2
+%endif
 
 %files libGLES-devel
 %defattr(644,root,root,755)
+%if %{without glvnd}
 %attr(755,root,root) %{_libdir}/libGLESv1_CM.so
 %attr(755,root,root) %{_libdir}/libGLESv2.so
 %{_includedir}/GLES
@@ -1495,6 +1655,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}/GLES3
 %{_pkgconfigdir}/glesv1_cm.pc
 %{_pkgconfigdir}/glesv2.pc
+%endif
 
 %files libOSMesa
 %defattr(644,root,root,755)
@@ -1507,12 +1668,6 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}/GL/osmesa.h
 %{_pkgconfigdir}/osmesa.pc
 
-%if %{with static_libs}
-%files libOSMesa-static
-%defattr(644,root,root,755)
-%{_libdir}/libOSMesa.a
-%endif
-
 %if %{with opencl}
 %if %{with ocl_icd}
 %files OpenCL-icd
@@ -1538,56 +1693,6 @@ rm -rf $RPM_BUILD_ROOT
 %endif
 %endif
 
-%if %{with egl} && %{with openvg} && %{with gallium}
-%files libOpenVG
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libOpenVG.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libOpenVG.so.1
-
-%files libOpenVG-devel
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libOpenVG.so
-%{_includedir}/VG
-%{_pkgconfigdir}/vg.pc
-%endif
-
-%if %{with gallium}
-%if %{with gallium_nouveau}
-%files libXvMC-nouveau
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libXvMCnouveau.so.1.0.0
-%attr(755,root,root) %ghost %{_libdir}/libXvMCnouveau.so.1
-%endif
-
-%if %{with gallium_radeon}
-%files libXvMC-r600
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libXvMCr600.so.1.0.0
-%attr(755,root,root) %ghost %{_libdir}/libXvMCr600.so.1
-%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)
@@ -1623,13 +1728,53 @@ rm -rf $RPM_BUILD_ROOT
 %{_pkgconfigdir}/xatracker.pc
 %endif
 
-%if %{with egl}
+%if %{with egl} && %{without glvnd}
 %files khrplatform-devel
 %defattr(644,root,root,755)
 %dir %{_includedir}/KHR
 %{_includedir}/KHR/khrplatform.h
 %endif
 
+%files dri-devel
+%defattr(644,root,root,755)
+%dir %{_includedir}/GL/internal
+%{_includedir}/GL/internal/dri_interface.h
+%{_pkgconfigdir}/dri.pc
+
+### 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
@@ -1638,7 +1783,6 @@ rm -rf $RPM_BUILD_ROOT
 %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)
@@ -1652,8 +1796,8 @@ rm -rf $RPM_BUILD_ROOT
 %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
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/xorg/modules/dri/i915_dri.so
@@ -1662,6 +1806,13 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/xorg/modules/dri/i965_dri.so
 
+%if %{with gallium}
+%files dri-driver-intel-iris
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/iris_dri.so
+%endif
+%endif
+
 %files dri-driver-nouveau
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/xorg/modules/dri/nouveau_vieux_dri.so
@@ -1677,17 +1828,57 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/xorg/modules/dri/swrast_dri.so
 
 %if %{with gallium}
-%ifarch %{arm}
+%ifarch %{arm} aarch64
 %files dri-driver-etnaviv
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/xorg/modules/dri/etnaviv_dri.so
-%attr(755,root,root) %{_libdir}/xorg/modules/dri/imx-drm_dri.so
 
 %files dri-driver-freedreno
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/xorg/modules/dri/kgsl_dri.so
 %attr(755,root,root) %{_libdir}/xorg/modules/dri/msm_dri.so
 
+%files dri-driver-kmsro
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/armada-drm_dri.so
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/exynos_dri.so
+%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
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/pl111_dri.so
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/repaper_dri.so
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/rockchip_dri.so
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/st7586_dri.so
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/st7735r_dri.so
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/stm_dri.so
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/sun4i-drm_dri.so
+
+%files dri-driver-lima
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/lima_dri.so
+
+%files dri-driver-panfrost
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/panfrost_dri.so
+
+%if %{with gallium_nouveau}
+%files dri-driver-tegra
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/tegra_dri.so
+%endif
+
+%files dri-driver-v3d
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/v3d_dri.so
+
 %files dri-driver-vc4
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vc4_dri.so
@@ -1697,18 +1888,35 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/xorg/modules/dri/virtio_gpu_dri.so
 
+%ifarch %{ix86} %{x8664} x32
 %files dri-driver-vmwgfx
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vmwgfx_dri.so
 %endif
 
+%if %{with gallium_zink}
+%files dri-driver-zink
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/zink_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}
 %files pipe-driver-msm
 %defattr(644,root,root,755)
@@ -1742,33 +1950,49 @@ rm -rf $RPM_BUILD_ROOT
 %files pipe-driver-vmwgfx
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/gallium-pipe/pipe_vmwgfx.so
+%endif
 
-%ifarch %{x8664}
+# currently disabled as cannot be built with swrast
+%if %{with swr}
 %files swr
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libswrAVX.so
-%attr(755,root,root) %{_libdir}/libswrAVX2.so
+%attr(755,root,root) %{_libdir}/libswrAVX.so*
+%attr(755,root,root) %{_libdir}/libswrAVX2.so*
 %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
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so.1.0.0
+%attr(755,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so.1.0
 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so.1
 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so
 %endif
@@ -1777,37 +2001,59 @@ rm -rf $RPM_BUILD_ROOT
 %files -n libvdpau-driver-mesa-r300
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r300.so.1.0.0
+%attr(755,root,root) %{_libdir}/vdpau/libvdpau_r300.so.1.0
 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r300.so.1
 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r300.so
 
 %files -n libvdpau-driver-mesa-r600
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r600.so.1.0.0
+%attr(755,root,root) %{_libdir}/vdpau/libvdpau_r600.so.1.0
 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r600.so.1
 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r600.so
 
 %files -n libvdpau-driver-mesa-radeonsi
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so.1.0.0
+%attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so.1.0
 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so.1
 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so
 %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
+%attr(755,root,root) %{_libdir}/libvulkan_lvp.so
+%{_datadir}/vulkan/icd.d/lvp_icd.*.json
 
 %if %{with radv}
 %files vulkan-icd-radeon
This page took 0.195052 seconds and 4 git commands to generate.