chore: Update mesa spec to match upstream

This commit is contained in:
Kyle Gospodnetich 2024-07-05 09:35:31 -07:00
parent 749b663170
commit 0d965e2d40

View File

@ -1,9 +1,13 @@
%ifnarch s390x %ifnarch s390x
%global with_hardware 1 %global with_hardware 1
%global with_radeonsi 1
%global with_vmware 1
%global with_vulkan_hw 1 %global with_vulkan_hw 1
%global with_vdpau 1 %global with_vdpau 1
%global with_va 1 %global with_va 1
%if !0%{?rhel} %if !0%{?rhel}
%global with_r300 1
%global with_r600 1
%global with_nine 1 %global with_nine 1
%global with_nvk %{with vulkan_hw} %global with_nvk %{with vulkan_hw}
%global with_omx 1 %global with_omx 1
@ -12,16 +16,23 @@
%global base_vulkan ,amd %global base_vulkan ,amd
%endif %endif
%ifnarch %{ix86}
%if !0%{?rhel}
%global with_teflon 1
%endif
%endif
%ifarch %{ix86} x86_64 %ifarch %{ix86} x86_64
%global with_crocus 1 %global with_crocus 1
%global with_i915 1 %global with_i915 1
%if !0%{?rhel}
%global with_intel_clc 1
%endif
%global with_iris 1 %global with_iris 1
%global with_xa 1 %global with_xa 1
%global with_intel_clc 1
%global intel_platform_vulkan ,intel,intel_hasvk %global intel_platform_vulkan ,intel,intel_hasvk
%endif %endif
%ifarch x86_64
%global with_intel_vk_rt 1
%endif
%ifarch aarch64 x86_64 %{ix86} %ifarch aarch64 x86_64 %{ix86}
%if !0%{?rhel} %if !0%{?rhel}
@ -38,15 +49,6 @@
%global extra_platform_vulkan ,broadcom,freedreno,panfrost,imagination-experimental %global extra_platform_vulkan ,broadcom,freedreno,panfrost,imagination-experimental
%endif %endif
%ifnarch s390x
%if !0%{?rhel}
%global with_r300 1
%global with_r600 1
%endif
%global with_radeonsi 1
%global with_vmware 1
%endif
%if !0%{?rhel} %if !0%{?rhel}
%global with_libunwind 1 %global with_libunwind 1
%global with_lmsensors 1 %global with_lmsensors 1
@ -78,27 +80,23 @@ Patch10: gnome-shell-glthread-disable.patch
Patch11: 0001-llvmpipe-Init-eglQueryDmaBufModifiersEXT-num_modifie.patch Patch11: 0001-llvmpipe-Init-eglQueryDmaBufModifiersEXT-num_modifie.patch
Patch12: 0001-Revert-ac-radeonsi-remove-has_syncobj-has_fence_to_h.patch Patch12: 0001-Revert-ac-radeonsi-remove-has_syncobj-has_fence_to_h.patch
# https://gitlab.com/evlaV/mesa/
Patch21: valve.patch
# s390x only # s390x only
Patch100: fix-egl-on-s390x.patch Patch100: fix-egl-on-s390x.patch
# https://gitlab.com/evlaV/mesa/
Patch200: valve.patch
BuildRequires: meson >= 1.3.0 BuildRequires: meson >= 1.3.0
BuildRequires: gcc BuildRequires: gcc
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: gettext BuildRequires: gettext
BuildRequires: python3-pycparser >= 2.20
BuildRequires: cbindgen >= 0.26.0
BuildRequires: libbsd-devel
BuildRequires: libxml2-devel
%if 0%{?with_hardware} %if 0%{?with_hardware}
BuildRequires: kernel-headers BuildRequires: kernel-headers
%endif %endif
# We only check for the minimum version of pkgconfig(libdrm) needed so that the # We only check for the minimum version of pkgconfig(libdrm) needed so that the
# SRPMs for each arch still have the same build dependencies. See: # SRPMs for each arch still have the same build dependencies. See:
# https://bugzilla.redhat.com/show_bug.cgi?id=1859515 # https://bugzilla.redhat.com/show_bug.cgi?id=1859515
BuildRequires: pkgconfig(libdrm) >= 2.4.97 BuildRequires: pkgconfig(libdrm) >= 2.4.119
%if 0%{?with_libunwind} %if 0%{?with_libunwind}
BuildRequires: pkgconfig(libunwind) BuildRequires: pkgconfig(libunwind)
%endif %endif
@ -146,21 +144,28 @@ BuildRequires: pkgconfig(libomxil-bellagio)
BuildRequires: pkgconfig(libelf) BuildRequires: pkgconfig(libelf)
BuildRequires: pkgconfig(libglvnd) >= 1.3.2 BuildRequires: pkgconfig(libglvnd) >= 1.3.2
BuildRequires: llvm-devel >= 7.0.0 BuildRequires: llvm-devel >= 7.0.0
%if 0%{?with_opencl} || 0%{?with_nvk} %if 0%{?with_teflon}
BuildRequires: flatbuffers-devel
BuildRequires: flatbuffers-compiler
BuildRequires: xtensor-devel
%endif
%if 0%{?with_opencl} || 0%{?with_nvk} || 0%{?with_intel_clc}
BuildRequires: clang-devel BuildRequires: clang-devel
BuildRequires: bindgen
BuildRequires: rust-packaging
BuildRequires: pkgconfig(libclc) BuildRequires: pkgconfig(libclc)
BuildRequires: pkgconfig(SPIRV-Tools) BuildRequires: pkgconfig(SPIRV-Tools)
BuildRequires: pkgconfig(LLVMSPIRVLib) BuildRequires: pkgconfig(LLVMSPIRVLib)
%endif %endif
%if 0%{?with_opencl} || 0%{?with_nvk}
BuildRequires: bindgen
BuildRequires: rust-packaging
%endif
%if 0%{?with_nvk} %if 0%{?with_nvk}
BuildRequires: (rust >= 1.78.0 with rust < 2) BuildRequires: cbindgen
BuildRequires: (crate(paste) >= 1.0.14 with crate(paste) < 2)
BuildRequires: (crate(proc-macro2) >= 1.0.56 with crate(proc-macro2) < 2) BuildRequires: (crate(proc-macro2) >= 1.0.56 with crate(proc-macro2) < 2)
BuildRequires: (crate(quote) >= 1.0.25 with crate(quote) < 2) BuildRequires: (crate(quote) >= 1.0.25 with crate(quote) < 2)
BuildRequires: (crate(syn/clone-impls) >= 2.0.15 with crate(syn/clone-impls) < 3) BuildRequires: (crate(syn/clone-impls) >= 2.0.15 with crate(syn/clone-impls) < 3)
BuildRequires: (crate(unicode-ident) >= 1.0.6 with crate(unicode-ident) < 2) BuildRequires: (crate(unicode-ident) >= 1.0.6 with crate(unicode-ident) < 2)
BuildRequires: (crate(paste) >= 1.0.14 with crate(paste) < 2)
%endif %endif
%if %{with valgrind} %if %{with valgrind}
BuildRequires: pkgconfig(valgrind) BuildRequires: pkgconfig(valgrind)
@ -170,6 +175,7 @@ BuildRequires: python3-mako
%if 0%{?with_intel_clc} %if 0%{?with_intel_clc}
BuildRequires: python3-ply BuildRequires: python3-ply
%endif %endif
BuildRequires: python3-pycparser
BuildRequires: vulkan-headers BuildRequires: vulkan-headers
BuildRequires: glslang BuildRequires: glslang
%if 0%{?with_vulkan_hw} %if 0%{?with_vulkan_hw}
@ -354,6 +360,14 @@ Requires: %{name}-libOpenCL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{rele
%{summary}. %{summary}.
%endif %endif
%if 0%{?with_teflon}
%package libTeflon
Summary: Mesa TensorFlow Lite delegate
%description libTeflon
%{summary}.
%endif
%if 0%{?with_nine} %if 0%{?with_nine}
%package libd3d %package libd3d
Summary: Mesa Direct3D9 state tracker Summary: Mesa Direct3D9 state tracker
@ -378,7 +392,11 @@ Obsoletes: mesa-vulkan-devel < %{?epoch:%{epoch}:}%{version}-%{release}
The drivers with support for the Vulkan API. The drivers with support for the Vulkan API.
%prep %prep
%autosetup -n %{name}-%{ver} -p1 %autosetup -n %{name}-%{ver} -N
%autopatch -p1 -M 99
%ifarch s390x
%autopatch -p1 -m 100
%endif
cp %{SOURCE1} docs/ cp %{SOURCE1} docs/
%build %build
@ -404,9 +422,6 @@ export MESON_PACKAGE_CACHE_DIR="%{cargo_registry}/"
%define _lto_cflags %{nil} %define _lto_cflags %{nil}
%meson \ %meson \
%ifnarch x86_64
-Dintel-rt=disabled \
%endif
-Dplatforms=x11,wayland \ -Dplatforms=x11,wayland \
-Ddri3=enabled \ -Ddri3=enabled \
-Dosmesa=true \ -Dosmesa=true \
@ -420,6 +435,7 @@ export MESON_PACKAGE_CACHE_DIR="%{cargo_registry}/"
-Dgallium-va=%{?with_va:enabled}%{!?with_va:disabled} \ -Dgallium-va=%{?with_va:enabled}%{!?with_va:disabled} \
-Dgallium-xa=%{?with_xa:enabled}%{!?with_xa:disabled} \ -Dgallium-xa=%{?with_xa:enabled}%{!?with_xa:disabled} \
-Dgallium-nine=%{?with_nine:true}%{!?with_nine:false} \ -Dgallium-nine=%{?with_nine:true}%{!?with_nine:false} \
-Dteflon=%{?with_teflon:true}%{!?with_teflon:false} \
-Dgallium-opencl=%{?with_opencl:icd}%{!?with_opencl:disabled} \ -Dgallium-opencl=%{?with_opencl:icd}%{!?with_opencl:disabled} \
%if 0%{?with_opencl} %if 0%{?with_opencl}
-Dgallium-rusticl=true \ -Dgallium-rusticl=true \
@ -433,10 +449,11 @@ export MESON_PACKAGE_CACHE_DIR="%{cargo_registry}/"
-Dgbm=enabled \ -Dgbm=enabled \
-Dglx=dri \ -Dglx=dri \
-Degl=enabled \ -Degl=enabled \
-Dglvnd=true \ -Dglvnd=enabled \
%if 0%{?with_intel_clc} %if 0%{?with_intel_clc}
-Dintel-clc=enabled \ -Dintel-clc=enabled \
%endif %endif
-Dintel-rt=%{?with_intel_vk_rt:enabled}%{!?with_intel_vk_rt:disabled} \
-Dmicrosoft-clc=disabled \ -Dmicrosoft-clc=disabled \
-Dllvm=enabled \ -Dllvm=enabled \
-Dshared-llvm=enabled \ -Dshared-llvm=enabled \
@ -451,7 +468,7 @@ export MESON_PACKAGE_CACHE_DIR="%{cargo_registry}/"
%endif %endif
-Dandroid-libbacktrace=disabled \ -Dandroid-libbacktrace=disabled \
%ifarch %{ix86} %ifarch %{ix86}
-Dglx-read-only-text=true -Dglx-read-only-text=true \
%endif %endif
%{nil} %{nil}
%meson_build %meson_build
@ -541,12 +558,18 @@ popd
%endif %endif
%endif %endif
%if 0%{?with_teflon}
%files libTeflon
%{_libdir}/libteflon.so
%endif
%if 0%{?with_opencl} %if 0%{?with_opencl}
%files libOpenCL %files libOpenCL
%{_libdir}/libMesaOpenCL.so.* %{_libdir}/libMesaOpenCL.so.*
%{_libdir}/libRusticlOpenCL.so.* %{_libdir}/libRusticlOpenCL.so.*
%{_sysconfdir}/OpenCL/vendors/mesa.icd %{_sysconfdir}/OpenCL/vendors/mesa.icd
%{_sysconfdir}/OpenCL/vendors/rusticl.icd %{_sysconfdir}/OpenCL/vendors/rusticl.icd
%files libOpenCL-devel %files libOpenCL-devel
%{_libdir}/libMesaOpenCL.so %{_libdir}/libMesaOpenCL.so
%{_libdir}/libRusticlOpenCL.so %{_libdir}/libRusticlOpenCL.so
@ -569,10 +592,6 @@ popd
%{_libdir}/dri/kms_swrast_dri.so %{_libdir}/dri/kms_swrast_dri.so
%{_libdir}/dri/swrast_dri.so %{_libdir}/dri/swrast_dri.so
%{_libdir}/dri/virtio_gpu_dri.so %{_libdir}/dri/virtio_gpu_dri.so
%{_libdir}/dri/panthor_dri.so
%{_libdir}/dri/rzg2l-du_dri.so
%{_libdir}/dri/ssd130x_dri.so
%{_libdir}/dri/zynqmp-dpsub_dri.so
%if 0%{?with_hardware} %if 0%{?with_hardware}
%if 0%{?with_r300} %if 0%{?with_r300}
@ -622,6 +641,7 @@ popd
%endif %endif
%if 0%{?with_panfrost} %if 0%{?with_panfrost}
%{_libdir}/dri/panfrost_dri.so %{_libdir}/dri/panfrost_dri.so
%{_libdir}/dri/panthor_dri.so
%endif %endif
%{_libdir}/dri/nouveau_dri.so %{_libdir}/dri/nouveau_dri.so
%if 0%{?with_vmware} %if 0%{?with_vmware}
@ -650,11 +670,14 @@ popd
%{_libdir}/dri/pl111_dri.so %{_libdir}/dri/pl111_dri.so
%{_libdir}/dri/repaper_dri.so %{_libdir}/dri/repaper_dri.so
%{_libdir}/dri/rockchip_dri.so %{_libdir}/dri/rockchip_dri.so
%{_libdir}/dri/rzg2l-du_dri.so
%{_libdir}/dri/ssd130x_dri.so
%{_libdir}/dri/st7586_dri.so %{_libdir}/dri/st7586_dri.so
%{_libdir}/dri/st7735r_dri.so %{_libdir}/dri/st7735r_dri.so
%{_libdir}/dri/sti_dri.so %{_libdir}/dri/sti_dri.so
%{_libdir}/dri/sun4i-drm_dri.so %{_libdir}/dri/sun4i-drm_dri.so
%{_libdir}/dri/udl_dri.so %{_libdir}/dri/udl_dri.so
%{_libdir}/dri/zynqmp-dpsub_dri.so
%endif %endif
%if 0%{?with_vulkan_hw} %if 0%{?with_vulkan_hw}
%{_libdir}/dri/zink_dri.so %{_libdir}/dri/zink_dri.so