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..a391b98ed30376381fddf728fabbe958d8cd1810 100644 --- a/mesa.spec +++ b/mesa.spec @@ -25,18 +25,18 @@ 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 - -BuildRequires: gcc gcc-c++ automake autoconf libtool kernel-headers libdrm-devel libXxf86vm-devel expat-devel + +BuildRequires: meson +BuildRequires: libva libdrm +BuildRequires: gettext +BuildRequires: gcc gcc-c++ automake autoconf libtool kernel-headers libdrm-devel libXxf86vm-devel expat-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 @@ -173,6 +173,7 @@ Provides: libxatracker libxatracker%{?_isa} %package libxatracker-devel Summary: Mesa XA state tracker development package Requires: %{name}-libxatracker%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} + Provides: libxatracker-devel libxatracker-devel%{?_isa} %description libxatracker-devel @@ -234,235 +235,274 @@ 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 + +# cElementTree no longer exists in Python 3.9 +sed -i -e 's/import xml.etree.cElementTree/import xml.etree.ElementTree/g' \ + src/amd/vulkan/radv_extensions.py \ + src/freedreno/vulkan/tu_extensions.py \ + src/intel/vulkan/anv_extensions_gen.py + %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 - + +# Build with -fcommon until the omx build with gcc10 is fixed upstream +# https://gitlab.freedesktop.org/mesa/mesa/issues/2385 +%global optflags %{optflags} -fcommon + +%meson -Dcpp_std=gnu++14 \ + -Dplatforms=x11,wayland,drm,surfaceless \ + -Ddri3=true \ + -Dgallium-vdpau=%{?with_vdpau:true}%{!?with_vdpau:false} \ + -Dgallium-xvmc=false \ + -Dgallium-omx=%{?with_omx:bellagio}%{!?with_omx:disabled} \ + -Dgallium-va=%{?with_vaapi:true}%{!?with_vaapi:false} \ + -Dgallium-xa=%{?with_xa:true}%{!?with_xa:false} \ + -Dgallium-nine=%{?with_nine:true}%{!?with_nine:false} \ + -Dgallium-opencl=%{?with_opencl:icd}%{!?with_opencl:disabled} \ + -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 - -rm -f %{buildroot}%{_libdir}/vdpau/*.so -rm -f %{buildroot}%{_libdir}/libGLX_mesa.so -rm -f %{buildroot}%{_libdir}/libEGL_mesa.so -rm -f %{buildroot}%{_libdir}/libGLES* - +%meson_install + +# libvdpau opens the versioned name, don't bother including the unversioned +rm -vf %{buildroot}%{_libdir}/vdpau/*.so +# likewise glvnd +rm -vf %{buildroot}%{_libdir}/libGLX_mesa.so +rm -vf %{buildroot}%{_libdir}/libEGL_mesa.so +# XXX can we just not build this +rm -vf %{buildroot}%{_libdir}/libGLES* + +# glvnd needs a default provider for indirect rendering where it cannot +# determine the vendor 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 - + +# this keeps breaking, check it early. note that the exit from eu-ftr is odd. pushd %{buildroot}%{_libdir} for i in libOSMesa*.so libGL.so ; do eu-findtextrel $i && exit 1 done popd - -%ldconfig_scriptlets libglapi -%ldconfig_scriptlets libOSMesa -%ldconfig_scriptlets libgbm -%ldconfig_scriptlets libxatracker -%if 0%{?with_opencl} -%ldconfig_scriptlets libOpenCL -%endif - + %files filesystem -%defattr(-,root,root) -%doc docs/libGL.txt -%license docs/license.html %dir %{_libdir}/dri +%if 0%{?with_hardware} +%if 0%{?with_vdpau} %dir %{_libdir}/vdpau - +%endif +%endif + %files libGL -%defattr(-,root,root) %{_libdir}/libGLX_mesa.so.0* %{_libdir}/libGLX_system.so.0* - %files libGL-devel -%defattr(-,root,root) -%{_includedir}/GL/gl*.h +%dir %{_includedir}/GL/internal %{_includedir}/GL/internal/dri_interface.h -%{_libdir}/libglapi.so %{_libdir}/pkgconfig/dri.pc -%{_libdir}/pkgconfig/gl.pc - +%{_libdir}/libglapi.so + %files libEGL -%defattr(-,root,root) %{_datadir}/glvnd/egl_vendor.d/50_mesa.json %{_libdir}/libEGL_mesa.so.0* - %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 - +%dir %{_includedir}/EGL +%{_includedir}/EGL/eglmesaext.h +%{_includedir}/EGL/eglextchromium.h + +%ldconfig_scriptlets libglapi %files libglapi -%defattr(-,root,root) -%{_libdir}/libglapi.so.0* - +%{_libdir}/libglapi.so.0 +%{_libdir}/libglapi.so.0.* + +%ldconfig_scriptlets libOSMesa %files libOSMesa -%defattr(-,root,root) %{_libdir}/libOSMesa.so.8* - %files libOSMesa-devel -%defattr(-,root,root) +%dir %{_includedir}/GL %{_includedir}/GL/osmesa.h %{_libdir}/libOSMesa.so %{_libdir}/pkgconfig/osmesa.pc - + +%ldconfig_scriptlets libgbm %files libgbm -%defattr(-,root,root) %{_libdir}/libgbm.so.1 %{_libdir}/libgbm.so.1.* - %files libgbm-devel -%defattr(-,root,root) %{_libdir}/libgbm.so %{_includedir}/gbm.h %{_libdir}/pkgconfig/gbm.pc - + +%if 0%{?with_xa} +%ldconfig_scriptlets libxatracker %files libxatracker -%defattr(-,root,root) -%{_libdir}/libxatracker.so.2* - +%if 0%{?with_hardware} +%{_libdir}/libxatracker.so.2 +%{_libdir}/libxatracker.so.2.* +%endif + %files libxatracker-devel -%defattr(-,root,root) +%if 0%{?with_hardware} %{_libdir}/libxatracker.so -%{_includedir}/xa_*.h +%{_includedir}/xa_tracker.h +%{_includedir}/xa_composite.h +%{_includedir}/xa_context.h %{_libdir}/pkgconfig/xatracker.pc - +%endif +%endif + %if 0%{?with_opencl} +%ldconfig_scriptlets libOpenCL %files libOpenCL -%defattr(-,root,root) %{_libdir}/libMesaOpenCL.so.* %{_sysconfdir}/OpenCL/vendors/mesa.icd - %files libOpenCL-devel -%defattr(-,root,root) %{_libdir}/libMesaOpenCL.so %endif - + +%if 0%{?with_nine} %files libd3d -%defattr(-,root,root) +%dir %{_libdir}/d3d/ %{_libdir}/d3d/*.so.* - + %files libd3d-devel -%defattr(-,root,root) %{_libdir}/pkgconfig/d3d.pc %{_includedir}/d3dadapter/ %{_libdir}/d3d/*.so - +%endif + %files dri-drivers -%defattr(-,root,root) -%config(noreplace) %{_sysconfdir}/drirc +%dir %{_datadir}/drirc.d +%{_datadir}/drirc.d/00-mesa-defaults.conf +%if 0%{?with_hardware} %{_libdir}/dri/radeon_dri.so %{_libdir}/dri/r200_dri.so %{_libdir}/dri/nouveau_vieux_dri.so %{_libdir}/dri/r300_dri.so +%if 0%{?with_radeonsi} %{_libdir}/dri/r600_dri.so %{_libdir}/dri/radeonsi_dri.so -%{_libdir}/dri/nouveau_dri.so -%{_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 +%endif %ifarch %{ix86} x86_64 %{_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 +%endif +%if 0%{?with_vc4} %{_libdir}/dri/vc4_dri.so +%endif +%if 0%{?with_v3d} +%{_libdir}/dri/v3d_dri.so +%endif +%if 0%{?with_freedreno} %{_libdir}/dri/kgsl_dri.so %{_libdir}/dri/msm_dri.so +%endif +%if 0%{?with_etnaviv} %{_libdir}/dri/etnaviv_dri.so %{_libdir}/dri/imx-drm_dri.so +%endif +%if 0%{?with_tegra} %{_libdir}/dri/tegra_dri.so %endif - +%if 0%{?with_lima} +%{_libdir}/dri/lima_dri.so +%endif +%if 0%{?with_panfrost} +%{_libdir}/dri/panfrost_dri.so +%endif +%{_libdir}/dri/nouveau_dri.so +%if 0%{?with_vmware} +%{_libdir}/dri/vmwgfx_dri.so +%endif +%{_libdir}/dri/nouveau_drv_video.so +%if 0%{?with_radeonsi} +%{_libdir}/dri/r600_drv_video.so +%{_libdir}/dri/radeonsi_drv_video.so +%endif +%endif +%if 0%{?with_hardware} +%dir %{_libdir}/gallium-pipe +%{_libdir}/gallium-pipe/*.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 +%{_libdir}/dri/kms_swrast_dri.so +%{_libdir}/dri/swrast_dri.so +%{_libdir}/dri/virtio_gpu_dri.so + +%if 0%{?with_hardware} +%if 0%{?with_omx} %files omx-drivers -%defattr(-,root,root) %{_libdir}/bellagio/libomx_mesa.so - +%endif +%if 0%{?with_vdpau} %files vdpau-drivers -%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* +%{_libdir}/vdpau/libvdpau_r300.so.1* +%if 0%{?with_radeonsi} +%{_libdir}/vdpau/libvdpau_r600.so.1* +%{_libdir}/vdpau/libvdpau_radeonsi.so.1* %endif - +%endif +%endif + %files vulkan-drivers +%if 0%{?with_hardware} %ifarch %{ix86} x86_64 %{_libdir}/libvulkan_intel.so %{_datadir}/vulkan/icd.d/intel_icd.*.json %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 +%endif + %files vulkan-devel -%{_includedir}/vulkan/ - +%if 0%{?with_hardware} +%ifarch %{ix86} x86_64 +%{_includedir}/vulkan/vulkan_intel.h +%endif +%endif %changelog -* Wed Jan 15 2020 openEuler Buildteam - 18.2.2-6 -- disable opencl +* Wed Jul 29 2020 openEuler Buildteam - 20.1.4-1 +- update package * Sat Oct 19 2019 openEuler Buildteam - 18.2.2-5 - Type:bugfix