]> git.pld-linux.org Git - packages/Mesa.git/blobdiff - Mesa.spec
tegra requires nouveau
[packages/Mesa.git] / Mesa.spec
index 5963b40f2d45de31b35984dd9d35acc80c6fdbe8..83e9af2a1bc3d7389004269192403192629e440a 100644 (file)
--- a/Mesa.spec
+++ b/Mesa.spec
@@ -1,15 +1,16 @@
 # TODO: libtizonia >= 0.10.0 as an alternative for bellagio?
-# opencl-spirv? BR: spirv-tools-devel >= 2018.0, pkgconfig(LLVMSPIRVLib) >= 0.2.1
 #
 # 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
 Summary:       Free OpenGL implementation
 Summary(pl.UTF-8):     Wolnodostępna implementacja standardu OpenGL
 Name:          Mesa
-Version:       19.3.3
+Version:       20.0.5
 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: 56141f1a25ce387139ca9235b47a8b62
+# Source0-md5: 8cead0e352499fbda32f1e6261e9f000
 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
@@ -104,6 +108,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}
@@ -122,6 +127,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:
@@ -185,7 +191,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.
@@ -260,8 +268,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
@@ -307,7 +317,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
@@ -315,7 +325,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
@@ -325,10 +335,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.
@@ -1010,6 +1022,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
@@ -1334,6 +1361,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}
@@ -1354,7 +1382,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
@@ -1370,7 +1398,7 @@ freedreno \
 kmsro \
 lima \
 panfrost \
-tegra \
+%{?with_gallium_nouveau:tegra} \
 v3d \
 vc4 \
 %endif
@@ -1413,6 +1441,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 \
@@ -1487,15 +1516,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)
@@ -1516,26 +1545,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
@@ -1543,6 +1577,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}/GLES3
 %{_pkgconfigdir}/glesv1_cm.pc
 %{_pkgconfigdir}/glesv2.pc
+%endif
 
 %files libOSMesa
 %defattr(644,root,root,755)
@@ -1651,11 +1686,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)
@@ -1746,9 +1783,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)
@@ -1766,6 +1805,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}
This page took 0.050801 seconds and 4 git commands to generate.