Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
M
mesa
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
staging
src-rhel
rpms
mesa
Commits
8073c6de
Commit
8073c6de
authored
9 months ago
by
importbot
Browse files
Options
Downloads
Patches
Plain Diff
import mesa-24.1.0-1.el10
parent
81e4eb3a
No related branches found
Branches containing commit
Tags
imports/c10s/mesa-24.1.0-1.el10
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
.mesa.metadata
+3
-1
3 additions, 1 deletion
.mesa.metadata
SPECS/mesa.spec
+146
-43
146 additions, 43 deletions
SPECS/mesa.spec
with
149 additions
and
44 deletions
.mesa.metadata
+
3
−
1
View file @
8073c6de
dc7e8c077bc5884df95478263b34bdebb7e88e600689cb56fb07be2b8c304c36 SOURCES/mesa-24.0.0.tar.xz
13465a087f2f13d4f0e0adab7dfd9c538c242f631a8c4571ed85e4e50f8c2570 SOURCES/libclc-18.1.2.src.tar.xz
b7eac8c79244806b1c276eeeacc329e4a5b31a370804c4b0c7cd16837783f78b SOURCES/mesa-24.1.0.tar.xz
19fe20b50faf74fc4ba0808f59c0f8c8a02eb2cab5d0fdae76c379f17e00dc24 SOURCES/spirv-llvm-translator-259f72c.tar.gz
This diff is collapsed.
Click to expand it.
SPECS/mesa.spec
+
146
−
43
View file @
8073c6de
...
...
@@ -2,7 +2,7 @@
## (rpmautospec version 0.6.3)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
release_number =
2
;
release_number =
1
;
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
...
...
@@ -10,10 +10,14 @@
%ifnarch s390x
%global with_hardware 1
%global with_radeonsi 1
%global with_vmware 1
%global with_vulkan_hw 1
%global with_vdpau 1
%global with_va 1
%if !0%{?rhel}
%global with_r300 1
%global with_r600 1
%global with_nine 1
%global with_nvk %{with vulkan_hw}
%global with_omx 1
...
...
@@ -22,41 +26,39 @@
%global base_vulkan ,amd
%endif
%ifarch %{ix86} x86_64
%global with_crocus 1
%global with_i915 1
%ifnarch %{ix86}
%if !0%{?rhel}
%global with_intel_clc 1
%global with_teflon 1
%endif
%endif
%ifarch %{ix86} x86_64
%global with_iris 1
%global with_crocus 1
%global with_vmware 1
%global with_xa 1
%global with_intel_clc 1
%global intel_platform_vulkan ,intel,intel_hasvk
%endif
%ifarch x86_64
%global with_intel_vk_rt 1
%endif
%ifarch aarch64 x86_64 %{ix86}
%if !0%{?rhel}
%global with_etnaviv 1
%global with_lima 1
%global with_tegra 1
%global with_vc4 1
%global with_v3d 1
%endif
%global with_etnaviv 1
%global with_freedreno 1
%global with_kmsro 1
%global with_panfrost 1
%global with_tegra 1
%global with_v3d 1
%global with_xa 1
%global extra_platform_vulkan ,broadcom,freedreno,panfrost,imagination-experimental
%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}
%global with_libunwind 1
%global with_lmsensors 1
...
...
@@ -68,11 +70,11 @@
%bcond_with valgrind
%endif
%global vulkan_drivers swrast%{?base_vulkan}%{?intel_platform_vulkan}%{?extra_platform_vulkan}%{?with_nvk:,nouveau
-experimental
}
%global vulkan_drivers swrast%{?base_vulkan}%{?intel_platform_vulkan}%{?extra_platform_vulkan}%{?with_nvk:,nouveau}
Name: mesa
Summary: Mesa graphics libraries
%global ver 24.
0
.0
%global ver 24.
1
.0
Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)}
Release: %autorelease
License: MIT AND BSD-3-Clause AND SGI-B-2.0
...
...
@@ -84,9 +86,31 @@ 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.
Source1: Mesa-MLAA-License-Clarification-Email.txt
# libclc is not available in RHEL 9 but it is required for Intel drivers since
# mesa >= 24.1.0
%global libclc_version 18.1.2
Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{libclc_version}/libclc-%{libclc_version}.src.tar.xz
BuildRequires: libedit-devel
BuildRequires: clang-devel >= %{libclc_version}
# Build our own version
# BuildRequires: spirv-llvm-translator-tools
# spirv-llvm-translator is a dependency of libclc
%global spirv_llvm_trans_ver 18.1.0
%global spirv_llvm_trans_commit 259f72c06ce9dff3867f842aaeb1e414c97066a5
%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
BuildRequires: cmake
BuildRequires: ninja-build
BuildRequires: llvm-static
BuildRequires: spirv-headers-devel
BuildRequires: spirv-tools-devel
BuildRequires: zlib-devel
Patch10: gnome-shell-glthread-disable.patch
BuildRequires: meson >= 1.3.0
# Build our own version but keep the dependency for the RPM macros
BuildRequires: meson
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: gettext
...
...
@@ -96,7 +120,7 @@ BuildRequires: kernel-headers
# 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:
# https://bugzilla.redhat.com/show_bug.cgi?id=1859515
BuildRequires: pkgconfig(libdrm) >= 2.4.9
7
BuildRequires: pkgconfig(libdrm) >= 2.4.
11
9
%if 0%{?with_libunwind}
BuildRequires: pkgconfig(libunwind)
%endif
...
...
@@ -105,7 +129,7 @@ BuildRequires: pkgconfig(zlib) >= 1.2.3
BuildRequires: pkgconfig(libzstd)
BuildRequires: pkgconfig(libselinux)
BuildRequires: pkgconfig(wayland-scanner)
BuildRequires: pkgconfig(wayland-protocols) >= 1.
8
BuildRequires: pkgconfig(wayland-protocols) >= 1.
34
BuildRequires: pkgconfig(wayland-client) >= 1.11
BuildRequires: pkgconfig(wayland-server) >= 1.11
BuildRequires: pkgconfig(wayland-egl-backend) >= 3
...
...
@@ -143,21 +167,30 @@ BuildRequires: pkgconfig(libomxil-bellagio)
%endif
BuildRequires: pkgconfig(libelf)
BuildRequires: pkgconfig(libglvnd) >= 1.3.2
BuildRequires: llvm-devel >= 7.0.0
%if 0%{?with_opencl} || 0%{?with_nvk}
BuildRequires: llvm-devel >= %{libclc_version}
%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
# Build our own version
# BuildRequires: pkgconfig(libclc)
# BuildRequires: pkgconfig(LLVMSPIRVLib)
BuildRequires: pkgconfig(SPIRV-Tools)
%endif
%if 0%{?with_opencl} || 0%{?with_nvk}
BuildRequires: bindgen
BuildRequires: rust-packaging
BuildRequires: pkgconfig(libclc)
BuildRequires: pkgconfig(SPIRV-Tools)
BuildRequires: pkgconfig(LLVMSPIRVLib)
%endif
%if 0%{?with_nvk}
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(quote) >= 1.0.25 with crate(quote) < 2)
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: systemd-rpm-macros
%endif
%if %{with valgrind}
BuildRequires: pkgconfig(valgrind)
...
...
@@ -167,6 +200,7 @@ BuildRequires: python3-mako
%if 0%{?with_intel_clc}
BuildRequires: python3-ply
%endif
BuildRequires: python3-pycparser
BuildRequires: vulkan-headers
BuildRequires: glslang
%if 0%{?with_vulkan_hw}
...
...
@@ -351,6 +385,14 @@ Requires: %{name}-libOpenCL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{rele
%{summary}.
%endif
%if 0%{?with_teflon}
%package libTeflon
Summary: Mesa TensorFlow Lite delegate
%description libTeflon
%{summary}.
%endif
%if 0%{?with_nine}
%package libd3d
Summary: Mesa Direct3D9 state tracker
...
...
@@ -378,7 +420,50 @@ The drivers with support for the Vulkan API.
%autosetup -n %{name}-%{ver} -p1
cp %{SOURCE1} docs/
# Extract libclc
tar -xvf %{SOURCE3}
# Extract spirv-llvm-translator
tar -xvf %{SOURCE4}
%build
# Build spirv-llvm-translator
cd SPIRV-LLVM-Translator-%{spirv_llvm_trans_commit}
%cmake -GNinja \
-DLLVM_BUILD_TOOLS=ON \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_RPATH:BOOL=";" \
-DLLVM_DIR="/usr/lib64/cmake/llvm/" \
%if 0%{?__isa_bits} == 64
-DLLVM_LIBDIR_SUFFIX=64 \
%else
-DLLVM_LIBDIR_SUFFIX= \
%endif
-DLLVM_EXTERNAL_PROJECTS="SPIRV-Headers" \
-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="/usr/include/spirv/"
%cmake_build
%cmake_install
cd -
export LIBRARY_PATH=%{buildroot}%{_libdir}:$LIBRARY_PATH
export LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH
export XDG_DATA_DIRS=%{buildroot}%{_datadir}:$XDG_DATA_DIRS
export CPATH=%{buildroot}%{_includedir}:$CPATH
export PKG_CONFIG_PATH=%{buildroot}%{_libdir}/pkgconfig:%{buildroot}%{_datadir}/pkgconfig:$PKG_CONFIG_PATH
export PATH=%{buildroot}%{_bindir}:$PATH
# Build libclc
cd libclc-%{libclc_version}.src
export CFLAGS="%{build_cflags} -D__extern_always_inline=inline"
%cmake -GNinja \
-DCMAKE_INSTALL_DATADIR:PATH=%{_lib} \
-DLIBCLC_TARGETS_TO_BUILD="spirv-mesa3d-;spirv64-mesa3d-" \
-DLLVM_SPIRV=%{buildroot}%{_bindir}/llvm-spirv
%cmake_build
%cmake_install
cd -
sed -e "s!libexecdir=!libexecdir=\/%{buildroot}!" -i %{buildroot}%{_libdir}/pkgconfig/libclc.pc
# ensure standard Rust compiler flags are set
export RUSTFLAGS="%build_rustflags"
...
...
@@ -392,6 +477,7 @@ export MESON_PACKAGE_CACHE_DIR="%{cargo_registry}/"
%rewrite_wrap_file quote
%rewrite_wrap_file syn
%rewrite_wrap_file unicode-ident
%rewrite_wrap_file paste
%endif
# We've gotten a report that enabling LTO for mesa breaks some games. See
...
...
@@ -404,7 +490,7 @@ export MESON_PACKAGE_CACHE_DIR="%{cargo_registry}/"
-Ddri3=enabled \
-Dosmesa=true \
%if 0%{?with_hardware}
-Dgallium-drivers=swrast,virgl,nouveau%{?with_r300:,r300}%{?with_crocus:,crocus}%{?with_
i915:,i915}%{?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_kmsro:,kmsro}%{?with_lima:,lima}%{?with_panfrost:,panfrost}%{?with_vulkan_hw:,zink} \
%else
-Dgallium-drivers=swrast,virgl \
%endif
...
...
@@ -413,6 +499,7 @@ export MESON_PACKAGE_CACHE_DIR="%{cargo_registry}/"
-Dgallium-va=%{?with_va:enabled}%{!?with_va:disabled} \
-Dgallium-xa=%{?with_xa:enabled}%{!?with_xa:disabled} \
-Dgallium-nine=%{?with_nine:true}%{!?with_nine:false} \
-Dteflon=%{?with_teflon:true}%{!?with_teflon:false} \
-Dgallium-opencl=%{?with_opencl:icd}%{!?with_opencl:disabled} \
%if 0%{?with_opencl}
-Dgallium-rusticl=true \
...
...
@@ -426,10 +513,11 @@ export MESON_PACKAGE_CACHE_DIR="%{cargo_registry}/"
-Dgbm=enabled \
-Dglx=dri \
-Degl=enabled \
-Dglvnd=
true
\
-Dglvnd=
enabled
\
%if 0%{?with_intel_clc}
-Dintel-clc=enabled \
%endif
-Dintel-rt=%{?with_intel_vk_rt:enabled}%{!?with_intel_vk_rt:disabled} \
-Dmicrosoft-clc=disabled \
-Dllvm=enabled \
-Dshared-llvm=enabled \
...
...
@@ -444,7 +532,7 @@ export MESON_PACKAGE_CACHE_DIR="%{cargo_registry}/"
%endif
-Dandroid-libbacktrace=disabled \
%ifarch %{ix86}
-Dglx-read-only-text=true
-Dglx-read-only-text=true
\
%endif
%{nil}
%meson_build
...
...
@@ -452,6 +540,17 @@ export MESON_PACKAGE_CACHE_DIR="%{cargo_registry}/"
%install
%meson_install
# Delete files installed by libclc
rm -fr %{buildroot}%{_libdir}/clc
rm -f %{buildroot}%{_libdir}/pkgconfig/libclc.pc
# Delete files installed by spirv-llvm-translator
rm -f %{buildroot}%{_bindir}/llvm-spirv
rm -fr %{buildroot}%{_includedir}/LLVMSPIRVLib
rm -f %{buildroot}%{_libdir}/libLLVMSPIRVLib.so
rm -f %{buildroot}%{_libdir}/libLLVMSPIRVLib.so.*
rm -f %{buildroot}%{_libdir}/pkgconfig/LLVMSPIRVLib.pc
# libvdpau opens the versioned name, don't bother including the unversioned
rm -vf %{buildroot}%{_libdir}/vdpau/*.so
# likewise glvnd
...
...
@@ -471,16 +570,6 @@ for i in libOSMesa*.so libGL.so ; do
done
popd
%if 0%{?with_nvk}
# Temporarily produce a modprobe file that enables nouveau+gsp for Turing/Ampere
# until enabled upstream by default
mkdir -p %{buildroot}%{_modprobedir}
cat > %{buildroot}%{_modprobedir}/nouveau-gsp.conf << NOUVEAUEOF
# Enable GSP firmware for Turing and Ampere
options nouveau config=NvGspRm=1
NOUVEAUEOF
%endif
%files filesystem
%doc docs/Mesa-MLAA-License-Clarification-Email.txt
%dir %{_libdir}/dri
...
...
@@ -544,12 +633,18 @@ NOUVEAUEOF
%endif
%endif
%if 0%{?with_teflon}
%files libTeflon
%{_libdir}/libteflon.so
%endif
%if 0%{?with_opencl}
%files libOpenCL
%{_libdir}/libMesaOpenCL.so.*
%{_libdir}/libRusticlOpenCL.so.*
%{_sysconfdir}/OpenCL/vendors/mesa.icd
%{_sysconfdir}/OpenCL/vendors/rusticl.icd
%files libOpenCL-devel
%{_libdir}/libMesaOpenCL.so
%{_libdir}/libRusticlOpenCL.so
...
...
@@ -585,7 +680,6 @@ NOUVEAUEOF
%endif
%ifarch %{ix86} x86_64
%{_libdir}/dri/crocus_dri.so
%{_libdir}/dri/i915_dri.so
%{_libdir}/dri/iris_dri.so
%endif
%ifarch aarch64 x86_64 %{ix86}
...
...
@@ -621,6 +715,7 @@ NOUVEAUEOF
%endif
%if 0%{?with_panfrost}
%{_libdir}/dri/panfrost_dri.so
%{_libdir}/dri/panthor_dri.so
%endif
%{_libdir}/dri/nouveau_dri.so
%if 0%{?with_vmware}
...
...
@@ -649,11 +744,14 @@ NOUVEAUEOF
%{_libdir}/dri/pl111_dri.so
%{_libdir}/dri/repaper_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/st7735r_dri.so
%{_libdir}/dri/sti_dri.so
%{_libdir}/dri/sun4i-drm_dri.so
%{_libdir}/dri/udl_dri.so
%{_libdir}/dri/zynqmp-dpsub_dri.so
%endif
%if 0%{?with_vulkan_hw}
%{_libdir}/dri/zink_dri.so
...
...
@@ -698,7 +796,6 @@ NOUVEAUEOF
%{_datadir}/drirc.d/00-radv-defaults.conf
%{_datadir}/vulkan/icd.d/radeon_icd.*.json
%if 0%{?with_nvk}
%{_modprobedir}/nouveau-gsp.conf
%{_libdir}/libvulkan_nouveau.so
%{_datadir}/vulkan/icd.d/nouveau_icd.*.json
%endif
...
...
@@ -723,6 +820,12 @@ NOUVEAUEOF
%changelog
## START: Generated by rpmautospec
* Wed Jun 05 2024 José Expósito <jexposit@redhat.com> - 24.1.0-1
- Update to 24.1.0
* Mon May 27 2024 Tomas Pelka <tpelka@redhat.com> - 24.0.0-3
- Add gating.yaml via API
* Fri Feb 09 2024 Neal Gompa <ngompa@fedoraproject.org> - 24.0.0-2
- Add a modprobe config file to enable GSP on Turing and Ampere with NVK
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment