-#
-# 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.102
%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.15
+%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_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
-Version: 18.2.5
+Version: 20.3.4
Release: 1
License: MIT (core) and others - see license.html file
Group: X11/Libraries
-Source0: ftp://ftp.freedesktop.org/pub/mesa/mesa-%{version}.tar.xz
-# Source0-md5: b31a43ebb8b37fb704a9a75c90bbd71b
-Patch0: %{name}-link.patch
+#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: ad5feb0518815f9df11fb60f1034ca40
+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/
-BuildRequires: autoconf >= 2.60
-BuildRequires: automake
-%{?with_opencl:BuildRequires: clang-devel >= 3.1}
+%{?with_opencl_spirv:BuildRequires: SPIRV-LLVM-Translator-devel >= 8.0.1.3}
+%{?with_gallium_zink:BuildRequires: Vulkan-Loader-devel}
+BuildRequires: bison > 2.3
+%{?with_opencl:BuildRequires: clang-devel >= %{llvm_ver}}
BuildRequires: elfutils-devel
BuildRequires: expat-devel >= 1.95
-BuildRequires: 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 >= 1.3.2}
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: pkgconfig(xcb-randr) >= 1.12
+BuildRequires: python3 >= 1:3.2
+BuildRequires: python3-Mako >= 0.8.0
BuildRequires: rpmbuild(macros) >= 1.470
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-libX11-devel
BuildRequires: xorg-lib-libXdamage-devel >= 1.1
BuildRequires: xorg-lib-libXext-devel >= 1.0.5
-BuildRequires: xorg-lib-libXfixes-devel
-BuildRequires: xorg-lib-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
Requires: xorg-lib-libX11-devel
Requires: xorg-lib-libXdamage-devel >= 1.1
Requires: xorg-lib-libXext-devel >= 1.0.5
-Requires: xorg-lib-libXfixes-devel
+Requires: xorg-lib-libXfixes-devel >= 2.0
Requires: xorg-lib-libXxf86vm-devel
Requires: xorg-proto-dri2proto-devel >= %{dri2proto_ver}
Requires: xorg-proto-glproto-devel >= %{glproto_ver}
+%if %{without glvnd}
Provides: EGL-devel = 1.5
+%endif
%description libEGL-devel
Header files for Mesa implementation of EGL library.
Requires: libdrm >= %{libdrm_ver}
Requires: libxcb >= 1.13
Requires: xorg-lib-libXdamage >= 1.1
-Provides: OpenGL = 4.5
+Provides: OpenGL = 4.6
Provides: OpenGL-GLX = 1.4
Obsoletes: Mesa
Obsoletes: Mesa-dri
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
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
Requires: xorg-proto-dri2proto-devel >= %{dri2proto_ver}
Requires: xorg-proto-glproto-devel >= %{glproto_ver}
Suggests: OpenGL-doc-man
+%if %{without glvnd}
Provides: OpenGL-GLX-devel = 1.4
-Provides: OpenGL-devel = 4.5
+Provides: OpenGL-devel = 4.6
+%endif
Obsoletes: Mesa-devel
Obsoletes: X11-OpenGL-devel < 1:7.0.0
Obsoletes: X11-OpenGL-devel-base < 1:7.0.0
License: MIT
Group: X11/Development/Libraries
Requires: %{name}-libGL-devel = %{version}-%{release}
-Provides: OpenGL-static = 4.5
+Provides: OpenGL-static = 4.6
Obsoletes: Mesa-static
Obsoletes: X11-OpenGL-static < 1:7.0.0
Obsoletes: XFree86-OpenGL-static < 1:7.0.0
(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
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
# <EGL/egl.h> for <GLES/egl.h>
Requires: %{name}-libEGL-devel = %{version}-%{release}
Requires: %{name}-libGLES = %{version}-%{release}
+%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.
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
%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
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}
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}
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}
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}
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-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
+%{?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-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-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-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-kmsro
+X.org Gallium DRI driver using KMS Render-Only architecture.
+
+%description dri-driver-kmsro -l pl.UTF-8
+Sterownik X.org DRI Gallium wykorzystujący architekturę KMS
+Render-Only.
+
+%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
+%{?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-lima
+X.org Gallium DRI driver for Mali Utgard chips.
+
+%description dri-driver-lima -l pl.UTF-8
+Sterownik X.org DRI Gallium dla układów Mali Utgard.
%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}
%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 -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 DRI driver for Broadcom VC4 chips.
+X.org Gallium DRI driver for Broadcom VC4 chips.
%description dri-driver-vc4 -l pl.UTF-8
-Sterownik X.org DRI dla układów Broadcom VC4.
+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 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
+%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}
-Obsoletes: Mesa-gbm-driver-i915
-Obsoletes: Mesa-opencl-driver-i915
+
+%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
%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: 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
%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
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}
%description vulkan-icd-intel-devel -l pl.UTF-8
Pliki nagłówkowe sterownika Vulkan dla GPU Intel.
+%package vulkan-icd-lavapipe
+Summary: lavapipe - Mesa software Vulkan driver
+Summary(pl.UTF-8): lavapipe - programowy sterownik Vulkan
+License: MIT
+Group: Libraries
+Requires: libdrm >= %{libdrm_ver}
+Requires: libxcb >= 1.13
+Requires: xorg-lib-libXrandr >= 1.3
+Requires: xorg-lib-libxshmfence >= 1.1
+# wayland-client
+Requires: wayland >= %{wayland_ver}
+Requires: zlib >= %{zlib_ver}
+Suggests: vulkan(loader)
+Provides: vulkan(icd) = 1.0.3
+
+%description vulkan-icd-lavapipe
+lavapipe - Mesa software Vulkan driver.
+
+%description vulkan-icd-lavapipe -l pl.UTF-8
+lavapipe - programowy sterownik Vulkan.
+
%package vulkan-icd-radeon
Summary: radv - experimental Mesa Vulkan driver for AMD Radeon GPUs
Summary(pl.UTF-8): radv - eksperymentalny sterownik Vulkan dla GPU firmy AMD
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}
radv - eksperymentalny sterownik Vulkan dla GPU firmy AMD.
%prep
-%setup -q -n mesa-%{version}
+%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
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 \
%if %{with gallium_nouveau}
nouveau
%endif
-%ifarch %{arm}
+%ifarch %{arm} aarch64
etnaviv \
freedreno \
-imx \
+kmsro \
+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=%{?with_gallium:gallium}%{!?with_gallium:classic} \
+ -Dselinux=true \
+ -Dva-libs-path=%{_libdir}/libva/dri \
+ -Dvulkan-drivers=${vulkan_drivers} \
+ -Dvulkan-icd-dir=/usr/share/vulkan/icd.d
+
+%meson_build -C build
+
+%{?with_tests:%meson_test -C build}
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} install \
- DESTDIR=$RPM_BUILD_ROOT
+%meson_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),
%clean
rm -rf $RPM_BUILD_ROOT
+%post OpenCL-icd -p /sbin/ldconfig
+%postun OpenCL-icd -p /sbin/ldconfig
+
%post libEGL -p /sbin/ldconfig
%postun libEGL -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
%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
# (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
+%{_pkgconfigdir}/gl.pc
+%endif
%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
%{_includedir}/GLES3
%{_pkgconfigdir}/glesv1_cm.pc
%{_pkgconfigdir}/glesv2.pc
+%endif
%files libOSMesa
%defattr(644,root,root,755)
%{_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
%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) %{_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.0.0
+%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
%if %{with va}
%endif
%if %{with egl}
+%if %{without glvnd}
%files khrplatform-devel
%defattr(644,root,root,755)
%dir %{_includedir}/KHR
%{_includedir}/KHR/khrplatform.h
%endif
+%endif
%files dri-driver-ati-radeon-R100
%defattr(644,root,root,755)
%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
%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
%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
%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
+
%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)
%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
%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
%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
%attr(755,root,root) %{_libdir}/bellagio/libomx_mesa.so
%endif
+%ifarch %{arm} aarch64
+%files vulkan-icd-broadcom
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libvulkan_broadcom.so
+%{_datadir}/vulkan/icd.d/broadcom_icd.*.json
+
+%files vulkan-icd-freedreno
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libvulkan_freedreno.so
+%{_datadir}/vulkan/icd.d/freedreno_icd.*.json
+%endif
+
+%ifarch %{ix86} %{x8664} x32
%files vulkan-icd-intel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libvulkan_intel.so
%files vulkan-icd-intel-devel
%defattr(644,root,root,755)
%{_includedir}/vulkan/vulkan_intel.h
+%endif
+
+%files vulkan-icd-lavapipe
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libvulkan_lvp.so
+%{_datadir}/vulkan/icd.d/lvp_icd.*.json
%if %{with radv}
%files vulkan-icd-radeon