X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=Mesa.spec;h=cdbf7a2e8bf13ffbfe9e47adaefae80622adb100;hb=52cc455e78451819af319ce5f39b2f6076c14fd4;hp=f85fe1824c6799147f295ac181fc553d99fd3da5;hpb=381c1e6b74cc33775bdc5c7e7aa882beea9040b4;p=packages%2FMesa.git diff --git a/Mesa.spec b/Mesa.spec index f85fe18..cdbf7a2 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -5,32 +5,36 @@ %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.99 +%define libdrm_ver 2.4.100 %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 llvm_ver 8.0.0 %define gcc_ver 6:4.8.0 %if %{without gallium} @@ -40,6 +44,7 @@ %undefine with_nine %undefine with_omx %undefine with_opencl +%undefine with_swr %undefine with_xa %endif @@ -52,26 +57,32 @@ %undefine with_ocl_icd %endif +%ifnarch %{ix86} %{x8664} x32 +%undefine with_swr +%endif + Summary: Free OpenGL implementation Summary(pl.UTF-8): Wolnodostępna implementacja standardu OpenGL Name: Mesa -Version: 19.2.6 -Release: 2 +Version: 20.0.4 +Release: 1 License: MIT (core) and others - see license.html file Group: X11/Libraries #Source0: ftp://ftp.freedesktop.org/pub/mesa/mesa-%{version}.tar.xz ## Source0-md5: 7c61a801311fb8d2f7b3cceb7b5cf308 Source0: https://gitlab.freedesktop.org/mesa/mesa/-/archive/mesa-%{version}/mesa-mesa-%{version}.tar.bz2 -# Source0-md5: 9af9176f11b9019d754b03b60f85209f +# Source0-md5: 4468786b0e8faeed8f417f5e1414eab4 Patch0: nouveau_no_rtti.patch Patch1: i9x5-tex-ignore-the-diff-between-GL_TEXTURE_2D-and-GL_TEXTURE_RECTANGLE.patch URL: http://www.mesa3d.org/ +%{?with_opencl_spirv:BuildRequires: SPIRV-LLVM-Translator-devel >= 0.2.1} +%{?with_gallium_zink:BuildRequires: Vulkan-Loader-devel} %{?with_opencl:BuildRequires: clang-devel >= %{llvm_ver}} BuildRequires: elfutils-devel BuildRequires: expat-devel >= 1.95 BuildRequires: gcc >= %{gcc_ver} BuildRequires: libdrm-devel >= %{libdrm_ver} -%{?with_glvnd:BuildRequires: libglvnd-devel >= 0.2.0} +%{?with_glvnd:BuildRequires: libglvnd-devel >= 1.2.0} BuildRequires: libselinux-devel BuildRequires: libstdc++-devel >= %{gcc_ver} BuildRequires: libunwind-devel @@ -83,7 +94,7 @@ BuildRequires: libxcb-devel >= 1.13 %{?with_radv:BuildRequires: llvm-devel >= %{llvm_ver}} %{?with_opencl:BuildRequires: llvm-libclc} %{?with_omx:BuildRequires: libomxil-bellagio-devel} -BuildRequires: meson >= 0.46 +BuildRequires: meson >= 0.51 BuildRequires: ninja >= 1.5 BuildRequires: pkgconfig BuildRequires: pkgconfig(talloc) >= 2.0.1 @@ -96,6 +107,7 @@ BuildRequires: python3 >= 1:3.2 BuildRequires: python3-Mako >= 0.8.0 BuildRequires: rpmbuild(macros) >= 1.470 BuildRequires: sed >= 4.0 +%{?with_opencl_spirv:BuildRequires: spirv-tools-devel >= 2018.0} # wayland-{client,server} %{?with_wayland:BuildRequires: wayland-devel >= %{wayland_ver}} %{?with_wayland:BuildRequires: wayland-protocols >= 1.8} @@ -114,6 +126,7 @@ BuildRequires: xorg-proto-glproto-devel >= %{glproto_ver} %{?with_lm_sensors:BuildRequires: lm_sensors-devel} %endif BuildRequires: zlib-devel >= %{zlib_ver} +BuildRequires: zstd-devel BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) # libGLESv1_CM, libGLESv2, libGL, libOSMesa: @@ -177,7 +190,9 @@ Requires: xorg-lib-libXfixes-devel Requires: xorg-lib-libXxf86vm-devel Requires: xorg-proto-dri2proto-devel >= %{dri2proto_ver} Requires: xorg-proto-glproto-devel >= %{glproto_ver} +%if %{without glvnd} Provides: EGL-devel = 1.5 +%endif %description libEGL-devel Header files for Mesa implementation of EGL library. @@ -208,7 +223,7 @@ Requires: %{name}-libglapi = %{version}-%{release} Requires: libdrm >= %{libdrm_ver} Requires: libxcb >= 1.13 Requires: xorg-lib-libXdamage >= 1.1 -Provides: OpenGL = 4.5 +Provides: OpenGL = 4.6 Provides: OpenGL-GLX = 1.4 Obsoletes: Mesa Obsoletes: Mesa-dri @@ -224,7 +239,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 @@ -234,7 +249,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 @@ -252,8 +267,10 @@ Requires: xorg-lib-libXxf86vm-devel Requires: xorg-proto-dri2proto-devel >= %{dri2proto_ver} Requires: xorg-proto-glproto-devel >= %{glproto_ver} Suggests: OpenGL-doc-man +%if %{without glvnd} Provides: OpenGL-GLX-devel = 1.4 Provides: OpenGL-devel = 4.6 +%endif Obsoletes: Mesa-devel Obsoletes: X11-OpenGL-devel < 1:7.0.0 Obsoletes: X11-OpenGL-devel-base < 1:7.0.0 @@ -272,7 +289,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.5 +Provides: OpenGL-static = 4.6 Obsoletes: Mesa-static Obsoletes: X11-OpenGL-static < 1:7.0.0 Obsoletes: XFree86-OpenGL-static < 1:7.0.0 @@ -299,7 +316,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 @@ -307,7 +324,7 @@ 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 @@ -317,10 +334,12 @@ Requires: %{name}-khrplatform-devel = %{version}-%{release} # for Requires: %{name}-libEGL-devel = %{version}-%{release} Requires: %{name}-libGLES = %{version}-%{release} +%if %{without glvnd} Provides: OpenGLES-devel Provides: OpenGLESv1-devel = 1.1 Provides: OpenGLESv2-devel = 2.0 Provides: OpenGLESv3-devel = 3.2 +%endif %description libGLES-devel Header files for Mesa GLES libraries. @@ -333,6 +352,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 @@ -656,6 +676,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} @@ -681,6 +702,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} @@ -706,6 +728,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} @@ -729,6 +752,7 @@ 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} @@ -745,6 +769,7 @@ 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} @@ -761,6 +786,9 @@ 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} @@ -807,6 +835,7 @@ 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} @@ -826,6 +855,7 @@ 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} @@ -843,6 +873,7 @@ 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} @@ -859,6 +890,9 @@ 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} @@ -875,6 +909,7 @@ 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} @@ -891,6 +926,7 @@ 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} @@ -906,6 +942,7 @@ 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} @@ -922,6 +959,7 @@ 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} @@ -938,6 +976,7 @@ 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} @@ -954,31 +993,48 @@ 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 @@ -1083,6 +1139,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 +%{?with_swr:Requires: cpuinfo(avx)} Requires: zlib >= %{zlib_ver} Obsoletes: Mesa-gbm-driver-swrast Obsoletes: Mesa-opencl-driver-swrast @@ -1323,9 +1380,9 @@ i965 %{!?with_gallium_i915:i915} \ dri_drivers=$(echo $dri_drivers | xargs | tr ' ' ',') -gallium_drivers="virgl swrast \ +gallium_drivers="virgl swrast %{?with_gallium_zink:zink} \ %ifarch %{ix86} %{x8664} x32 -svga iris swr %{?with_gallium_i915:i915} \ +svga iris %{?with_swr:swr} %{?with_gallium_i915:i915} \ %endif %if %{with gallium_radeon} r300 r600 radeonsi \ @@ -1382,6 +1439,7 @@ vulkan_drivers=$(echo $vulkan_drivers | xargs | tr ' ' ',') -Dglvnd=%{?with_glvnd:true}%{!?with_glvnd:false} \ -Dlibunwind=true \ -Dlmsensors=%{?with_lm_sensors:true}%{!?with_lm_sensors:false} \ + %{?with_opencl_spirv:-Dopencl-spirv=true} \ -Dosmesa=%{?with_gallium:gallium}%{!?with_gallium:classic} \ -Dselinux=true \ -Dva-libs-path=%{_libdir}/libva/dri \ @@ -1456,15 +1514,15 @@ 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) @@ -1485,26 +1543,31 @@ rm -rf $RPM_BUILD_ROOT %files libGL-devel %defattr(644,root,root,755) %doc docs/specs/* +%if %{without glvnd} %dir %{_includedir}/GL %{_includedir}/GL/gl.h %{_includedir}/GL/glcorearb.h %{_includedir}/GL/glext.h %{_includedir}/GL/glx.h %{_includedir}/GL/glxext.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 @@ -1512,6 +1575,7 @@ rm -rf $RPM_BUILD_ROOT %{_includedir}/GLES3 %{_pkgconfigdir}/glesv1_cm.pc %{_pkgconfigdir}/glesv2.pc +%endif %files libOSMesa %defattr(644,root,root,755) @@ -1620,11 +1684,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) @@ -1735,6 +1801,12 @@ rm -rf $RPM_BUILD_ROOT %files dri-driver-vmwgfx %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/xorg/modules/dri/vmwgfx_dri.so + +%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} @@ -1781,7 +1853,7 @@ rm -rf $RPM_BUILD_ROOT %endif # currently disabled as cannot be built with swrast -%ifarch %{ix86} %{x8664} x32 +%if %{with swr} %files swr %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libswrAVX.so*