@ -19,11 +19,12 @@
%global with_r300 1
%global with_r300 1
%global with_r600 1
%global with_r600 1
%global with_nine 1
%global with_nine 1
%global with_nvk %{with vulkan_hw}
%if 0%{?with_vulkan_hw}
%global with_omx 1
%global with_nvk %{with_vulkan_hw}
%endif
%global with_opencl 1
%global with_opencl 1
%endif
%endif
%global base_vulkan ,amd
%global base_vulkan %{?with_vulkan_hw: ,amd}%{!?with_vulkan_hw:%{nil}}
%endif
%endif
%ifnarch %{ix86}
%ifnarch %{ix86}
@ -35,14 +36,15 @@
%ifarch %{ix86} x86_64
%ifarch %{ix86} x86_64
%global with_iris 1
%global with_iris 1
%global with_crocus 1
%global with_crocus 1
%global with_vmware 1
%global with_xa 1
%global with_xa 1
%global with_intel_clc 1
%global with_intel_clc 1
%global intel_platform_vulkan ,intel,intel_hasvk
%global intel_platform_vulkan %{?with_vulkan_hw: ,intel,intel_hasvk}%{!?with_vulkan_hw:%{nil}}
%endif
%endif
%ifarch x86_64
%ifarch x86_64
%if !0%{?with_vulkan_hw}
%global with_intel_vk_rt 1
%global with_intel_vk_rt 1
%endif
%endif
%endif
%ifarch aarch64 x86_64 %{ix86}
%ifarch aarch64 x86_64 %{ix86}
%if !0%{?rhel}
%if !0%{?rhel}
@ -56,7 +58,7 @@
%global with_kmsro 1
%global with_kmsro 1
%global with_panfrost 1
%global with_panfrost 1
%global with_xa 1
%global with_xa 1
%global extra_platform_vulkan ,broadcom,freedreno,panfrost,imagination-experimental
%global extra_platform_vulkan %{?with_vulkan_hw: ,broadcom,freedreno,panfrost,imagination-experimental}%{!?with_vulkan_hw:%{nil}}
%endif
%endif
%if !0%{?rhel}
%if !0%{?rhel}
@ -74,7 +76,7 @@
Name: mesa
Name: mesa
Summary: Mesa graphics libraries
Summary: Mesa graphics libraries
%global ver 24.1. 2
%global ver 24.2.8
Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)}
Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)}
Release: %autorelease
Release: %autorelease
License: MIT AND BSD-3-Clause AND SGI-B-2.0
License: MIT AND BSD-3-Clause AND SGI-B-2.0
@ -86,9 +88,9 @@ Source0: https://archive.mesa3d.org/mesa-%{ver}.tar.xz
# Fedora opts to ignore the optional part of clause 2 and treat that code as 2 clause BSD.
# Fedora opts to ignore the optional part of clause 2 and treat that code as 2 clause BSD.
Source1: Mesa-MLAA-License-Clarification-Email.txt
Source1: Mesa-MLAA-License-Clarification-Email.txt
# libclc is not available in RHEL 9 but it is required for Intel drivers since
# libclc is not available in RHEL but it is required for Intel drivers since
# mesa >= 24.1.0
# mesa >= 24.1.0
%global libclc_version 18.1.2
%global libclc_version 19.1.1
Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{libclc_version}/libclc-%{libclc_version}.src.tar.xz
Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{libclc_version}/libclc-%{libclc_version}.src.tar.xz
BuildRequires: libedit-devel
BuildRequires: libedit-devel
BuildRequires: clang-devel >= %{libclc_version}
BuildRequires: clang-devel >= %{libclc_version}
@ -96,8 +98,8 @@ BuildRequires: clang-devel >= %{libclc_version}
# BuildRequires: spirv-llvm-translator-tools
# BuildRequires: spirv-llvm-translator-tools
# spirv-llvm-translator is a dependency of libclc
# spirv-llvm-translator is a dependency of libclc
%global spirv_llvm_trans_ver 18.1.0
%global spirv_llvm_trans_ver 19.1.1
%global spirv_llvm_trans_commit 259f72c06ce9dff3867f842aaeb1e414c97066a5
%global spirv_llvm_trans_commit 90a976491d3847657396456e0e94d7dc48d35996
%global spirv_llvm_trans_shortcommit %(c=%{spirv_llvm_trans_commit}; echo ${c:0:7})
%global spirv_llvm_trans_shortcommit %(c=%{spirv_llvm_trans_commit}; echo ${c:0:7})
Source4: https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/%{spirv_llvm_trans_commit}/spirv-llvm-translator-%{spirv_llvm_trans_shortcommit}.tar.gz
Source4: https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/%{spirv_llvm_trans_commit}/spirv-llvm-translator-%{spirv_llvm_trans_shortcommit}.tar.gz
BuildRequires: cmake
BuildRequires: cmake
@ -108,13 +110,7 @@ BuildRequires: spirv-tools-devel
BuildRequires: zlib-devel
BuildRequires: zlib-devel
Patch10: gnome-shell-glthread-disable.patch
Patch10: gnome-shell-glthread-disable.patch
Patch11: 0001-llvmpipe-Init-eglQueryDmaBufModifiersEXT-num_modifie.patch
Patch12: 0001-Revert-ac-radeonsi-remove-has_syncobj-has_fence_to_h.patch
# s390x only
Patch100: fix-egl-on-s390x.patch
# Build our own version but keep the dependency for the RPM macros
BuildRequires: meson
BuildRequires: meson
BuildRequires: gcc
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: gcc-c++
@ -125,7 +121,7 @@ BuildRequires: kernel-headers
# 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.119
BuildRequires: pkgconfig(libdrm) >= 2.4.12 1
%if 0%{?with_libunwind}
%if 0%{?with_libunwind}
BuildRequires: pkgconfig(libunwind)
BuildRequires: pkgconfig(libunwind)
%endif
%endif
@ -167,9 +163,6 @@ BuildRequires: pkgconfig(vdpau) >= 1.1
%if 0%{?with_va}
%if 0%{?with_va}
BuildRequires: pkgconfig(libva) >= 0.38.0
BuildRequires: pkgconfig(libva) >= 0.38.0
%endif
%endif
%if 0%{?with_omx}
BuildRequires: pkgconfig(libomxil-bellagio)
%endif
BuildRequires: pkgconfig(libelf)
BuildRequires: pkgconfig(libelf)
BuildRequires: pkgconfig(libglvnd) >= 1.3.2
BuildRequires: pkgconfig(libglvnd) >= 1.3.2
BuildRequires: llvm-devel >= %{libclc_version}
BuildRequires: llvm-devel >= %{libclc_version}
@ -206,6 +199,7 @@ BuildRequires: python3-mako
BuildRequires: python3-ply
BuildRequires: python3-ply
%endif
%endif
BuildRequires: python3-pycparser
BuildRequires: python3-pycparser
BuildRequires: python3-pyyaml
BuildRequires: vulkan-headers
BuildRequires: vulkan-headers
BuildRequires: glslang
BuildRequires: glslang
%if 0%{?with_vulkan_hw}
%if 0%{?with_vulkan_hw}
@ -218,6 +212,7 @@ BuildRequires: pkgconfig(vulkan)
%package filesystem
%package filesystem
Summary: Mesa driver filesystem
Summary: Mesa driver filesystem
Provides: mesa-dri-filesystem = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: mesa-dri-filesystem = %{?epoch:%{epoch}:}%{version}-%{release}
Obsoletes: mesa-omx-drivers < %{?epoch:%{epoch}:}%{version}-%{release}
%description filesystem
%description filesystem
%{summary}.
%{summary}.
@ -274,15 +269,6 @@ Recommends: %{name}-va-drivers%{?_isa}
%description dri-drivers
%description dri-drivers
%{summary}.
%{summary}.
%if 0%{?with_omx}
%package omx-drivers
Summary: Mesa-based OMX drivers
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%description omx-drivers
%{summary}.
%endif
%if 0%{?with_va}
%if 0%{?with_va}
%package va-drivers
%package va-drivers
Summary: Mesa-based VA-API video acceleration drivers
Summary: Mesa-based VA-API video acceleration drivers
@ -416,17 +402,14 @@ Requires: %{name}-libd3d%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release
%package vulkan-drivers
%package vulkan-drivers
Summary: Mesa Vulkan drivers
Summary: Mesa Vulkan drivers
Requires: vulkan%{_isa}
Requires: vulkan%{_isa}
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Obsoletes: mesa-vulkan-devel < %{?epoch:%{epoch}:}%{version}-%{release}
Obsoletes: mesa-vulkan-devel < %{?epoch:%{epoch}:}%{version}-%{release}
%description vulkan-drivers
%description vulkan-drivers
The drivers with support for the Vulkan API.
The drivers with support for the Vulkan API.
%prep
%prep
%autosetup -n %{name}-%{ver} -N
%autosetup -n %{name}-%{ver} -p1
%autopatch -p1 -M 99
%ifarch s390x
%autopatch -p1 -m 100
%endif
cp %{SOURCE1} docs/
cp %{SOURCE1} docs/
# Extract libclc
# Extract libclc
@ -499,12 +482,11 @@ export MESON_PACKAGE_CACHE_DIR="%{cargo_registry}/"
-Ddri3=enabled \
-Ddri3=enabled \
-Dosmesa=true \
-Dosmesa=true \
%if 0%{?with_hardware}
%if 0%{?with_hardware}
-Dgallium-drivers=swrast,virgl,nouveau%{?with_r300:,r300}%{?with_crocus:,crocus}%{?with_iris:,iris}%{?with_vmware:,svga}%{?with_radeonsi:,radeonsi}%{?with_r600:,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}%{?with_vulkan_hw:,zink} \
-Dgallium-drivers=swrast,virgl,nouveau%{?with_r300:,r300}%{?with_crocus:,crocus}%{?with_iris:,iris}%{?with_vmware:,svga}%{?with_radeonsi:,radeonsi}%{?with_r600:,r600}%{?with_freedreno:,freedreno}%{?with_etnaviv:,etnaviv}%{?with_tegra:,tegra}%{?with_vc4:,vc4}%{?with_v3d:,v3d}%{?with_lima:,lima}%{?with_panfrost:,panfrost}%{?with_vulkan_hw:,zink} \
%else
%else
-Dgallium-drivers=swrast,virgl \
-Dgallium-drivers=swrast,virgl \
%endif
%endif
-Dgallium-vdpau=%{?with_vdpau:enabled}%{!?with_vdpau:disabled} \
-Dgallium-vdpau=%{?with_vdpau:enabled}%{!?with_vdpau:disabled} \
-Dgallium-omx=%{?with_omx:bellagio}%{!?with_omx:disabled} \
-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} \
@ -582,16 +564,13 @@ popd
%files filesystem
%files filesystem
%doc docs/Mesa-MLAA-License-Clarification-Email.txt
%doc docs/Mesa-MLAA-License-Clarification-Email.txt
%dir %{_libdir}/dri
%dir %{_libdir}/dri
%if 0%{?with_hardware}
%dir %{_datadir}/drirc.d
%if 0%{?with_vdpau}
%dir %{_libdir}/vdpau
%endif
%endif
%files libGL
%files libGL
%{_libdir}/libGLX_mesa.so.0*
%{_libdir}/libGLX_mesa.so.0*
%{_libdir}/libGLX_system.so.0*
%{_libdir}/libGLX_system.so.0*
%files libGL-devel
%files libGL-devel
%dir %{_includedir}/GL
%dir %{_includedir}/GL/internal
%dir %{_includedir}/GL/internal
%{_includedir}/GL/internal/dri_interface.h
%{_includedir}/GL/internal/dri_interface.h
%{_libdir}/pkgconfig/dri.pc
%{_libdir}/pkgconfig/dri.pc
@ -671,9 +650,10 @@ popd
%endif
%endif
%files dri-drivers
%files dri-drivers
%dir %{_datadir}/drirc.d
%{_datadir}/drirc.d/00-mesa-defaults.conf
%{_datadir}/drirc.d/00-mesa-defaults.conf
%{_libdir}/libgallium-*.so
%{_libdir}/dri/kms_swrast_dri.so
%{_libdir}/dri/kms_swrast_dri.so
%{_libdir}/dri/libdril_dri.so
%{_libdir}/dri/swrast_dri.so
%{_libdir}/dri/swrast_dri.so
%{_libdir}/dri/virtio_gpu_dri.so
%{_libdir}/dri/virtio_gpu_dri.so
@ -760,17 +740,13 @@ popd
%{_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/vkms_dri.so
%{_libdir}/dri/zynqmp-dpsub_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
%endif
%endif
%if 0%{?with_omx}
%files omx-drivers
%{_libdir}/bellagio/libomx_mesa.so
%endif
%if 0%{?with_va}
%if 0%{?with_va}
%files va-drivers
%files va-drivers
%{_libdir}/dri/nouveau_drv_video.so
%{_libdir}/dri/nouveau_drv_video.so
@ -785,6 +761,7 @@ popd
%if 0%{?with_vdpau}
%if 0%{?with_vdpau}
%files vdpau-drivers
%files vdpau-drivers
%dir %{_libdir}/vdpau
%{_libdir}/vdpau/libvdpau_nouveau.so.1*
%{_libdir}/vdpau/libvdpau_nouveau.so.1*
%if 0%{?with_r600}
%if 0%{?with_r600}
%{_libdir}/vdpau/libvdpau_r600.so.1*
%{_libdir}/vdpau/libvdpau_r600.so.1*
@ -828,10 +805,22 @@ popd
%endif
%endif
%changelog
%changelog
* Tue Nov 26 2024 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 24.1.2-1
- Rebuilt for MSVSphere 10
## START: Generated by rpmautospec
## START: Generated by rpmautospec
* Sat Dec 14 2024 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 24.2.8-1
-- Rebuilt for MSVSphere 10
* Thu Nov 28 2024 José Expósito <jexposit@redhat.com> - 24.2.8-1
- Update to 24.2.8
* Wed Nov 13 2024 José Expósito <jexposit@redhat.com> - 24.2.6-2
- Don't build python3-pyyaml
* Tue Nov 12 2024 José Expósito <jexposit@redhat.com> - 24.2.6-1
- Update to 24.2.6
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 24.1.2-2
- Bump release for October 2024 mass rebuild:
* Fri Jun 28 2024 José Expósito <jexposit@redhat.com> - 24.1.2-1
* Fri Jun 28 2024 José Expósito <jexposit@redhat.com> - 24.1.2-1
- Update to 24.1.2
- Update to 24.1.2