diff --git a/0003-evergreen-big-endian.patch b/0001-evergreen-big-endian.patch similarity index 100% rename from 0003-evergreen-big-endian.patch rename to 0001-evergreen-big-endian.patch diff --git a/0001-llvm-SONAME-without-version.patch b/0001-llvm-SONAME-without-version.patch deleted file mode 100644 index cb910947432676b55040b0c25ef14ba5cd9e0ba6..0000000000000000000000000000000000000000 --- a/0001-llvm-SONAME-without-version.patch +++ /dev/null @@ -1,26 +0,0 @@ -From c2b4d93a5e4796ca53361c61d7e31edc24241932 Mon Sep 17 00:00:00 2001 -From: Igor Gnatenko -Date: Sun, 20 Mar 2016 13:26:25 +0100 -Subject: [PATCH 1/4] llvm SONAME without version - -Signed-off-by: Igor Gnatenko ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 5f75c60..d77f907 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2645,7 +2645,7 @@ - dnl ourselves. - dnl (See https://llvm.org/bugs/show_bug.cgi?id=6823) - dnl We can't use $LLVM_VERSION because it has 'svn' stripped out, -- LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version` -+ LLVM_SO_NAME=LLVM - AS_IF([test -f "$LLVM_LIBDIR/lib$LLVM_SO_NAME.$IMP_LIB_EXT"], [llvm_have_one_so=yes]) - - if test "x$llvm_have_one_so" = xyes; then --- -2.7.4 - diff --git a/0004-bigendian-assert.patch b/0004-bigendian-assert.patch deleted file mode 100644 index 8de9975da87f172ec2a261dedd1bec4eb617c249..0000000000000000000000000000000000000000 --- a/0004-bigendian-assert.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 6ccae713acc457d7df6ab15e124a7d77c5093213 Mon Sep 17 00:00:00 2001 -From: Igor Gnatenko -Date: Sun, 20 Mar 2016 13:28:07 +0100 -Subject: [PATCH 4/4] bigendian assert - -Signed-off-by: Igor Gnatenko ---- - src/gallium/auxiliary/util/u_math.h | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/gallium/auxiliary/util/u_math.h b/src/gallium/auxiliary/util/u_math.h -index ecb1d63..90ada14 100644 ---- a/src/gallium/auxiliary/util/u_math.h -+++ b/src/gallium/auxiliary/util/u_math.h -@@ -59,6 +59,9 @@ - extern "C" { - #endif - -+#ifdef PIPE_ARCH_BIG_ENDIAN -+#include -+#endif - - #ifndef M_SQRT2 - #define M_SQRT2 1.41421356237309504880 --- -2.7.4 - diff --git a/Makefile b/Makefile deleted file mode 100644 index d6550fe559a16b96cbe99cacb0620bb08cbee298..0000000000000000000000000000000000000000 --- a/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -VERSION ?= 18.2.2 -SANITIZE ?= 1 - -DIRNAME = mesa-${VERSION} - -all: archive - -clean: - rm -rf $(DIRNAME)/ - rm -f mesa-${VERSION}.tar.xz - -clone: clean - curl -O https://mesa.freedesktop.org/archive/mesa-${VERSION}.tar.xz - tar xf mesa-${VERSION}.tar.xz - -sanitize: clone vl_mpeg12_decoder.c vl_decoder.c -ifdef SANITIZE - cat < vl_mpeg12_decoder.c > $(DIRNAME)/src/gallium/auxiliary/vl/vl_mpeg12_decoder.c - cat < vl_decoder.c > $(DIRNAME)/src/gallium/auxiliary/vl/vl_decoder.c -endif - -archive: clone sanitize - tar caf ${DIRNAME}.tar.xz ${DIRNAME} diff --git a/mesa-18.2.2.tar.xz b/mesa-20.1.4.tar.xz similarity index 55% rename from mesa-18.2.2.tar.xz rename to mesa-20.1.4.tar.xz index b1385f3e662c2a8571a1116b57cbfa3e39ecc1ec..9411697c53b896e0c68ee790f1f566ff6e2e45aa 100644 Binary files a/mesa-18.2.2.tar.xz and b/mesa-20.1.4.tar.xz differ diff --git a/mesa.spec b/mesa.spec index cc7fc6414524769107b7bfcc4ca345dbf2a0dc29..d902de2ca81cce0f1976cb2db0a359741c5c4d65 100644 --- a/mesa.spec +++ b/mesa.spec @@ -1,47 +1,54 @@ %undefine _annotated_build -%define base_drivers swrast,nouveau,radeon,r200 +%define base_drivers nouveau,r100,r200 %ifarch %{ix86} x86_64 %define platform_drivers ,i915,i965 %define with_vmware 1 -%define vulkan_drivers --with-vulkan-drivers=intel,radeon +%define with_iris 1 +%define vulkan_drivers intel,amd %else -%define vulkan_drivers --with-vulkan-drivers=radeon +%define vulkan_drivers amd %endif %ifarch %{arm} aarch64 %define with_etnaviv 1 %define with_freedreno 1 %define with_tegra 1 +%define with_panfrost 1 +%define with_lima 1 +%define with_kmsro 1 +%define with_v3d 1 %define with_vc4 1 +%define with_asm 1 %endif -%define dri_drivers --with-dri-drivers=%{?base_drivers}%{?platform_drivers} +%ifnarch %{arm} +%global with_radeonsi 1 +%endif + +%bcond_without valgrind -%global sanitize 0 +%define dri_drivers %{?base_drivers}%{?platform_drivers} %define with_opencl 0 Name: mesa Summary: Mesa graphics libraries -Version: 18.2.2 -Release: 6 +Version: 20.1.4 +Release: 1 License: MIT URL: https://www.mesa3d.org Source0: https://mesa.freedesktop.org/archive/%{name}-%{version}.tar.xz -Source3: Makefile -Patch1: 0001-llvm-SONAME-without-version.patch -Patch3: 0003-evergreen-big-endian.patch -Patch4: 0004-bigendian-assert.patch +Patch0: 0001-evergreen-big-endian.patch -BuildRequires: gcc gcc-c++ automake autoconf libtool kernel-headers libdrm-devel libXxf86vm-devel expat-devel +BuildRequires: meson gcc gcc-c++ gettext kernel-headers libdrm-devel libXxf86vm-devel expat-devel libX11-devel BuildRequires: xorg-x11-proto-devel imake libselinux-devel libXrandr-devel libXext-devel libXfixes-devel libXdamage-devel -BuildRequires: libXi-devel libXmu-devel libxshmfence-devel elfutils python3 python2 gettext llvm-devel clang-devel -BuildRequires: elfutils-libelf-devel python3-libxml2 python2-libxml2 libudev-devel bison flex -BuildRequires: wayland-devel wayland-protocols-devel libvdpau-devel libva-devel zlib-devel -BuildRequires: libomxil-bellagio-devel libclc-devel vulkan-devel python3-mako python2-mako +BuildRequires: libXi-devel libXmu-devel libxshmfence-devel elfutils python3 llvm-devel clang-devel +BuildRequires: elfutils-libelf-devel python3-libxml2 libudev-devel bison flex python3-devel +BuildRequires: wayland-devel wayland-protocols-devel libvdpau-devel libva-devel zlib-devel +BuildRequires: libomxil-bellagio-devel libclc-devel vulkan-devel python3-mako %if 0%{?with_opencl} BuildRequires: opencl-filesystem %endif @@ -89,29 +96,12 @@ Requires: libglvnd-egl%{?_isa} %package libEGL-devel Summary: Mesa libEGL development package Requires: %{name}-libEGL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} -Requires: libglvnd-devel%{?_isa} +Requires: libglvnd-devel%{?_isa} %{name}-khr-devel Provides: libEGL-devel libEGL-devel%{?_isa} %description libEGL-devel %{summary}. -%package libGLES -Summary: Mesa libGLES runtime libraries -Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} -Requires: libglvnd-gles%{?_isa} - -%description libGLES -%{summary}. - -%package libGLES-devel -Summary: Mesa libGLES development package -Requires: %{name}-libGLES%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} -Requires: libglvnd-devel%{?_isa} -Provides: libGLES-devel libGLES-devel%{?_isa} - -%description libGLES-devel -%{summary}. - %package dri-drivers Summary: Mesa-based DRI drivers Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} @@ -235,46 +225,44 @@ Headers for development with the Vulkan API. %prep %autosetup -n %{name}-%{version} -p1 +# Make sure the build uses gnu++14 as llvm 10 headers require that +sed -i -e 's/cpp_std=gnu++11/cpp_std=gnu++14/g' meson.build %build -autoreconf -ivf - -%ifarch %{ix86} -%global asm_flags --disable-asm -%endif - -%configure \ - %{?asm_flags} \ - --enable-libglvnd \ - --enable-selinux \ - --enable-gallium-osmesa \ - --with-dri-driverdir=%{_libdir}/dri \ - --enable-egl \ - --disable-gles1 \ - --enable-gles2 \ - --disable-xvmc \ - --enable-vdpau \ - --enable-va \ - --with-platforms=x11,drm,surfaceless,wayland \ - --enable-shared-glapi \ - --enable-gbm \ - --enable-omx-bellagio \ - --enable-opencl --enable-opencl-icd \ - --enable-glx-tls \ - --enable-texture-float=yes \ - %{?vulkan_drivers} \ - --enable-llvm \ - --enable-llvm-shared-libs \ - --enable-dri \ - --enable-xa \ - --enable-nine \ - --with-gallium-drivers=%{?with_vmware:svga,}radeonsi,r600,swrast,%{?with_freedreno:freedreno,}%{?with_etnaviv:etnaviv,imx,}%{?with_tegra:tegra,}%{?with_vc4:vc4,}virgl,r300,nouveau \ - %{?dri_drivers} - -%make_build MKDEP=/bin/true V=1 +%meson -Dcpp_std=gnu++14 \ + -Dplatforms=x11,wayland,drm,surfaceless \ + -Ddri3=true \ + -Ddri-drivers=%{?dri_drivers} \ + -Dgallium-drivers=swrast,virgl,r300,nouveau%{?with_iris:,iris}%{?with_vmware:,svga}%{?with_radeonsi:,radeonsi,r600}%{?with_freedreno:,freedreno}%{?with_etnaviv:,etnaviv}%{?with_tegra:,tegra}%{?with_vc4:,vc4}%{?with_v3d:,v3d}%{?with_kmsro:,kmsro}%{?with_lima:,lima}%{?with_panfrost:,panfrost} \ + -Dgallium-vdpau=true \ + -Dgallium-xvmc=false \ + -Dgallium-omx=bellagio \ + -Dgallium-va=true \ + -Dgallium-xa=true \ + -Dgallium-nine=true \ + -Dgallium-opencl=disabled \ + -Dvulkan-drivers=%{?vulkan_drivers} \ + -Dshared-glapi=true \ + -Dgles1=false \ + -Dgles2=true \ + -Dopengl=true \ + -Dgbm=true \ + -Dglx=dri \ + -Degl=true \ + -Dglvnd=true \ + -Dasm=%{?with_asm:true}%{!?with_asm:false} \ + -Dllvm=true \ + -Dshared-llvm=true \ + -Dvalgrind=%{?with_valgrind:true}%{!?with_valgrind:false} \ + -Dbuild-tests=false \ + -Dselinux=true \ + -Dosmesa=gallium \ + -Dvulkan-device-select-layer=true \ + %{nil} +%meson_build %install -%make_install +%meson_install rm -f %{buildroot}%{_libdir}/vdpau/*.so rm -f %{buildroot}%{_libdir}/libGLX_mesa.so @@ -283,18 +271,6 @@ rm -f %{buildroot}%{_libdir}/libGLES* ln -s %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_system.so.0 -rm -f %{buildroot}%{_includedir}/GL/w*.h - -mkdir -p %{buildroot}/%{_includedir}/vulkan/ -rm -f %{buildroot}/%{_includedir}/vulkan/vk_platform.h -rm -f %{buildroot}/%{_includedir}/vulkan/vulkan.h - -%if ! 0%{?with_opencl} -rm -f %{buildroot}%{_libdir}/libMesaOpenCL.so.* -rm -f %{buildroot}%{_sysconfdir}/OpenCL/vendors/mesa.icd -rm -f %{buildroot}%{_libdir}/libMesaOpenCL.so -%endif - %delete_la pushd %{buildroot}%{_libdir} @@ -325,11 +301,10 @@ popd %files libGL-devel %defattr(-,root,root) -%{_includedir}/GL/gl*.h %{_includedir}/GL/internal/dri_interface.h %{_libdir}/libglapi.so %{_libdir}/pkgconfig/dri.pc -%{_libdir}/pkgconfig/gl.pc + %files libEGL %defattr(-,root,root) @@ -339,16 +314,6 @@ popd %files libEGL-devel %defattr(-,root,root) %{_includedir}/EGL/egl*.h -%{_includedir}/KHR/khrplatform.h -%{_libdir}/pkgconfig/egl.pc - -%files libGLES -%defattr(-,root,root) - -%files libGLES-devel -%defattr(-,root,root) -%{_includedir}/GLES*/gl*.h -%{_libdir}/pkgconfig/glesv2.pc %files libglapi %defattr(-,root,root) @@ -408,7 +373,8 @@ popd %files dri-drivers %defattr(-,root,root) -%config(noreplace) %{_sysconfdir}/drirc +%dir %{_datadir}/drirc.d +%{_datadir}/drirc.d/00-mesa-defaults.conf %{_libdir}/dri/radeon_dri.so %{_libdir}/dri/r200_dri.so %{_libdir}/dri/nouveau_vieux_dri.so @@ -419,7 +385,6 @@ popd %{_libdir}/dri/nouveau_drv_video.so %{_libdir}/dri/r600_drv_video.so %{_libdir}/dri/radeonsi_drv_video.so -%{_libdir}/gallium-pipe/*.so %{_libdir}/dri/kms_swrast_dri.so %{_libdir}/dri/swrast_dri.so %{_libdir}/dri/virtio_gpu_dri.so @@ -427,14 +392,37 @@ popd %{_libdir}/dri/i915_dri.so %{_libdir}/dri/i965_dri.so %{_libdir}/dri/vmwgfx_dri.so +%{_libdir}/dri/iris_dri.so %endif %ifarch %{arm} aarch64 +%{_libdir}/dri/ingenic-drm_dri.so +%{_libdir}/dri/mcde_dri.so +%{_libdir}/dri/mxsfb-drm_dri.so +%{_libdir}/dri/stm_dri.so %{_libdir}/dri/vc4_dri.so %{_libdir}/dri/kgsl_dri.so %{_libdir}/dri/msm_dri.so %{_libdir}/dri/etnaviv_dri.so %{_libdir}/dri/imx-drm_dri.so +%{_libdir}/dri/v3d_dri.so %{_libdir}/dri/tegra_dri.so +%{_libdir}/dri/lima_dri.so +%{_libdir}/dri/panfrost_dri.so +%endif +%if 0%{?with_kmsro} +%{_libdir}/dri/armada-drm_dri.so +%{_libdir}/dri/exynos_dri.so +%{_libdir}/dri/hx8357d_dri.so +%{_libdir}/dri/ili9225_dri.so +%{_libdir}/dri/ili9341_dri.so +%{_libdir}/dri/meson_dri.so +%{_libdir}/dri/mi0283qt_dri.so +%{_libdir}/dri/pl111_dri.so +%{_libdir}/dri/repaper_dri.so +%{_libdir}/dri/rockchip_dri.so +%{_libdir}/dri/st7586_dri.so +%{_libdir}/dri/st7735r_dri.so +%{_libdir}/dri/sun4i-drm_dri.so %endif %files omx-drivers @@ -445,9 +433,6 @@ popd %defattr(-,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so.1* %{_libdir}/vdpau/libvdpau_r*.so.1* -%if 0%{?with_tegra} -%{_libdir}/vdpau/libvdpau_tegra.so.1* -%endif %files vulkan-drivers %ifarch %{ix86} x86_64 @@ -456,11 +441,18 @@ popd %endif %{_libdir}/libvulkan_radeon.so %{_datadir}/vulkan/icd.d/radeon_icd.*.json +%{_libdir}/libVkLayer_MESA_device_select.so +%{_datadir}/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json %files vulkan-devel +%ifarch %{ix86} x86_64 %{_includedir}/vulkan/ +%endif %changelog +* Mon Aug 03 2020 orange-snn - 20.1.4-1 +- update to 20.1.4 + * Wed Jan 15 2020 openEuler Buildteam - 18.2.2-6 - disable opencl