]> git.pld-linux.org Git - packages/Mesa.git/blobdiff - Mesa.spec
up to 20.0.7
[packages/Mesa.git] / Mesa.spec
index 21d25846ac4581731f7c322fa1fa0fa1047f6b56..2abb1425a07e19784b9405e1070fa413f7fceafe 100644 (file)
--- a/Mesa.spec
+++ b/Mesa.spec
@@ -5,10 +5,12 @@
 %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
 %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.3.1
+Version:       20.0.7
 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: 2a0aacce2847e171c2d662f0e456617f
+# Source0-md5: 1939a279f9683a4ca6573872ed77a070
 Patch0:                nouveau_no_rtti.patch
 Patch1:                i9x5-tex-ignore-the-diff-between-GL_TEXTURE_2D-and-GL_TEXTURE_RECTANGLE.patch
+Patch2:                llvm10.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
 %{?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}}
@@ -103,6 +113,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}
@@ -112,7 +123,7 @@ BuildRequires:      xorg-lib-libXext-devel >= 1.0.5
 BuildRequires: xorg-lib-libXfixes-devel
 BuildRequires: xorg-lib-libXrandr-devel >= 1.3
 BuildRequires: xorg-lib-libXv-devel
-BuildRequires: xorg-lib-libXvMC-devel >= 1.0.6
+%{?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}
@@ -121,6 +132,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:
@@ -184,7 +196,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.
@@ -215,7 +229,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
@@ -231,7 +245,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
@@ -241,7 +255,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
@@ -259,8 +273,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
@@ -279,7 +295,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
@@ -306,7 +322,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: <http://www.khronos.org/opengles/>. Mesa implements OpenGL
-ES 1.1 and 2.0.
+ES 1.1 and 2.0/3.2.
 
 %description libGLES -l pl.UTF-8
 Ten pakiet zawiera biblioteki współdzielone implementacji Mesa
@@ -314,7 +330,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:
 <http://www.khronos.org/opengles/>. Mesa zawiera implementacją OpenGL
-ES 1.1 i 2.0.
+ES 1.1 i 2.0/3.2.
 
 %package libGLES-devel
 Summary:       Header files for Mesa GLES libraries
@@ -324,10 +340,12 @@ Requires: %{name}-khrplatform-devel = %{version}-%{release}
 # <EGL/egl.h> for <GLES/egl.h>
 Requires:      %{name}-libEGL-devel = %{version}-%{release}
 Requires:      %{name}-libGLES = %{version}-%{release}
+%if %{without glvnd}
 Provides:      OpenGLES-devel
 Provides:      OpenGLESv1-devel = 1.1
 Provides:      OpenGLESv2-devel = 2.0
 Provides:      OpenGLESv3-devel = 3.2
+%endif
 
 %description libGLES-devel
 Header files for Mesa GLES libraries.
@@ -1009,6 +1027,21 @@ X.org Gallium DRI driver for VMWare.
 %description dri-driver-vmwgfx -l pl.UTF-8
 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
@@ -1333,6 +1366,7 @@ radv - eksperymentalny sterownik Vulkan dla GPU firmy AMD.
 %setup -q -n mesa-mesa-%{version}
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 %build
 %if %{with opencl}
@@ -1353,7 +1387,7 @@ 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 %{?with_swr:swr} %{?with_gallium_i915:i915} \
 %endif
@@ -1369,7 +1403,7 @@ freedreno \
 kmsro \
 lima \
 panfrost \
-tegra \
+%{?with_gallium_nouveau:tegra} \
 v3d \
 vc4 \
 %endif
@@ -1405,13 +1439,14 @@ vulkan_drivers=$(echo $vulkan_drivers | xargs | tr ' ' ',')
        -Dgallium-opencl=disabled \
 %endif
        -Dgallium-va=%{?with_va:true}%{!?with_va:false} \
-       -Dgallium-vdpau=true \
-       -Dgallium-xvmc=true \
+       %{?with_vdpau:-Dgallium-vdpau=true} \
+       %{?with_xvmc:-Dgallium-xvmc=true} \
        -Dgallium-xa=%{?with_xa:true}%{!?with_xa:false} \
        -Dgbm=%{?with_gbm:true}%{!?with_gbm:false} \
        -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 \
@@ -1486,15 +1521,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)
@@ -1515,26 +1550,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
@@ -1542,6 +1582,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}/GLES3
 %{_pkgconfigdir}/glesv1_cm.pc
 %{_pkgconfigdir}/glesv2.pc
+%endif
 
 %files libOSMesa
 %defattr(644,root,root,755)
@@ -1650,11 +1691,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)
@@ -1680,6 +1723,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
@@ -1693,6 +1737,7 @@ rm -rf $RPM_BUILD_ROOT
 %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)
@@ -1709,11 +1754,10 @@ 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)
@@ -1728,13 +1772,17 @@ rm -rf $RPM_BUILD_ROOT
 %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-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/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
@@ -1745,9 +1793,11 @@ rm -rf $RPM_BUILD_ROOT
 %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)
@@ -1762,11 +1812,19 @@ 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
@@ -1872,6 +1930,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/bellagio/libomx_mesa.so
 %endif
 
+%ifarch %{ix86} %{x8664} x32
 %files vulkan-icd-intel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libvulkan_intel.so
@@ -1880,6 +1939,7 @@ rm -rf $RPM_BUILD_ROOT
 %files vulkan-icd-intel-devel
 %defattr(644,root,root,755)
 %{_includedir}/vulkan/vulkan_intel.h
+%endif
 
 %if %{with radv}
 %files vulkan-icd-radeon
This page took 0.043687 seconds and 4 git commands to generate.