#
# TODO:
-# - check if gallium_intel note is still valid, switch the bcond if not
-# - consider:
-# - subpackage with non-dri libGL for use with X-servers with missing GLX extension?
-# - resurrect static if it's useful (using plain xorg target? DRI doesn't support static)
+# - check if gallium_i915 note is still valid, switch the bcond if not
#
# Conditional build:
%bcond_without gallium # gallium drivers
-%bcond_with gallium_intel # gallium i915 driver (instead of plain dri; doesn't work with AIGLX)
+%bcond_with gallium_i915 # gallium i915 Intel driver (instead of plain dri; doesn't work with AIGLX)
%bcond_without gallium_nouveau # gallium nouveau driver
%bcond_without gallium_radeon # gallium radeon drivers
%bcond_without egl # EGL libraries
-# "Cannot enable OpenVG, because egl_gallium has been removed and
-# OpenVG hasn't been integrated into standard libEGL yet"
-%bcond_with openvg # OpenVG
+%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 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_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
# minimal supported xserver version
%define xserver_ver 1.5.0
# other packages
-%define libdrm_ver 2.4.56
-%define dri2proto_ver 2.6
+%define libdrm_ver 2.4.91
+%define dri2proto_ver 2.8
%define dri3proto_ver 1.0
%define glproto_ver 1.4.14
%define presentproto_ver 1.0
-
-# no clang/llvm on x32 yet
-%ifarch x32
-%undefine with_gallium
-%endif
+%define zlib_ver 1.2.8
%if %{without gallium}
-%undefine with_gallium_intel
+%undefine with_gallium_i915
%undefine with_gallium_nouveau
%undefine with_gallium_radeon
%undefine with_nine
Summary: Free OpenGL implementation
Summary(pl.UTF-8): Wolnodostępna implementacja standardu OpenGL
Name: Mesa
-Version: 10.5.4
+Version: 18.0.2
Release: 1
License: MIT (core) and others - see license.html file
Group: X11/Libraries
-Source0: ftp://ftp.freedesktop.org/pub/mesa/%{version}/mesa-%{version}.tar.xz
-# Source0-md5: 26644437b6447fb3dbae50714a019797
-Patch0: missing-type.patch
+Source0: ftp://ftp.freedesktop.org/pub/mesa/mesa-%{version}.tar.xz
+# Source0-md5: 3c303da98ec2ce37c795baeba5aee31e
+Patch0: %{name}-link.patch
+Patch1: glvnd-fix-gl-dot-pc.patch
URL: http://www.mesa3d.org/
BuildRequires: autoconf >= 2.60
BuildRequires: automake
%{?with_opencl:BuildRequires: clang-devel >= 3.1}
BuildRequires: elfutils-devel
-BuildRequires: expat-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: libdrm-devel >= %{libdrm_ver}
+%{?with_glvnd:BuildRequires: libglvnd-devel >= 0.2.0}
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.3.0}
-%{?with_va:BuildRequires: pkgconfig(libva) >= 0.35.0}
-BuildRequires: libvdpau-devel >= 0.4.1
+%{?with_va:BuildRequires: libva-devel >= 1.6.0}
+%{?with_va:BuildRequires: pkgconfig(libva) >= 0.38.0}
+BuildRequires: libvdpau-devel >= 1.1
BuildRequires: libxcb-devel >= 1.10
-%{?with_gallium_radeon:BuildRequires: llvm-devel >= 3.4.2}
+# gallium core requires 3.3.0, swr/r600/radeonsi require 3.9.0
+%{?with_gallium:BuildRequires: llvm-devel >= 3.9}
+%{?with_radv:BuildRequires: llvm-devel >= 3.9}
%{?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: pkgconfig(xcb-dri3)
BuildRequires: pkgconfig(xcb-present)
BuildRequires: python >= 2
-BuildRequires: python-Mako >= 0.3.4
+BuildRequires: python-Mako >= 0.8.0
BuildRequires: python-modules >= 2
BuildRequires: rpmbuild(macros) >= 1.470
BuildRequires: sed >= 4.0
-%{?with_egl:BuildRequires: udev-devel >= 1:151}
# wayland-{client,server}
-%{?with_wayland:BuildRequires: wayland-devel >= 1.2.0}
-BuildRequires: xorg-lib-libXdamage-devel
+%{?with_wayland:BuildRequires: wayland-devel >= 1.11.0}
+%{?with_wayland:BuildRequires: wayland-protocols >= 1.8}
+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-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}
%endif
+BuildRequires: zlib-devel >= %{zlib_ver}
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.*
+%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
Requires: OpenGL >= 1.2
Requires: libdrm >= %{libdrm_ver}
Requires: libxcb >= 1.9
-%{?with_wayland:Requires: wayland >= 1.2.0}
-%if %{with gallium}
-%if %{with openvg}
-# for egl_gallium.so
-Requires: %{name}-libOpenVG = %{version}-%{release}
-%endif
-Requires: udev-libs >= 1:151
-%endif
+%{?with_wayland:Requires: wayland >= 1.11.0}
%if %{with gbm}
Requires: %{name}-libgbm = %{version}-%{release}
%endif
-Provides: EGL = 1.4
+Provides: EGL = 1.5
%description libEGL
This package contains shared libEGL - Mesa implementation of EGL
Requires: %{name}-libEGL = %{version}-%{release}
Requires: libdrm-devel >= %{libdrm_ver}
Requires: xorg-lib-libX11-devel
-Requires: xorg-lib-libXdamage-devel
+Requires: xorg-lib-libXdamage-devel >= 1.1
Requires: xorg-lib-libXext-devel >= 1.0.5
Requires: xorg-lib-libXfixes-devel
Requires: xorg-lib-libXxf86vm-devel
Requires: xorg-proto-dri2proto-devel >= %{dri2proto_ver}
Requires: xorg-proto-glproto-devel >= %{glproto_ver}
-Provides: EGL-devel = 1.4
+Provides: EGL-devel = 1.5
%description libEGL-devel
Header files for Mesa implementation of EGL library.
License: MIT
Group: Development/Libraries
Requires: %{name}-libEGL-devel = %{version}-%{release}
-Provides: EGL-static = 1.4
+Provides: EGL-static = 1.5
%description libEGL-static
Static Mesa EGL library.
Group: X11/Libraries
Requires: %{name}-libglapi = %{version}-%{release}
Requires: libdrm >= %{libdrm_ver}
-Provides: OpenGL = 3.3
+Requires: xorg-lib-libXdamage >= 1.1
+Provides: OpenGL = 4.5
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 1.5 and GLX 1.4
+This package contains libGL which implements OpenGL 4.5 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 1.5 oraz
+Ten pakiet zawiera libGL implementującą specyfikacje OpenGL 4.5 oraz
GLX 1.4. Używa DRI do renderowania.
%package libGL-devel
Requires: OpenGL >= 1.5
Requires: libdrm-devel >= %{libdrm_ver}
Requires: xorg-lib-libX11-devel
-Requires: xorg-lib-libXdamage-devel
+Requires: xorg-lib-libXdamage-devel >= 1.1
Requires: xorg-lib-libXext-devel >= 1.0.5
Requires: xorg-lib-libXxf86vm-devel
Requires: xorg-proto-dri2proto-devel >= %{dri2proto_ver}
Requires: xorg-proto-glproto-devel >= %{glproto_ver}
Suggests: OpenGL-doc-man
Provides: OpenGL-GLX-devel = 1.4
-Provides: OpenGL-devel = 3.3
+Provides: OpenGL-devel = 4.5
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 = 3.3
+Provides: OpenGL-static = 4.5
Obsoletes: Mesa-static
Obsoletes: X11-OpenGL-static < 1:7.0.0
Obsoletes: XFree86-OpenGL-static < 1:7.0.0
Provides: OpenGLES
Provides: OpenGLESv1 = 1.1
Provides: OpenGLESv2 = 2.0
+Provides: OpenGLESv3 = 3.2
%description libGLES
This package contains shared libraries of Mesa implementation of GLES
Provides: OpenGLES-devel
Provides: OpenGLESv1-devel = 1.1
Provides: OpenGLESv2-devel = 2.0
+Provides: OpenGLESv3-devel = 3.2
%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
+Requires: zlib >= %{zlib_ver}
%description libOSMesa
OSMesa (off-screen renderer) library.
Requires: filesystem >= 4.0-29
Requires: libdrm >= %{libdrm_ver}
Requires: llvm-libclc
-Requires: udev-libs >= 1:151
+Requires: zlib >= %{zlib_ver}
Provides: OpenCL = 1.1
Provides: ocl-icd-driver
Group: Libraries
Requires: libdrm >= %{libdrm_ver}
Requires: llvm-libclc
-Requires: udev-libs >= 1:151
Provides: OpenCL = 1.1
%description libOpenCL
License: MIT
Group: Development/Libraries
Requires: %{name}-libOpenCL = %{version}-%{release}
-Provides: OpenCL-devel = 1.1
+Provides: OpenCL-devel = 1.2
%description libOpenCL-devel
Header files for Mesa OpenCL library.
Group: Libraries
Requires: libdrm >= %{libdrm_ver}
Requires: xorg-lib-libXvMC >= 1.0.6
+Requires: zlib >= %{zlib_ver}
Conflicts: Mesa-libXvMC
%description libXvMC-nouveau
Group: Libraries
Requires: libdrm >= %{libdrm_ver}
Requires: xorg-lib-libXvMC >= 1.0.6
+Requires: zlib >= %{zlib_ver}
Conflicts: Mesa-libXvMC
%description libXvMC-r600
%package -n libva-driver-gallium
Summary: VA driver for Gallium State Tracker
-Summary(pl.UTF-8): Sterownik VA do Gallium
+Summary(pl.UTF-8): Sterowniki VA do Gallium
Group: Libraries
-Requires: libva >= 1.3.0
+%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 driver for Gallium State Tracker.
+VA drivers for Gallium State Tracker (r600, radeonsi & nouveau).
%description -n libva-driver-gallium -l pl.UTF-8
-Sterownik VA do Gallium.
+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
Group: Libraries
Requires: %{name}-libglapi = %{version}-%{release}
-Requires: udev-libs >= 1:151
Conflicts: Mesa-libEGL < 8.0.1-2
%description libgbm
Summary(pl.UTF-8): Plik nagłówkowy biblioteki Mesa Graphics Buffer Manager
Group: Development/Libraries
Requires: %{name}-libgbm = %{version}-%{release}
-Requires: udev-devel >= 1:151
%description libgbm-devel
Header file for Mesa Graphics Buffer Manager library.
Plik nagłówkowy biblioteki Mesa Graphics Buffer Manager (zarządcy
bufora graficznego).
-%package gbm-driver-i915
-Summary: i915 driver for Mesa GBM framework
-Summary(pl.UTF-8): Sterownik i915 dla szkieletu Mesa GBM
-Group: Libraries
-Requires: %{name}-libgbm = %{version}-%{release}
-Obsoletes: Mesa-opencl-driver-i915
-
-%description gbm-driver-i915
-i915 driver for Mesa Graphics Buffer Manager. It supports Intel
-915/945/G33/Q33/Q35/Pineview chips.
-
-%description gbm-driver-i915 -l pl.UTF-8
-Sterownik i915 dla szkieletu Mesa Graphics Buffer Manager (zarządcy
-bufora graficznego). Obsługuje układy Intela z serii
-915/945/G33/Q33/Q35/Pineview.
-
-%package gbm-driver-nouveau
-Summary: nouveau driver for Mesa GBM framework
-Summary(pl.UTF-8): Sterownik nouveau dla szkieletu Mesa GBM
-Group: Libraries
-Requires: %{name}-libgbm = %{version}-%{release}
-Obsoletes: Mesa-opencl-driver-nouveau
-
-%description gbm-driver-nouveau
-nouveau driver for Mesa Graphics Buffer Manager. It supports NVidia
-adapters.
-
-%description gbm-driver-nouveau -l pl.UTF-8
-Sterownik nouveau dla szkieletu Mesa Graphics Buffer Manager (zarządcy
-bufora graficznego). Obsługuje karty graficzne firmy NVidia.
-
-%package gbm-driver-r300
-Summary: r300 driver for Mesa GBM framework
-Summary(pl.UTF-8): Sterownik r300 dla szkieletu Mesa GBM
-Group: Libraries
-Requires: %{name}-libgbm = %{version}-%{release}
-Obsoletes: Mesa-opencl-driver-r300
-
-%description gbm-driver-r300
-r300 driver for Mesa Graphics Buffer Manager. It supports ATI Radeon
-adapters based on R300/R400/RS690/R500 chips.
-
-%description gbm-driver-r300 -l pl.UTF-8
-Sterownik r300 dla szkieletu Mesa Graphics Buffer Manager (zarządcy
-bufora graficznego). Obsługuje karty graficzne ATI Radeon oparte na
-układach R300/R400/RS690/R500.
-
-%package gbm-driver-r600
-Summary: r600 driver for Mesa GBM framework
-Summary(pl.UTF-8): Sterownik r600 dla szkieletu Mesa GBM
-Group: Libraries
-Requires: %{name}-libgbm = %{version}-%{release}
-Obsoletes: Mesa-libllvmradeon
-Obsoletes: Mesa-opencl-driver-r600
-
-%description gbm-driver-r600
-r600 driver for Mesa Graphics Buffer Manager. It supports ATI Radeon
-adapters based on R600/R700 chips.
-
-%description gbm-driver-r600 -l pl.UTF-8
-Sterownik r600 dla szkieletu Mesa Graphics Buffer Manager (zarządcy
-bufora graficznego). Obsługuje karty graficzne ATI Radeon oparte na
-układach R600/R700.
-
-%package gbm-driver-radeonsi
-Summary: radeonsi driver for Mesa GBM framework
-Summary(pl.UTF-8): Sterownik radeonsi dla szkieletu Mesa GBM
-Group: Libraries
-Requires: %{name}-libgbm = %{version}-%{release}
-Obsoletes: Mesa-libllvmradeon
-Obsoletes: Mesa-opencl-driver-radeonsi
-
-%description gbm-driver-radeonsi
-radeonsi driver for Mesa Graphics Buffer Manager. It supports ATI
-Radeon adapters based on Southern Islands chips.
-
-%description gbm-driver-radeonsi -l pl.UTF-8
-Sterownik radeonsi dla szkieletu Mesa Graphics Buffer Manager
-(zarządcy bufora graficznego). Obsługuje karty graficzne ATI Radeon
-oparte na układach Southern Islands.
-
-%package gbm-driver-swrast
-Summary: Software (swrast) driver for Mesa GBM framework
-Summary(pl.UTF-8): Sterownik programowy (swrast) dla szkieletu Mesa GBM
-Group: Libraries
-Requires: %{name}-libgbm = %{version}-%{release}
-Obsoletes: Mesa-opencl-driver-swrast
-
-%description gbm-driver-swrast
-Software (swrast) driver for Mesa Graphics Buffer Manager.
-
-%description gbm-driver-swrast -l pl.UTF-8
-Sterownik programowy (swrast) dla szkieletu Mesa Graphics Buffer
-Manager (zarządcy bufora graficznego).
-
-%package gbm-driver-vmwgfx
-Summary: vmwgfx driver for Mesa GBM framework
-Summary(pl.UTF-8): Sterownik vmwgfx dla szkieletu Mesa GBM
-Group: Libraries
-Requires: %{name}-libgbm = %{version}-%{release}
-Obsoletes: Mesa-opencl-driver-vmwgfx
-
-%description gbm-driver-vmwgfx
-vmwgfx driver for Mesa Graphics Buffer Manager. It supports VMware
-virtual video adapter.
-
-%description gbm-driver-vmwgfx -l pl.UTF-8
-Sterownik vmwgfx dla szkieletu Mesa Graphics Buffer Manager (zarządcy
-bufora graficznego). Obsługuje wirtualną kartę graficzną VMware.
-
%package libglapi
Summary: Mesa GL API shared library
Summary(pl.UTF-8): Biblioteka współdzielona Mesa GL API
Summary(pl.UTF-8): Biblioteka akceleracji Gallium3D dla Xorg
Group: X11/Libraries
Requires: libdrm >= %{libdrm_ver}
+Requires: zlib >= %{zlib_ver}
%description libxatracker
Xorg Gallium3D accelleration library (used by new vmwgfx driver).
Requires: xorg-driver-video-ati
Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
Requires: xorg-xserver-server >= %{xserver_ver}
+Requires: zlib >= %{zlib_ver}
Obsoletes: X11-driver-radeon-dri < 1:7.0.0
%description dri-driver-ati-radeon-R100
-X.org DRI driver for ATI R100 card family (Radeon 7000-7500).
+X.org DRI driver for ATI R100 card family (Radeon 7000-7500). It
+supports R100, RV100, RS100, RV200, RS200, RS250.
%description dri-driver-ati-radeon-R100 -l pl.UTF-8
Sterownik X.org DRI dla rodziny kart ATI R100 (Radeon 7000-7500).
+Obsługuje układy R100, RV100, RS100, RV200, RS200, RS250.
%package dri-driver-ati-radeon-R200
Summary: X.org DRI driver for ATI R200 card family
Requires: xorg-driver-video-ati
Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
Requires: xorg-xserver-server >= %{xserver_ver}
+Requires: zlib >= %{zlib_ver}
Obsoletes: X11-driver-radeon-dri < 1:7.0.0
%description dri-driver-ati-radeon-R200
-X.org DRI driver for ATI R200 card family (Radeon 8500-92xx)
+X.org DRI driver for ATI R200 card family (Radeon 8500-92xx). It
+supports R200, RV250, RV280, RS300, RS350 chips.
%description dri-driver-ati-radeon-R200 -l pl.UTF-8
Sterownik X.org DRI dla rodziny kart ATI R200 (Radeon 8500-92xx).
+Obsługuje układy R200, RV250, RV280, RS300, RS350.
%package dri-driver-ati-radeon-R300
Summary: X.org DRI driver for ATI R300 card family
Requires: xorg-driver-video-ati
Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
Requires: xorg-xserver-server >= %{xserver_ver}
+Requires: zlib >= %{zlib_ver}
Obsoletes: X11-driver-radeon-dri < 1:7.0.0
%description dri-driver-ati-radeon-R300
-X.org DRI driver for ATI R300/R400/RS690/R500 card family.
+X.org Gallium DRI driver for ATI R300/R400/RS690/R500 card family
+(Radeon 9600-9800, X300-X2300). It supports R300, R350, R360, RV350,
+RV370, RV380, R420, R423, R430, R480, R481, RV410, RS400, RC410,
+RS480, RS482, R520, RV515, RV530, RV560, RV570, R580, RS600, RS690,
+RS740 chips.
%description dri-driver-ati-radeon-R300 -l pl.UTF-8
-Sterownik X.org DRI dla rodziny kart ATI R300/R400/RS690/R500.
+Sterownik X.org DRI Gallium dla rodziny kart ATI R300/R400/RS690/R500
+(Radeon 9600-9800, X300-X2300). Obsługuje układy R300, R350, R360,
+RV350, RV370, RV380, R420, R423, R430, R480, R481, RV410, RS400,
+RC410, RS480, RS482, R520, RV515, RV530, RV560, RV570, R580, RS600,
+RS690, RS740.
%package dri-driver-ati-radeon-R600
Summary: X.org DRI driver for ATI R600 card family
Requires: xorg-driver-video-ati
Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
Requires: xorg-xserver-server >= %{xserver_ver}
+Requires: zlib >= %{zlib_ver}
%description dri-driver-ati-radeon-R600
-X.org DRI driver for ATI R600/R700 card family.
+X.org Gallium DRI driver for ATI R600/R700 card family (Radeon HD
+2400-7000). It supports R600, RV610, RV630, RV670, RV620, RV635,
+RS780, RS880, RV770, RV730, RV710, RV740, CEDAR, REDWOOD, JUNIPER,
+CYPRESS, HEMLOCK, PALM, SUMO/SUMO2, CAYMAN, BARTS, TURKS, CAICOS,
+ARUBA chips.
%description dri-driver-ati-radeon-R600 -l pl.UTF-8
-Sterownik X.org DRI dla rodziny kart ATI R600/R700.
+Sterownik X.org DRI Gallium dla rodziny kart ATI R600/R700 (Radeon HD
+2400-7000). Obsługuje układy R600, RV610, RV630, RV670, RV620, RV635,
+RS780, RS880, RV770, RV730, RV710, RV740, CEDAR, REDWOOD, JUNIPER,
+CYPRESS, HEMLOCK, PALM, SUMO/SUMO2, CAYMAN, BARTS, TURKS, CAICOS,
+ARUBA.
%package dri-driver-ati-radeon-SI
Summary: X.org DRI driver for ATI Southern Islands card family
Requires: xorg-driver-video-ati
Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
Requires: xorg-xserver-server >= %{xserver_ver}
+Requires: zlib >= %{zlib_ver}
%description dri-driver-ati-radeon-SI
-X.org DRI driver for ATI Southern Islands card family.
+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.
%description dri-driver-ati-radeon-SI -l pl.UTF-8
-Sterownik X.org DRI dla rodziny kart ATI Southern Islands.
+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.
+
+%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
+#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.
+
+%description dri-driver-etnaviv -l pl.UTF-8
+Sterownik X.org DRI 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
+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.
+
+%description dri-driver-freedreno -l pl.UTF-8
+Sterownik X.org DRI 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
-Requires: xorg-driver-video-intel
Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
Requires: xorg-xserver-server >= %{xserver_ver}
+Requires: zlib >= %{zlib_ver}
Obsoletes: Mesa-dri-driver-intel-i830
Obsoletes: X11-driver-i810-dri < 1:7.0.0
%description dri-driver-intel-i915
-X.org DRI driver for Intel i915 card family (915, 945, G33, Q33, Q35,
-Pineview).
+X.org DRI driver for Intel i915 card family (830, 845, 852/855, 865,
+915, 945, G33, Q33, Q35, Pineview).
%description dri-driver-intel-i915 -l pl.UTF-8
-Sterownik X.org DRI dla rodziny kart Intel i915 (915, 945, G33, Q33,
-Q35, Pineview).
+Sterownik X.org DRI dla rodziny kart Intel i915 (830, 845, 852/855,
+865, 915, 945, G33, Q33, Q35, Pineview).
%package dri-driver-intel-i965
Summary: X.org DRI driver for Intel i965 card family
Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart Intel i965
License: MIT
Group: X11/Libraries
-Requires: xorg-driver-video-intel
Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
Requires: xorg-xserver-server >= %{xserver_ver}
+Requires: zlib >= %{zlib_ver}
Obsoletes: Mesa-dri-driver-intel-i830
Obsoletes: X11-driver-i810-dri < 1:7.0.0
%description dri-driver-intel-i965
-X.org DRI driver for Intel i965 card family (946GZ, 965G, 965Q, 965GM,
-965GME, GM45, G41, B43, Q45, G45);
+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);
%description dri-driver-intel-i965 -l pl.UTF-8
-Sterownik X.org DRI dla rodziny kart Intel i965 (946GZ, 965G, 965Q,
-965GM, 965GME, GM45, G41, B43, Q45, G45).
+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);
%package dri-driver-nouveau
Summary: X.org DRI driver for NVIDIA card family
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.
Group: X11/Libraries
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-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
+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.
+
+%description dri-driver-vc4 -l pl.UTF-8
+Sterownik X.org DRI 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
+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.
+
+%description dri-driver-virgl -l pl.UTF-8
+Sterownik X.org DRI dla QEMU VirGL.
+
%package dri-driver-vmwgfx
Summary: X.org DRI driver for VMware
Summary(pl.UTF-8): Sterownik X.org DRI dla VMware
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.
%description dri-driver-vmwgfx -l pl.UTF-8
Sterownik X.org DRI 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
+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
+915/945/G33/Q33/Q35/Pineview chips.
+
+%description pipe-driver-i915 -l pl.UTF-8
+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-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
+Group: Libraries
+Requires: zlib >= %{zlib_ver}
+
+%description pipe-driver-msm
+msm (freedreno) driver for Mesa Gallium dynamic pipe loader. It
+supports Adreno chips.
+
+%description pipe-driver-msm -l pl.UTF-8
+Sterownik msm (freedreno) dla dynamicznego systemu potoków szkieletu
+Mesa Gallium. Obsługuje układy Adreno.
+
+%package pipe-driver-nouveau
+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
+
+%description pipe-driver-nouveau
+nouveau driver for Mesa Gallium dynamic pipe loader. It supports
+NVidia adapters.
+
+%description pipe-driver-nouveau -l pl.UTF-8
+Sterownik nouveau dla dynamicznego systemu potoków szkieletu Mesa
+Gallium. Obsługuje karty graficzne firmy NVidia.
+
+%package pipe-driver-r300
+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
+
+%description pipe-driver-r300
+r300 driver for Mesa Gallium dynamic pipe loader. It supports ATI
+Radeon adapters based on R300/R400/RS690/R500 chips.
+
+%description pipe-driver-r300 -l pl.UTF-8
+Sterownik r300 dla dynamicznego systemu potoków szkieletu Mesa
+Gallium. Obsługuje karty graficzne ATI Radeon oparte na układach
+R300/R400/RS690/R500.
+
+%package pipe-driver-r600
+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
+
+%description pipe-driver-r600
+r600 driver for Mesa Gallium dynamic pipe loader. It supports ATI
+Radeon adapters based on R600/R700 chips.
+
+%description pipe-driver-r600 -l pl.UTF-8
+Sterownik r600 dla dynamicznego systemu potoków szkieletu Mesa
+Gallium. Obsługuje karty graficzne ATI Radeon oparte na układach
+R600/R700.
+
+%package pipe-driver-radeonsi
+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
+
+%description pipe-driver-radeonsi
+radeonsi driver for Mesa Gallium dynamic pipe loader. It supports ATI
+Radeon adapters based on Southern Islands chips.
+
+%description pipe-driver-radeonsi -l pl.UTF-8
+Sterownik radeonsi dla dynamicznego systemu potoków szkieletu Mesa
+Gallium. Obsługuje karty graficzne ATI Radeon oparte na układach
+Southern Islands.
+
+%package pipe-driver-swrast
+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
+Requires: zlib >= %{zlib_ver}
+Obsoletes: Mesa-gbm-driver-swrast
+Obsoletes: Mesa-opencl-driver-swrast
+
+%description pipe-driver-swrast
+Software (swrast) driver for Mesa Gallium dynamic pipe loader.
+
+%description pipe-driver-swrast -l pl.UTF-8
+Sterownik programowy (swrast) dla dynamicznego systemu potoków
+szkieletu Mesa Gallium.
+
+%package pipe-driver-vmwgfx
+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
+
+%description pipe-driver-vmwgfx
+vmwgfx driver for Mesa Gallium dynamic pipe loader. It supports VMware
+virtual video adapter.
+
+%description pipe-driver-vmwgfx -l pl.UTF-8
+Sterownik vmwgfx dla dynamicznego systemu potoków szkieletu Mesa
+Gallium. Obsługuje wirtualną kartę graficzną VMware.
+
+%package swr
+Summary: OpenSWR software rasterizer modules for Mesa
+Summary(pl.UTF-8): Moduły programowego rasteryzera OpenSWR dla Mesy
+Group: Libraries
+Requires: cpuinfo(avx)
+Requires: zlib >= %{zlib_ver}
+
+%description swr
+OpenSWR software rasterizer modules for Mesa, utilizing x86 AVX or
+VX2 instruction sets. They can be loaded by swrast pipe driver or
+OSMesa library.
+
+%description swr -l pl.UTF-8
+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)
Group: Libraries
Requires: libdrm >= %{libdrm_ver}
+Requires: zlib >= %{zlib_ver}
%description d3d
Nine Direct3D9 driver (for Wine).
License: MIT
Group: X11/Libraries
Requires: libdrm >= %{libdrm_ver}
-Requires: libvdpau >= 0.4.1
+Requires: libvdpau >= 1.1
+Requires: zlib >= %{zlib_ver}
Conflicts: libvdpau-driver-mesa
%description -n libvdpau-driver-mesa-nouveau
License: MIT
Group: X11/Libraries
Requires: libdrm >= %{libdrm_ver}
-Requires: libvdpau >= 0.4.1
+Requires: libvdpau >= 1.1
+Requires: zlib >= %{zlib_ver}
Conflicts: libvdpau-driver-mesa
%description -n libvdpau-driver-mesa-r300
License: MIT
Group: X11/Libraries
Requires: libdrm >= %{libdrm_ver}
-Requires: libvdpau >= 0.4.1
+Requires: libvdpau >= 1.1
+Requires: zlib >= %{zlib_ver}
Conflicts: libvdpau-driver-mesa
%description -n libvdpau-driver-mesa-r600
License: MIT
Group: X11/Libraries
Requires: libdrm >= %{libdrm_ver}
-Requires: libvdpau >= 0.4.1
+Requires: libvdpau >= 1.1
+Requires: zlib >= %{zlib_ver}
Conflicts: libvdpau-driver-mesa
Obsoletes: Mesa-libllvmradeon
Requires: libdrm >= %{libdrm_ver}
Requires: libxcb >= 1.8
Requires: libomxil-bellagio
+Requires: zlib >= %{zlib_ver}
Obsoletes: omxil-mesa-nouveau
Obsoletes: omxil-mesa-r600
Obsoletes: omxil-mesa-radeonsi
%description -n omxil-mesa -l pl.UTF-8
Sterownik Mesa dla API Bellagio OpenMAX IL.
-%package -n omxil-mesa-nouveau
-Summary: Mesa nouveau driver for Bellagio OpenMAX IL API
-Summary(pl.UTF-8): Sterownik Mesa nouveau dla API Bellagio OpenMAX IL
+%package vulkan-icd-intel
+Summary: Mesa Vulkan driver for Intel GPUs
+Summary(pl.UTF-8): Sterownik Vulkan dla GPU firmy Intel
License: MIT
-Group: X11/Libraries
+Group: Libraries
Requires: libdrm >= %{libdrm_ver}
-Requires: libxcb >= 1.8
-Requires: libomxil-bellagio
+Requires: zlib >= %{zlib_ver}
+Suggests: vulkan(loader)
+Provides: vulkan(icd) = 1.0.3
-%description -n omxil-mesa-nouveau
-Mesa nouveau driver for Bellagio OpenMAX IL API. It supports NVidia
-adapters (NV40-NV96, NVa0).
+%description vulkan-icd-intel
+Mesa Vulkan driver for Intel GPUs.
-%description -n omxil-mesa-nouveau -l pl.UTF-8
-Sterownik Mesa nouveau dla API Bellagio OpenMAX IL. Obsługuje karty
-NVidia (NV40-NV96, NVa0).
+%description vulkan-icd-intel -l pl.UTF-8
+Sterownik Vulkan dla GPU Intela.
-%package -n omxil-mesa-r600
-Summary: Mesa r600 driver for Bellagio OpenMAX IL API
-Summary(pl.UTF-8): Sterownik Mesa r600 dla API Bellagio OpenMAX IL
+%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
License: MIT
-Group: X11/Libraries
-Requires: libdrm >= %{libdrm_ver}
-Requires: libxcb >= 1.8
-Requires: libomxil-bellagio
+Group: Development/Libraries
+Requires: %{name}-vulkan-icd-intel = %{version}-%{release}
-%description -n omxil-mesa-r600
-Mesa r600 driver for Bellagio OpenMAX IL API. It supports ATI Radeon
-adapters based on R600/R700 chips.
+%description vulkan-icd-intel-devel
+eader files for Mesa Intel GPU Vulkan driver.
-%description -n omxil-mesa-r600 -l pl.UTF-8
-Sterownik Mesa r600 dla API Bellagio OpenMAX IL. Obsługuje karty ATI
-Radeon oparte na układach R600/R700.
+%description vulkan-icd-intel-devel -l pl.UTF-8
+Pliki nagłówkowe sterownika Vulkan dla GPU Intel.
-%package -n omxil-mesa-radeonsi
-Summary: Mesa radeonsi driver for Bellagio OpenMAX IL API
-Summary(pl.UTF-8): Sterownik Mesa radeonsi dla API Bellagio OpenMAX IL
+%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
License: MIT
-Group: X11/Libraries
-Requires: libdrm >= %{libdrm_ver}
-Requires: libxcb >= 1.8
-Requires: libomxil-bellagio
+Group: Libraries
+Requires: zlib >= %{zlib_ver}
+Suggests: vulkan(loader)
+Provides: vulkan(icd) = 1.0.3
-%description -n omxil-mesa-radeonsi
-Mesa radeonsi driver for Bellagio OpenMAX IL API. It supports ATI
-Radeon adapters based on Southern Islands chips.
+%description vulkan-icd-radeon
+radv - experimental Mesa Vulkan driver for AMD Radeon GPUs.
-%description -n omxil-mesa-radeonsi -l pl.UTF-8
-Sterownik Mesa radeonsi dla API Bellagio OpenMAX IL. Obsługuje karty
-ATI Radeon oparte na układach Southern Islands.
+%description vulkan-icd-radeon -l pl.UTF-8
+radv - eksperymentalny sterownik Vulkan dla GPU firmy AMD.
%prep
%setup -q -n mesa-%{version}
%patch0 -p1
+%if %{with glvnd}
+%patch1 -p1
+%endif
%build
%{__libtoolize}
%{__autoconf}
%{__automake}
-dri_drivers="r200 radeon \
-%if %{without gallium_intel}
-i915 \
-%endif
-i965 \
-nouveau \
-%ifarch sparc sparcv9 sparc64
-ffb \
+dri_drivers="nouveau r200 radeon swrast \
+%ifarch %{ix86} %{x8664} x32
+i965 %{!?with_gallium_i915:i915} \
%endif
-swrast"
+"
dri_drivers=$(echo $dri_drivers | xargs | tr ' ' ',')
-gallium_drivers="svga swrast \
-%if %{with gallium_intel}
-i915 \
+gallium_drivers="svga swrast virgl \
+%ifarch %{ix86} %{x8664} x32
+swr %{?with_gallium_i915:i915} \
%endif
%if %{with gallium_radeon}
-r300 \
-r600 \
-radeonsi \
+r300 r600 radeonsi \
%endif
%if %{with gallium_nouveau}
nouveau
%endif
+%ifarch %{arm}
+etnaviv \
+freedreno \
+imx \
+vc4 \
+%endif
"
gallium_drivers=$(echo $gallium_drivers | xargs | tr ' ' ',')
+vulkan_drivers="%{?with_radv:radeon} \
+%ifarch %{ix86} %{x8664} x32
+intel \
+%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-egl \
--enable-gles1 \
--enable-gles2 \
- --with-egl-platforms=x11%{?with_gbm:,drm}%{?with_wayland:,wayland} \
+ --with-platforms=x11%{?with_gbm:,drm}%{?with_wayland:,wayland} \
%endif
%if %{with gallium}
- --enable-gallium-llvm \
- --enable-llvm-shared-libs \
- %{__enable egl gallium-egl} \
- %{__enable gbm gallium-gbm} \
+ %{?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} \
- %{?with_egl:%{?with_openvg:--enable-openvg}} \
+ %{__enable va} \
--enable-vdpau \
- %{?with_omx:--enable-omx} \
+ %{?with_omx:--enable-omx-bellagio} \
%{?with_xa:--enable-xa} \
--enable-xvmc \
--with-gallium-drivers=${gallium_drivers} \
%else
--without-gallium-drivers \
%endif
- --with-va-libdir=%{_libdir}/libva/dri \
--with-dri-drivers=${dri_drivers} \
- --with-dri-driverdir=%{_libdir}/xorg/modules/dri
+ --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}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-# strip out undesirable headers
-%{__rm} $RPM_BUILD_ROOT%{_includedir}/GL/{wglext,wmesa}.h
# dlopened by soname
%{?with_gallium:%{__rm} $RPM_BUILD_ROOT%{_libdir}/libXvMC*.so}
%{?with_gallium:%{__rm} $RPM_BUILD_ROOT%{_libdir}/libXvMC*.so.1.0}
%{?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
-%{?with_gallium:%{__rm} $RPM_BUILD_ROOT%{_libdir}/libva/dri/gallium_drv_video.la}
+%if %{without glvnd}
# remove "OS ABI: Linux 2.4.20" tag, so private copies (nvidia or fglrx),
# set up via /etc/ld.so.conf.d/*.conf will be preferred over this
strip -R .note.ABI-tag $RPM_BUILD_ROOT%{_libdir}/libGL.so.*.*
+%endif
%clean
rm -rf $RPM_BUILD_ROOT
%if %{with egl}
%files libEGL
%defattr(644,root,root,755)
+%if %{with glvnd}
+%attr(755,root,root) %{_libdir}/libEGL_mesa.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libEGL_mesa.so.0
+%{_datadir}/glvnd/egl_vendor.d/50_mesa.json
+%else
%attr(755,root,root) %{_libdir}/libEGL.so.*.*
%attr(755,root,root) %ghost %{_libdir}/libEGL.so.1
+%endif
%files libEGL-devel
%defattr(644,root,root,755)
+%if %{with glvnd}
+%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
%files libGL
%defattr(644,root,root,755)
%doc docs/{*.html,README.UVD,patents.txt,relnotes/*.html}
+%if %{with glvnd}
+%attr(755,root,root) %{_libdir}/libGLX_mesa.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libGLX_mesa.so.0
+%attr(755,root,root) %{_libdir}/libGLX_mesa.so
+%else
%attr(755,root,root) %{_libdir}/libGL.so.*.*
%attr(755,root,root) %ghost %{_libdir}/libGL.so.1
# symlink for binary apps which fail to conform Linux OpenGL ABI
# (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
%files libGL-devel
%attr(755,root,root) %{_libdir}/libMesaOpenCL.so
%attr(755,root,root) %{_libdir}/libMesaOpenCL.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libMesaOpenCL.so.1
+# currently only OpenCL uses dynamic pipe loader
+%dir %{_libdir}/gallium-pipe
%else
%files libOpenCL
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libOpenCL.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libOpenCL.so.1
+# currently only OpenCL uses dynamic pipe loader
+%dir %{_libdir}/gallium-pipe
%files libOpenCL-devel
%defattr(644,root,root,755)
%if %{with va}
%files -n libva-driver-gallium
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libva/dri/gallium_drv_video.so
-%endif
-%endif
-
-%if %{with gbm}
-%files libgbm
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libgbm.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgbm.so.1
-%if %{with gallium}
-%dir %{_libdir}/gallium-pipe
-%if %{with openvg}
-%dir %{_libdir}/gbm
-%attr(755,root,root) %{_libdir}/gbm/gbm_gallium_drm.so
-%endif
-%endif
-%files libgbm-devel
+%if %{with gallium_radeon}
+%files -n libva-driver-r600
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libgbm.so
-%{_includedir}/gbm.h
-%{_pkgconfigdir}/gbm.pc
-%endif
+%attr(755,root,root) %{_libdir}/libva/dri/r600_drv_video.so
-%if %{with gallium}
-%if %{with gallium_intel}
-%files gbm-driver-i915
+%files -n libva-driver-radeonsi
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_i915.so
+%attr(755,root,root) %{_libdir}/libva/dri/radeonsi_drv_video.so
%endif
%if %{with gallium_nouveau}
-%files gbm-driver-nouveau
+%files -n libva-driver-nouveau
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_nouveau.so
+%attr(755,root,root) %{_libdir}/libva/dri/nouveau_drv_video.so
+%endif
%endif
-
-%if %{with gallium_radeon}
-%files gbm-driver-r300
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_r300.so
-
-%files gbm-driver-r600
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_r600.so
-
-%files gbm-driver-radeonsi
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_radeonsi.so
%endif
-%files gbm-driver-swrast
+%if %{with gbm}
+%files libgbm
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_swrast.so
+%attr(755,root,root) %{_libdir}/libgbm.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libgbm.so.1
-%files gbm-driver-vmwgfx
+%files libgbm-devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_vmwgfx.so
+%attr(755,root,root) %{_libdir}/libgbm.so
+%{_includedir}/gbm.h
+%{_pkgconfigdir}/gbm.pc
%endif
%files libglapi
%attr(755,root,root) %{_libdir}/xorg/modules/dri/swrast_dri.so
%if %{with gallium}
+%ifarch %{arm}
+%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-vc4
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/vc4_dri.so
+%endif
+
+%files dri-driver-virgl
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/virtio_gpu_dri.so
+
%files dri-driver-vmwgfx
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/vmwgfx_dri.so
%endif
+%if %{with gallium}
+%if %{with gallium_i915}
+%files pipe-driver-i915
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_i915.so
+%endif
+
+%ifarch %{arm}
+%files pipe-driver-msm
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_msm.so
+%endif
+
+%if %{with gallium_nouveau}
+%files pipe-driver-nouveau
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_nouveau.so
+%endif
+
+%if %{with gallium_radeon}
+%files pipe-driver-r300
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_r300.so
+
+%files pipe-driver-r600
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_r600.so
+
+%files pipe-driver-radeonsi
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_radeonsi.so
+%endif
+
+%files pipe-driver-swrast
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_swrast.so
+
+%files pipe-driver-vmwgfx
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_vmwgfx.so
+
+%ifarch %{ix86} %{x8664} x32
+%files swr
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libswrAVX.so
+%attr(755,root,root) %{_libdir}/libswrAVX2.so
+%endif
+%endif
+
%if %{with nine}
%files d3d
%defattr(644,root,root,755)
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/bellagio/libomx_mesa.so
%endif
+
+%files vulkan-icd-intel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libvulkan_intel.so
+%{_datadir}/vulkan/icd.d/intel_icd.*.json
+
+%files vulkan-icd-intel-devel
+%defattr(644,root,root,755)
+%{_includedir}/vulkan/vulkan_intel.h
+
+%if %{with radv}
+%files vulkan-icd-radeon
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libvulkan_radeon.so
+%{_datadir}/vulkan/icd.d/radeon_icd.*.json
+%endif