X-Git-Url: https://git.pld-linux.org/?p=packages%2FMesa.git;a=blobdiff_plain;f=Mesa.spec;h=0432bf2c9618931de4ba1684e51fe654856383b4;hp=53f162468c948c56e2cae141f4559b675760366e;hb=eb081680cb161d12418b73cfe9e28338d2f906a5;hpb=a738a7c005f305758cbc62998b668c58be0d76ae diff --git a/Mesa.spec b/Mesa.spec index 53f1624..0432bf2 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -2,42 +2,50 @@ # # Conditional build: %bcond_without gallium # gallium drivers +%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_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 tests # tests -%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 # other packages -%define libdrm_ver 2.4.97 +%define libdrm_ver 2.4.105 %define dri2proto_ver 2.8 %define glproto_ver 1.4.14 %define zlib_ver 1.2.8 -%define wayland_ver 1.11 -%define llvm_ver 7.0.0 +%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_omx %undefine with_opencl +%undefine with_swr %undefine with_xa %endif @@ -50,38 +58,52 @@ %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: 19.0.2 +Version: 21.1.0 Release: 1 License: MIT (core) and others - see license.html file Group: X11/Libraries #Source0: ftp://ftp.freedesktop.org/pub/mesa/mesa-%{version}.tar.xz ## Source0-md5: 7c61a801311fb8d2f7b3cceb7b5cf308 Source0: https://gitlab.freedesktop.org/mesa/mesa/-/archive/mesa-%{version}/mesa-mesa-%{version}.tar.bz2 -# Source0-md5: 4a5e81eba57f6888a5be8fba0b9aa843 +# Source0-md5: 7482dd659c3708bdda247c96449d9d79 Patch0: nouveau_no_rtti.patch +Patch1: zink_x32.patch URL: http://www.mesa3d.org/ +%{?with_opencl_spirv:BuildRequires: SPIRV-LLVM-Translator-devel >= 8.0.1.3} +%{?with_gallium_zink:BuildRequires: Vulkan-Loader-devel} +BuildRequires: bison > 2.3 %{?with_opencl:BuildRequires: clang-devel >= %{llvm_ver}} BuildRequires: elfutils-devel BuildRequires: expat-devel >= 1.95 +BuildRequires: flex BuildRequires: gcc >= %{gcc_ver} BuildRequires: libdrm-devel >= %{libdrm_ver} -%{?with_glvnd:BuildRequires: libglvnd-devel >= 0.2.0} +%{?with_glvnd:BuildRequires: libglvnd-devel >= %{libglvnd_ver}} BuildRequires: libselinux-devel 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 %{?with_gallium:BuildRequires: llvm-devel >= %{llvm_ver}} %{?with_radv:BuildRequires: llvm-devel >= %{llvm_ver}} %{?with_opencl:BuildRequires: llvm-libclc} %{?with_omx:BuildRequires: libomxil-bellagio-devel} -BuildRequires: meson >= 0.45 -BuildRequires: ninja +BuildRequires: meson >= 0.52 +BuildRequires: ninja >= 1.5 BuildRequires: pkgconfig BuildRequires: pkgconfig(talloc) >= 2.0.1 BuildRequires: pkgconfig(xcb-dri2) >= 1.8 @@ -89,31 +111,35 @@ BuildRequires: pkgconfig(xcb-dri3) >= 1.13 BuildRequires: pkgconfig(xcb-glx) >= 1.8.1 BuildRequires: pkgconfig(xcb-present) >= 1.13 BuildRequires: pkgconfig(xcb-randr) >= 1.12 -BuildRequires: python3 +BuildRequires: python3 >= 1:3.2 BuildRequires: python3-Mako >= 0.8.0 -BuildRequires: rpmbuild(macros) >= 1.470 +BuildRequires: rpmbuild(macros) >= 1.736 BuildRequires: sed >= 4.0 +%{?with_opencl_spirv:BuildRequires: spirv-tools-devel >= 2018.0} # wayland-{client,server} %{?with_wayland:BuildRequires: wayland-devel >= %{wayland_ver}} %{?with_wayland:BuildRequires: wayland-protocols >= 1.8} %{?with_wayland:BuildRequires: wayland-egl-devel >= %{wayland_ver}} -BuildRequires: xorg-lib-libXdamage-devel >= 1.1 +BuildRequires: xorg-lib-libX11-devel BuildRequires: xorg-lib-libXext-devel >= 1.0.5 -BuildRequires: xorg-lib-libXfixes-devel -BuildRequires: xorg-lib-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-glproto-devel >= %{glproto_ver} %if %{with gallium} -%{?with_lm_sensors:BuildRequires: lm_sensors-devel >= 4.0} +%{?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(?) -%define skip_post_check_so libGLESv1_CM.so.1.* libGLESv2.so.2.* libGL.so.1.* libOSMesa.so.* libGLX_mesa.so.0.* +%define skip_post_check_so libGLESv1_CM.so.1.* libGLESv2.so.2.* libGL.so.1.* libOSMesa.so.* libGLX_mesa.so.0.* %description Mesa is a 3-D graphics library with an API which is very similar to @@ -140,10 +166,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 @@ -162,17 +191,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. @@ -180,20 +216,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 @@ -202,11 +224,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 @@ -219,7 +243,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 @@ -229,7 +253,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 @@ -237,23 +261,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 Requires: libdrm-devel >= %{libdrm_ver} +%if %{with glvnd} +Requires: libglvnd-libGL-devel >= %{libglvnd_ver} +%else +Requires: %{name}-libGL = %{version}-%{release} +Requires: libxcb-devel >= 1.13 +Requires: pkgconfig(xcb-dri2) >= 1.8 +Requires: pkgconfig(xcb-glx) >= 1.8.1 Requires: xorg-lib-libX11-devel -Requires: xorg-lib-libXdamage-devel >= 1.1 Requires: xorg-lib-libXext-devel >= 1.0.5 +Requires: xorg-lib-libXfixes-devel >= 2.0 Requires: xorg-lib-libXxf86vm-devel -Requires: xorg-proto-dri2proto-devel >= %{dri2proto_ver} -Requires: xorg-proto-glproto-devel >= %{glproto_ver} +%endif Suggests: OpenGL-doc-man +%if %{without glvnd} Provides: OpenGL-GLX-devel = 1.4 -Provides: OpenGL-devel = 4.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. @@ -261,29 +295,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 @@ -294,7 +313,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: . 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 @@ -302,20 +321,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: . 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} # for 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. @@ -328,6 +353,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 @@ -345,6 +371,7 @@ Requires: %{name}-libOSMesa = %{version}-%{release} # for only Requires: OpenGL-devel Requires: libselinux-devel +Obsoletes: Mesa-libOSMesa-static < 18.3 %description libOSMesa-devel Header file for OSMesa (off-screen renderer) library. @@ -352,21 +379,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 @@ -397,8 +409,8 @@ oraz urządzeniach przenośnych/wbudowanych. Specyfikację OpenCL można znaleźć na stronie Khronos Group: . 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 @@ -651,6 +663,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} @@ -676,6 +689,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} @@ -701,6 +715,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} @@ -711,55 +726,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 @@ -778,26 +798,88 @@ 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-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} @@ -809,11 +891,29 @@ 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} @@ -824,52 +924,138 @@ 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 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 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 < 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 +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-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 @@ -890,8 +1076,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 @@ -906,8 +1092,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 @@ -923,9 +1109,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 @@ -941,9 +1127,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 @@ -958,9 +1144,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. @@ -974,8 +1161,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 @@ -1090,7 +1277,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 @@ -1109,9 +1296,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. @@ -1119,6 +1306,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 @@ -1126,12 +1355,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. @@ -1139,18 +1370,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 @@ -1159,6 +1398,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} @@ -1174,11 +1414,10 @@ radv - eksperymentalny sterownik Vulkan dla GPU firmy AMD. %prep %setup -q -n mesa-mesa-%{version} - %patch0 -p1 +%patch1 -p1 %build - %if %{with opencl} if [ "$(llvm-config --has-rtti)" != "YES" ] ; then echo "Clover (gallium OpenCL) requires LLVM with RTTI!" @@ -1191,14 +1430,16 @@ dri_drivers="nouveau r100 r200 \ swrast %endif %ifarch %{ix86} %{x8664} x32 -i965 i915 \ +i965 %{!?with_gallium_i915:i915} \ %endif " dri_drivers=$(echo $dri_drivers | xargs | tr ' ' ',') -gallium_drivers="svga virgl \ -swrast +gallium_drivers="virgl swrast %{?with_gallium_zink:zink} \ +%ifarch %{ix86} %{x8664} x32 +svga iris %{?with_swr:swr} %{?with_gallium_i915:i915} \ +%endif %if %{with gallium_radeon} r300 r600 radeonsi \ %endif @@ -1208,9 +1449,9 @@ nouveau %ifarch %{arm} aarch64 etnaviv \ freedreno \ -imx \ -pl111 \ -tegra \ +lima \ +panfrost \ +%{?with_gallium_nouveau:tegra} \ v3d \ vc4 \ %endif @@ -1218,20 +1459,23 @@ vc4 \ gallium_drivers=$(echo $gallium_drivers | xargs | tr ' ' ',') -vulkan_drivers="%{?with_radv:amd} \ +vulkan_drivers="swrast %{?with_radv:amd} \ %ifarch %{ix86} %{x8664} x32 intel \ %endif +%ifarch %{arm} aarch64 +freedreno broadcom \ +%endif " vulkan_drivers=$(echo $vulkan_drivers | xargs | tr ' ' ',') %meson build \ - -Dplatforms=x11,drm,%{?with_wayland:,wayland},surfaceless \ - -Ddri3=true \ + -Dplatforms=x11%{?with_wayland:,wayland} \ + -Ddri3=enabled \ -Ddri-drivers=${dri_drivers} \ -Ddri-drivers-path=%{_libdir}/xorg/modules/dri \ - -Degl=%{?with_egl:true}%{!?with_egl:false} \ + -Degl=%{?with_egl:enabled}%{!?with_egl:disabled} \ -Dgallium-drivers=${gallium_drivers} \ %{?with_hud_extra:-Dgallium-extra-hud=true} \ -Dgallium-nine=%{?with_nine:true}%{!?with_nine:false} \ @@ -1245,32 +1489,32 @@ vulkan_drivers=$(echo $vulkan_drivers | xargs | tr ' ' ',') %else -Dgallium-opencl=disabled \ %endif - -Dgallium-va=%{?with_va:true}%{!?with_va:false} \ - -Dgallium-vdpau=true \ - -Dgallium-xvmc=true \ - -Dgallium-xa=%{?with_xa:true}%{!?with_xa:false} \ - -Dgbm=%{?with_gbm:true}%{!?with_gbm:false} \ + -Dgallium-va=%{?with_va:enabled}%{!?with_va:disabled} \ + %{?with_vdpau:-Dgallium-vdpau=enabled} \ + %{?with_xvmc:-Dgallium-xvmc=enabled} \ + -Dgallium-xa=%{?with_xa:enabled}%{!?with_xa:disabled} \ + -Dgbm=%{?with_gbm:enabled}%{!?with_gbm:disabled} \ -Dglvnd=%{?with_glvnd:true}%{!?with_glvnd:false} \ - -Dlibunwind=true \ - -Dlmsensors=%{?with_lm_sensors:true}%{!?with_lm_sensors:false} \ - -Dosmesa=%{?with_gallium:gallium}%{!?with_gallium:classic} \ + -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 -%meson_build -C build +%ninja_build -C build -%{?with_tests:%meson_test -C build} +%{?with_tests:%ninja_test -C build} %install rm -rf $RPM_BUILD_ROOT -%meson_install -C build +%ninja_install -C build # not used externally %{__rm} $RPM_BUILD_ROOT%{_libdir}/libglapi.so -%{__rm} $RPM_BUILD_ROOT%{_libdir}/vdpau/libvdpau_gallium.so %if %{without glvnd} # remove "OS ABI: Linux 2.4.20" tag, so private copies (nvidia or fglrx), @@ -1281,6 +1525,9 @@ strip -R .note.ABI-tag $RPM_BUILD_ROOT%{_libdir}/libGL.so.*.* %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 @@ -1328,19 +1575,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 %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 @@ -1356,29 +1603,32 @@ rm -rf $RPM_BUILD_ROOT %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 %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 @@ -1386,6 +1636,7 @@ rm -rf $RPM_BUILD_ROOT %{_includedir}/GLES3 %{_pkgconfigdir}/glesv1_cm.pc %{_pkgconfigdir}/glesv2.pc +%endif %files libOSMesa %defattr(644,root,root,755) @@ -1427,12 +1678,16 @@ rm -rf $RPM_BUILD_ROOT %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 @@ -1494,11 +1749,13 @@ rm -rf $RPM_BUILD_ROOT %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) @@ -1524,6 +1781,7 @@ rm -rf $RPM_BUILD_ROOT %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 @@ -1532,6 +1790,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 @@ -1547,17 +1812,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 @@ -1567,13 +1872,33 @@ 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 + %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) @@ -1610,13 +1935,11 @@ rm -rf $RPM_BUILD_ROOT %endif # currently disabled as cannot be built with swrast -%if 0 -%ifarch %{x8664} +%if %{with swr} %files swr %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libswrAVX.so -%attr(755,root,root) %{_libdir}/libswrAVX2.so -%endif +%attr(755,root,root) %{_libdir}/libswrAVX.so* +%attr(755,root,root) %{_libdir}/libswrAVX2.so* %endif %endif @@ -1673,14 +1996,29 @@ rm -rf $RPM_BUILD_ROOT %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 %{_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