X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=Mesa.spec;h=b77e5013f0a1c43cde7e269d98c9751c37ecc661;hb=93f3c4ea03ac4188993e67e913f2082a2d425294;hp=a76f956b22f26fe5d56d84f3f3034cd833e27502;hpb=d7a5024a2184aa95129e94ab7797d919e8bb7fc2;p=packages%2FMesa.git diff --git a/Mesa.spec b/Mesa.spec index a76f956..b77e501 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -1,48 +1,40 @@ # -# TODO: -# - check if gallium_i915 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) -# # Conditional build: %bcond_without gallium # gallium drivers -%bcond_with gallium_i915 # gallium i915 Intel driver (instead of plain dri; doesn't work with AIGLX) %bcond_without gallium_nouveau # gallium nouveau driver %bcond_without gallium_radeon # gallium radeon drivers %bcond_without egl # EGL libraries -%bcond_with openvg # OpenVG library [not builind 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_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 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 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 -# minimal supported xserver version -%define xserver_ver 1.5.0 # other packages -%define libdrm_ver 2.4.63 -%define dri2proto_ver 2.6 -%define dri3proto_ver 1.0 +%define libdrm_ver 2.4.95 +%define dri2proto_ver 2.8 %define glproto_ver 1.4.14 -%define presentproto_ver 1.0 +%define zlib_ver 1.2.8 +%define wayland_ver 1.11 +%define llvm_ver 6.0.0 +%define gcc_ver 6:4.8.0 %if %{without gallium} -%undefine with_gallium_i915 %undefine with_gallium_nouveau %undefine with_gallium_radeon %undefine with_nine -%undefine with_ocl_icd %undefine with_omx %undefine with_opencl %undefine with_xa @@ -53,79 +45,74 @@ %undefine with_wayland %endif +%if %{without opencl} +%undefine with_ocl_icd +%endif + Summary: Free OpenGL implementation Summary(pl.UTF-8): Wolnodostępna implementacja standardu OpenGL Name: Mesa -# NOTE: version 11.3.0 is being prepared on the MESA_11_3 branch -Version: 11.2.1 +Version: 18.3.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: f97d8e2f4b9a346f35c9585b2f3bf8bb -Patch0: missing-type.patch +#Source0: ftp://ftp.freedesktop.org/pub/mesa/mesa-%{version}.tar.xz +## Source0-md5: 7c61a801311fb8d2f7b3cceb7b5cf308 +Source0: https://gitlab.freedesktop.org/mesa/mesa/-/archive/mesa-%{version}/mesa-mesa-%{version}.tar.bz2 +# Source0-md5: 05271d9dbac776b851debb2e5b501559 +Patch0: nouveau_no_rtti.patch URL: http://www.mesa3d.org/ -BuildRequires: autoconf >= 2.60 -BuildRequires: automake -%{?with_opencl:BuildRequires: clang-devel >= 3.1} +BuildRequires: meson >= 0.45 +BuildRequires: ninja +%{?with_opencl:BuildRequires: clang-devel >= %{llvm_ver}} BuildRequires: elfutils-devel -BuildRequires: expat-devel -BuildRequires: gcc >= 6:4.2.0 -%{?with_opencl:BuildRequires: gcc-c++ >= 6:4.7} +BuildRequires: expat-devel >= 1.95 +BuildRequires: gcc >= %{gcc_ver} 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: 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 -BuildRequires: libxcb-devel >= 1.10 -%{?with_gallium_radeon:BuildRequires: llvm-devel >= 3.4.2} +BuildRequires: libxcb-devel >= 1.13 +%{?with_gallium:BuildRequires: llvm-devel >= %{llvm_ver}} +%{?with_radv:BuildRequires: llvm-devel >= %{llvm_ver}} %{?with_opencl:BuildRequires: llvm-libclc} -# for SHA1 (could use also libmd/libsha1/libgcrypt/openssl instead) -BuildRequires: nettle-devel -%{?with_ocl_icd:BuildRequires: ocl-icd-devel} %{?with_omx:BuildRequires: libomxil-bellagio-devel} -BuildRequires: perl-base -BuildRequires: pixman-devel BuildRequires: pkgconfig BuildRequires: pkgconfig(talloc) >= 2.0.1 -BuildRequires: pkgconfig(xcb-dri3) -BuildRequires: pkgconfig(xcb-present) -BuildRequires: python >= 2 -BuildRequires: python-Mako >= 0.3.4 -BuildRequires: python-modules >= 2 +BuildRequires: pkgconfig(xcb-dri2) >= 1.8 +BuildRequires: pkgconfig(xcb-dri3) >= 1.13 +BuildRequires: pkgconfig(xcb-glx) >= 1.8.1 +BuildRequires: pkgconfig(xcb-present) >= 1.13 +BuildRequires: pkgconfig(xcb-randr) >= 1.12 +BuildRequires: python3 +BuildRequires: python3-Mako >= 0.8.0 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 >= %{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-libXext-devel >= 1.0.5 BuildRequires: xorg-lib-libXfixes-devel -BuildRequires: xorg-lib-libXt-devel BuildRequires: xorg-lib-libXvMC-devel >= 1.0.6 BuildRequires: xorg-lib-libXxf86vm-devel BuildRequires: xorg-lib-libxshmfence-devel >= 1.1 BuildRequires: xorg-proto-dri2proto-devel >= %{dri2proto_ver} -BuildRequires: xorg-proto-dri3proto-devel >= %{dri3proto_ver} BuildRequires: xorg-proto-glproto-devel >= %{glproto_ver} -BuildRequires: xorg-proto-presentproto-devel >= %{presentproto_ver} -BuildRequires: xorg-util-makedepend %if %{with gallium} -BuildRequires: xorg-proto-xextproto-devel >= 7.0.99.1 -BuildRequires: xorg-xserver-server-devel >= %{xserver_ver} +%{?with_lm_sensors:BuildRequires: lm_sensors-devel >= 4.0} %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.* - -# llvm build broken -%define filterout_ld -Wl,--as-needed +%define skip_post_check_so libGLESv1_CM.so.1.* libGLESv2.so.2.* libGL.so.1.* libOSMesa.so.* libGLX_mesa.so.0.* %description Mesa is a 3-D graphics library with an API which is very similar to @@ -151,11 +138,8 @@ Requires: %{name}-libglapi = %{version}-%{release} # glx driver in libEGL dlopens libGL.so Requires: OpenGL >= 1.2 Requires: libdrm >= %{libdrm_ver} -Requires: libxcb >= 1.9 -%{?with_wayland:Requires: wayland >= 1.2.0} -%if %{with gallium} -Requires: udev-libs >= 1:151 -%endif +Requires: libxcb >= 1.13 +%{?with_wayland:Requires: wayland >= 1.11.0} %if %{with gbm} Requires: %{name}-libgbm = %{version}-%{release} %endif @@ -181,7 +165,7 @@ 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 +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 @@ -216,7 +200,9 @@ License: MIT Group: X11/Libraries Requires: %{name}-libglapi = %{version}-%{release} Requires: libdrm >= %{libdrm_ver} -Provides: OpenGL = 4.1 +Requires: libxcb >= 1.13 +Requires: xorg-lib-libXdamage >= 1.1 +Provides: OpenGL = 4.5 Provides: OpenGL-GLX = 1.4 Obsoletes: Mesa Obsoletes: Mesa-dri @@ -232,7 +218,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 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 @@ -242,7 +228,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 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 @@ -254,14 +240,14 @@ Group: X11/Development/Libraries 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 = 4.1 +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 @@ -280,7 +266,7 @@ 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.1 +Provides: OpenGL-static = 4.5 Obsoletes: Mesa-static Obsoletes: X11-OpenGL-static < 1:7.0.0 Obsoletes: XFree86-OpenGL-static < 1:7.0.0 @@ -300,7 +286,7 @@ Requires: %{name}-libglapi = %{version}-%{release} Provides: OpenGLES Provides: OpenGLESv1 = 1.1 Provides: OpenGLESv2 = 2.0 -Provides: OpenGLESv3 = 3.1 +Provides: OpenGLESv3 = 3.2 %description libGLES This package contains shared libraries of Mesa implementation of GLES @@ -328,7 +314,7 @@ Requires: %{name}-libGLES = %{version}-%{release} Provides: OpenGLES-devel Provides: OpenGLESv1-devel = 1.1 Provides: OpenGLESv2-devel = 2.0 -Provides: OpenGLESv3-devel = 3.1 +Provides: OpenGLESv3-devel = 3.2 %description libGLES-devel Header files for Mesa GLES libraries. @@ -341,6 +327,7 @@ Summary: OSMesa (off-screen renderer) library 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. @@ -387,7 +374,7 @@ Group: Libraries 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 @@ -419,7 +406,6 @@ License: MIT Group: Libraries Requires: libdrm >= %{libdrm_ver} Requires: llvm-libclc -Requires: udev-libs >= 1:151 Provides: OpenCL = 1.1 %description libOpenCL @@ -451,43 +437,6 @@ Header files for Mesa OpenCL library. %description libOpenCL-devel -l pl.UTF-8 Pliki nagłówkowe biblioteki Mesa OpenCL. -%package libOpenVG -Summary: Mesa implementation of OpenVG (Vector Graphics Accelleration) API -Summary(pl.UTF-8): Implementacja Mesa API OpenVG (akceleracji grafiki wektorowej) -License: MIT -Group: Libraries -Provides: OpenVG = 1.1 - -%description libOpenVG -This package contains Mesa implementation of OpenVG - cross-platform -API that provides a low-level hardware acceleration interface for -vector graphics libraries such as Flash and SVG. OpenVG specification -can be found on Khronos Group site: . -Mesa implements OpenVG 1.1. - -%description libOpenVG -l pl.UTF-8 -Ten pakiet zawiera implementację Mesa standardu OpenVG - -wieloplatfomowego API zapewniającego niskopoziomowy interfejs -akceleracji sprzętowej dla bibliotek grafiki wektorowej, takiej jak -Flash czy SVG. Specyfikację OpenVG można znaleźć na stronie Khronos -Group: . Mesa zawiera implementację -OpenVG w wersji 1.1. - -%package libOpenVG-devel -Summary: Header file for Mesa OpenVG library -Summary(pl.UTF-8): Plik nagłówkowy biblioteki Mesa OpenVG -License: MIT -Group: Development/Libraries -Requires: %{name}-khrplatform-devel = %{version}-%{release} -Requires: %{name}-libOpenVG = %{version}-%{release} -Provides: OpenVG-devel = 1.1 - -%description libOpenVG-devel -Header file for Mesa OpenVG library. - -%description libOpenVG-devel -l pl.UTF-8 -Plik nagłówkowy biblioteki Mesa OpenVG. - %package libXvMC-nouveau Summary: Mesa implementation of XvMC API for NVidia adapters Summary(pl.UTF-8): Implementacja Mesa API XvMC dla kart NVidia @@ -495,6 +444,7 @@ License: MIT Group: Libraries Requires: libdrm >= %{libdrm_ver} Requires: xorg-lib-libXvMC >= 1.0.6 +Requires: zlib >= %{zlib_ver} Conflicts: Mesa-libXvMC %description libXvMC-nouveau @@ -510,6 +460,7 @@ License: MIT Group: Libraries Requires: libdrm >= %{libdrm_ver} Requires: xorg-lib-libXvMC >= 1.0.6 +Requires: zlib >= %{zlib_ver} Conflicts: Mesa-libXvMC %description libXvMC-r600 @@ -522,22 +473,67 @@ R600/R700. %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 @@ -551,7 +547,6 @@ Summary: Header file for Mesa Graphics Buffer Manager library 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. @@ -573,36 +568,12 @@ Mesa GL API shared library, common for various APIs (EGL, GL, GLES). Biblioteka współdzielona Mesa GL API, wspólna dla różnych API (EGL, GL, GLES). -%package libwayland-egl -Summary: Wayland EGL library -Summary(pl.UTF-8): Biblioteka Wayland EGL -Group: Libraries -Requires: libdrm >= %{libdrm_ver} - -%description libwayland-egl -Wayland EGL platform library. - -%description libwayland-egl -l pl.UTF-8 -Biblioteka platformy EGL Wayland. - -%package libwayland-egl-devel -Summary: Development files for Wayland EGL library -Summary(pl.UTF-8): Pliki programistyczne biblioteki Wayland EGL -Group: Development/Libraries -Requires: %{name}-libwayland-egl = %{version}-%{release} -Requires: libdrm-devel >= %{libdrm_ver} - -%description libwayland-egl-devel -Development files for Wayland EGL platform library. - -%description libwayland-egl-devel -l pl.UTF-8 -Pliki programistyczne biblioteki platformy EGL Wayland. - %package libxatracker Summary: Xorg Gallium3D accelleration library 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). @@ -644,13 +615,16 @@ Group: X11/Libraries 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 @@ -660,13 +634,16 @@ Group: X11/Libraries 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 @@ -676,13 +653,22 @@ Group: X11/Libraries 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 @@ -693,12 +679,21 @@ Requires: radeon-ucode 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 @@ -709,12 +704,35 @@ Requires: radeon-ucode 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 @@ -724,6 +742,7 @@ 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. @@ -736,55 +755,42 @@ 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). - -%package dri-driver-intel-ilo -Summary: X.org DRI driver for Intel chips family -Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny układów firmy Intel -License: MIT -Group: X11/Libraries -Requires: xorg-driver-video-intel -Requires: xorg-xserver-libglx(glapi) = %{glapi_ver} -Requires: xorg-xserver-server >= %{xserver_ver} - -%description dri-driver-intel-ilo -X.org DRI driver for Intel chips family. It supports Cherryview/ -Broadwell/Bay Trail/Haswell/Ivybridge/Sandybridge chips. - -%description dri-driver-intel-ilo -l pl.UTF-8 -Sterownik X.org DRI dla rodziny układów firmy Intel. Obsługuje układy -Cherryview/Broadwell/Bay Trail/Haswell/Ivybdidge/Sandybridge. +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 @@ -794,6 +800,7 @@ Group: X11/Libraries 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. @@ -808,6 +815,7 @@ 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-swrast X.org DRI software rasterizer driver. @@ -823,6 +831,7 @@ 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. @@ -837,6 +846,7 @@ 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. @@ -852,6 +862,7 @@ Group: X11/Libraries 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. @@ -859,40 +870,11 @@ 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 -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-i965 -Summary: i965 (ilo) driver for Mesa Gallium dynamic pipe loader -Summary(pl.UTF-8): Sterownik i965 (ilo) dla dynamicznego systemu potoków szkieletu Mesa Gallium -Group: Libraries - -%description pipe-driver-i965 -i965 (ilo) driver for Mesa Gallium dynamic pipe loader. It supports -Intel Cherryview/Broadwell/Bay Trail/Haswell/Ivybridge/Sandybridge -chips. - -%description pipe-driver-i965 -l pl.UTF-8 -Sterownik i965 (ilo) dla dynamicznego systemu potoków szkieletu Mesa -Gallium. Obsługuje układy Intela Cherryview/Broadwell/Bay Trail/ -Haswell/Ivybdidge/Sandybridge. - %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 @@ -906,6 +888,7 @@ Mesa Gallium. Obsługuje układy Adreno. 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 @@ -921,6 +904,7 @@ Gallium. Obsługuje karty graficzne firmy NVidia. 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 @@ -937,6 +921,7 @@ R300/R400/RS690/R500. 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 @@ -954,6 +939,7 @@ R600/R700. 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 @@ -971,6 +957,7 @@ 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 +Requires: zlib >= %{zlib_ver} Obsoletes: Mesa-gbm-driver-swrast Obsoletes: Mesa-opencl-driver-swrast @@ -985,6 +972,7 @@ szkieletu Mesa Gallium. 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 @@ -996,11 +984,29 @@ virtual video adapter. 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). @@ -1027,6 +1033,7 @@ License: MIT Group: X11/Libraries Requires: libdrm >= %{libdrm_ver} Requires: libvdpau >= 1.1 +Requires: zlib >= %{zlib_ver} Conflicts: libvdpau-driver-mesa %description -n libvdpau-driver-mesa-nouveau @@ -1044,6 +1051,7 @@ License: MIT Group: X11/Libraries Requires: libdrm >= %{libdrm_ver} Requires: libvdpau >= 1.1 +Requires: zlib >= %{zlib_ver} Conflicts: libvdpau-driver-mesa %description -n libvdpau-driver-mesa-r300 @@ -1061,6 +1069,7 @@ License: MIT Group: X11/Libraries Requires: libdrm >= %{libdrm_ver} Requires: libvdpau >= 1.1 +Requires: zlib >= %{zlib_ver} Conflicts: libvdpau-driver-mesa %description -n libvdpau-driver-mesa-r600 @@ -1078,6 +1087,7 @@ License: MIT Group: X11/Libraries Requires: libdrm >= %{libdrm_ver} Requires: libvdpau >= 1.1 +Requires: zlib >= %{zlib_ver} Conflicts: libvdpau-driver-mesa Obsoletes: Mesa-libllvmradeon @@ -1095,8 +1105,9 @@ Summary(pl.UTF-8): Sterownik Mesa nouveau dla API Bellagio OpenMAX IL License: MIT Group: X11/Libraries Requires: libdrm >= %{libdrm_ver} -Requires: libxcb >= 1.8 +Requires: libxcb >= 1.13 Requires: libomxil-bellagio +Requires: zlib >= %{zlib_ver} Obsoletes: omxil-mesa-nouveau Obsoletes: omxil-mesa-r600 Obsoletes: omxil-mesa-radeonsi @@ -1107,169 +1118,160 @@ Mesa driver for Bellagio OpenMAX IL API. %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 - -%description -n omxil-mesa-nouveau -Mesa nouveau driver for Bellagio OpenMAX IL API. It supports NVidia -adapters (NV40-NV96, NVa0). - -%description -n omxil-mesa-nouveau -l pl.UTF-8 -Sterownik Mesa nouveau dla API Bellagio OpenMAX IL. Obsługuje karty -NVidia (NV40-NV96, NVa0). - -%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 +Requires: libxcb >= 1.13 +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 +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 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 +Group: Libraries Requires: libdrm >= %{libdrm_ver} -Requires: libxcb >= 1.8 -Requires: libomxil-bellagio +Requires: libxcb >= 1.13 +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 -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} +%setup -q -n mesa-mesa-%{version} + %patch0 -p1 %build -%{__libtoolize} -%{__aclocal} -I m4 -%{__autoconf} -%{__automake} - -dri_drivers="r200 radeon \ -%if %{without gallium_i915} -i915 \ + +%if %{with opencl} +if [ "$(llvm-config --has-rtti)" != "YES" ] ; then + echo "Clover (gallium OpenCL) requires LLVM with RTTI!" + exit 1 +fi %endif -i965 \ -nouveau \ -%ifarch sparc sparcv9 sparc64 -ffb \ + +dri_drivers="nouveau r100 r200 \ +%if %{without gallium} +swrast +%endif +%ifarch %{ix86} %{x8664} x32 +i965 i915 \ %endif -swrast" +" dri_drivers=$(echo $dri_drivers | xargs | tr ' ' ',') -gallium_drivers="svga swrast \ -%if %{with gallium_i915} -i915 \ -%endif +gallium_drivers="svga virgl \ +swrast %if %{with gallium_radeon} -r300 \ -r600 \ -radeonsi \ +r300 r600 radeonsi \ %endif %if %{with gallium_nouveau} nouveau %endif -ilo \ -virgl \ -%ifarch arm +%ifarch %{arm} +etnaviv \ freedreno \ +imx \ vc4 \ %endif " gallium_drivers=$(echo $gallium_drivers | xargs | tr ' ' ',') -%configure \ - --disable-silent-rules \ - %{__enable gbm} \ - --enable-glx-tls \ - --enable-osmesa \ - --enable-selinux \ - --enable-shared \ - --enable-shared-glapi \ - %{?with_static_libs:--enable-static} \ - %{?with_texture_float:--enable-texture-float} \ -%if %{with egl} - --enable-egl \ - --enable-gles1 \ - --enable-gles2 \ - --with-egl-platforms=x11%{?with_gbm:,drm}%{?with_wayland:,wayland} \ +vulkan_drivers="%{?with_radv:amd} \ +%ifarch %{ix86} %{x8664} x32 +intel \ +%endif +" + +vulkan_drivers=$(echo $vulkan_drivers | xargs | tr ' ' ',') + +%meson build \ + -Dplatforms=x11,drm,%{?with_wayland:,wayland},surfaceless \ + -Ddri3=true \ + -Ddri-drivers=${dri_drivers} \ + -Ddri-drivers-path=%{_libdir}/xorg/modules/dri \ + -Dgallium-drivers=${gallium_drivers} \ + %{?with_hud_extra:-Dgallium-extra-hud=true} \ + -Dgallium-vdpau=true \ + -Dgallium-xvmc=true \ + -Dgallium-omx=%{?with_omx:bellagio}%{?!with_omx:disabled} \ + -Dgallium-va=%{?with_va:true}%{?!with_va:false} \ + -Dva-libs-path=%{_libdir}/libva/dri \ + -Dgallium-xa=%{?with_xa:true}%{?!with_xa:false} \ + -Dgallium-nine=%{?with_nine:true}%{?!with_nine:false} \ +%if %{with opencl} +%if %{with ocl_icd} + -Dgallium-opencl=icd \ +%else + -Dgallium-opencl=standalone \ %endif -%if %{with gallium} - --enable-gallium-llvm \ - --enable-llvm-shared-libs \ - %{__enable egl gallium-egl} \ - %{__enable gbm gallium-gbm} \ - %{__enable ocl_icd opencl-icd} \ - %{?with_nine:--enable-nine} \ - %{__enable opencl} \ - --enable-vdpau \ - %{?with_omx:--enable-omx} \ - %{?with_xa:--enable-xa} \ - --enable-xvmc \ - --with-gallium-drivers=${gallium_drivers} \ %else - --without-gallium-drivers \ + -Dgallium-opencl=disabled \ %endif - --with-dri-drivers=${dri_drivers} \ - --with-dri-driverdir=%{_libdir}/xorg/modules/dri \ - --with-sha1=libnettle \ - --with-va-libdir=%{_libdir}/libva/dri + -Dvulkan-drivers=${vulkan_drivers} \ + -Dvulkan-icd-dir=/usr/share/vulkan/icd.d \ + -Dgbm=%{?with_gbm:true}%{?!with_gbm:false} \ + -Degl=%{?with_egl:true}%{?!with_egl:false} \ + -Dglvnd=%{?with_glvnd:true}%{?!with_glvnd:false} \ + -Dlibunwind=true \ + -Dlmsensors=%{?with_lm_sensors:true}%{?!with_lm_sensors:false} \ + -Dselinux=true \ + -Dosmesa=%{?with_gallium:gallium}%{?!with_gallium:classic} -%{__make} +%meson_build -C build -%{?with_tests:%{__make} check} +%{?with_tests:%meson_test -C build} %install rm -rf $RPM_BUILD_ROOT -%{__make} install \ - DESTDIR=$RPM_BUILD_ROOT +%meson_install -C build -# strip out undesirable headers -%{__rm} $RPM_BUILD_ROOT%{_includedir}/GL/wglext.h -# dlopened by soname -%{?with_gallium:%{__rm} $RPM_BUILD_ROOT%{_libdir}/libXvMC*.so} -%{?with_gallium:%{__rm} $RPM_BUILD_ROOT%{_libdir}/libXvMC*.so.1.0} -# dlopened by soname or .so link -%{?with_gallium:%{__rm} $RPM_BUILD_ROOT%{_libdir}/vdpau/libvdpau_*.so.1.0} # not used externally %{__rm} $RPM_BUILD_ROOT%{_libdir}/libglapi.so -# dlopened -%{?with_omx:%{__rm} $RPM_BUILD_ROOT%{_libdir}/bellagio/libomx_*.la} -%{?with_nine:%{__rm} $RPM_BUILD_ROOT%{_libdir}/d3d/d3dadapter9.la} -%{?with_gallium:%{__rm} $RPM_BUILD_ROOT%{_libdir}/gallium-pipe/pipe_*.la} -# not defined by standards; and not needed, there is pkg-config support -%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la -%{?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 @@ -1289,9 +1291,6 @@ rm -rf $RPM_BUILD_ROOT %post libOpenCL -p /sbin/ldconfig %postun libOpenCL -p /sbin/ldconfig -%post libOpenVG -p /sbin/ldconfig -%postun libOpenVG -p /sbin/ldconfig - %post libXvMC-nouveau -p /sbin/ldconfig %postun libXvMC-nouveau -p /sbin/ldconfig %post libXvMC-r600 -p /sbin/ldconfig @@ -1303,21 +1302,28 @@ rm -rf $RPM_BUILD_ROOT %post libglapi -p /sbin/ldconfig %postun libglapi -p /sbin/ldconfig -%post libwayland-egl -p /sbin/ldconfig -%postun libwayland-egl -p /sbin/ldconfig - %post libxatracker -p /sbin/ldconfig %postun libxatracker -p /sbin/ldconfig %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 @@ -1325,23 +1331,23 @@ rm -rf $RPM_BUILD_ROOT %{_includedir}/EGL/eglmesaext.h %{_includedir}/EGL/eglplatform.h %{_pkgconfigdir}/egl.pc - -%if %{with static_libs} -%files libEGL-static -%defattr(644,root,root,755) -%{_libdir}/libEGL.a -%endif %endif %files libGL %defattr(644,root,root,755) -%doc docs/{*.html,README.UVD,patents.txt,relnotes/*.html} +%doc docs/{*.html,README.UVD,features.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 -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/drirc +%endif +%{_datadir}/drirc.d %files libGL-devel %defattr(644,root,root,755) @@ -1359,12 +1365,6 @@ rm -rf $RPM_BUILD_ROOT %{_pkgconfigdir}/dri.pc %{_pkgconfigdir}/gl.pc -%if %{with static_libs} -%files libGL-static -%defattr(644,root,root,755) -%{_libdir}/libGL.a -%endif - %files libGLES %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libGLESv1_CM.so.*.*.* @@ -1393,12 +1393,6 @@ rm -rf $RPM_BUILD_ROOT %{_includedir}/GL/osmesa.h %{_pkgconfigdir}/osmesa.pc -%if %{with static_libs} -%files libOSMesa-static -%defattr(644,root,root,755) -%{_libdir}/libOSMesa.a -%endif - %if %{with opencl} %if %{with ocl_icd} %files OpenCL-icd @@ -1424,38 +1418,38 @@ rm -rf $RPM_BUILD_ROOT %endif %endif -%if %{with egl} && %{with openvg} && %{with gallium} -%files libOpenVG -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libOpenVG.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libOpenVG.so.1 - -%files libOpenVG-devel -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libOpenVG.so -%{_includedir}/VG -%{_pkgconfigdir}/vg.pc -%endif - %if %{with gallium} %if %{with gallium_nouveau} %files libXvMC-nouveau %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libXvMCnouveau.so.1.0.0 -%attr(755,root,root) %ghost %{_libdir}/libXvMCnouveau.so.1 +%attr(755,root,root) %{_libdir}/libXvMCnouveau.so %endif %if %{with gallium_radeon} %files libXvMC-r600 %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libXvMCr600.so.1.0.0 -%attr(755,root,root) %ghost %{_libdir}/libXvMCr600.so.1 +%attr(755,root,root) %{_libdir}/libXvMCr600.so %endif %if %{with va} %files -n libva-driver-gallium %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libva/dri/gallium_drv_video.so + +%if %{with gallium_radeon} +%files -n libva-driver-r600 +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libva/dri/r600_drv_video.so + +%files -n libva-driver-radeonsi +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libva/dri/radeonsi_drv_video.so +%endif + +%if %{with gallium_nouveau} +%files -n libva-driver-nouveau +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libva/dri/nouveau_drv_video.so +%endif %endif %endif @@ -1479,18 +1473,6 @@ rm -rf $RPM_BUILD_ROOT # libglapi-devel? nothing seems to need it atm. #%attr(755,root,root) %{_libdir}/libglapi.so -%if %{with wayland} -%files libwayland-egl -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libwayland-egl.so.*.* -%attr(755,root,root) %ghost %{_libdir}/libwayland-egl.so.1 - -%files libwayland-egl-devel -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libwayland-egl.so -%{_pkgconfigdir}/wayland-egl.pc -%endif - %if %{with xa} %files libxatracker %defattr(644,root,root,755) @@ -1535,10 +1517,6 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/xorg/modules/dri/radeonsi_dri.so %endif - -%files dri-driver-intel-ilo -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/xorg/modules/dri/ilo_dri.so %endif %files dri-driver-intel-i915 @@ -1564,7 +1542,17 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/xorg/modules/dri/swrast_dri.so %if %{with gallium} -%ifarch arm +%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 @@ -1580,17 +1568,8 @@ rm -rf $RPM_BUILD_ROOT %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 - -%files pipe-driver-i965 -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_i965.so - -%ifarch arm +%if %{with opencl} +%ifarch %{arm} %files pipe-driver-msm %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/gallium-pipe/pipe_msm.so @@ -1625,6 +1604,17 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/gallium-pipe/pipe_vmwgfx.so %endif +# currently disabled as cannot be built with swrast +%if 0 +%ifarch %{x8664} +%files swr +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libswrAVX.so +%attr(755,root,root) %{_libdir}/libswrAVX2.so +%endif +%endif +%endif + %if %{with nine} %files d3d %defattr(644,root,root,755) @@ -1643,6 +1633,7 @@ rm -rf $RPM_BUILD_ROOT %files -n libvdpau-driver-mesa-nouveau %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so.1.0.0 +%attr(755,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so.1.0 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so.1 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so %endif @@ -1651,18 +1642,21 @@ rm -rf $RPM_BUILD_ROOT %files -n libvdpau-driver-mesa-r300 %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r300.so.1.0.0 +%attr(755,root,root) %{_libdir}/vdpau/libvdpau_r300.so.1.0 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r300.so.1 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r300.so %files -n libvdpau-driver-mesa-r600 %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r600.so.1.0.0 +%attr(755,root,root) %{_libdir}/vdpau/libvdpau_r600.so.1.0 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r600.so.1 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r600.so %files -n libvdpau-driver-mesa-radeonsi %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so.1.0.0 +%attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so.1.0 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so.1 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so %endif @@ -1673,3 +1667,19 @@ rm -rf $RPM_BUILD_ROOT %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