mirror of
https://src.fedoraproject.org/rpms/mesa.git
synced 2024-11-30 19:58:19 +00:00
Enable NVK to support the new Nouveau driver in Linux 6.7+
With new nouveau driver coming with Linux 6.7, NVK will be able to be used for Turing+ GPUs (GTX 16/RTX 20+), and it will be used by default for Ada Lovelace+ GPUs (RTX 40+).
This commit is contained in:
parent
74d08f0c6b
commit
ae25160064
1 changed files with 29 additions and 3 deletions
32
mesa.spec
32
mesa.spec
|
@ -11,6 +11,10 @@
|
||||||
%global base_vulkan ,amd
|
%global base_vulkan ,amd
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?with_vulkan_hw}
|
||||||
|
%global with_nvk 1
|
||||||
|
%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
|
||||||
|
@ -57,7 +61,7 @@
|
||||||
%bcond_with valgrind
|
%bcond_with valgrind
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%global vulkan_drivers swrast%{?base_vulkan}%{?intel_platform_vulkan}%{?extra_platform_vulkan}
|
%global vulkan_drivers swrast%{?base_vulkan}%{?intel_platform_vulkan}%{?extra_platform_vulkan}%{?with_nvk:,nouveau-experimental}
|
||||||
|
|
||||||
Name: mesa
|
Name: mesa
|
||||||
Summary: Mesa graphics libraries
|
Summary: Mesa graphics libraries
|
||||||
|
@ -77,7 +81,7 @@ Patch10: gnome-shell-glthread-disable.patch
|
||||||
# Workaround for llvm/clang bug: https://github.com/llvm/llvm-project/issues/78691
|
# Workaround for llvm/clang bug: https://github.com/llvm/llvm-project/issues/78691
|
||||||
Patch11: gallium-Undef-__arm_streaming-macro-to-workaround-cl.patch
|
Patch11: gallium-Undef-__arm_streaming-macro-to-workaround-cl.patch
|
||||||
|
|
||||||
BuildRequires: meson >= 1.2.0
|
BuildRequires: meson >= 1.3.0
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: gettext
|
BuildRequires: gettext
|
||||||
|
@ -135,7 +139,7 @@ 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}
|
%if 0%{?with_opencl} || 0%{?with_nvk}
|
||||||
BuildRequires: clang-devel
|
BuildRequires: clang-devel
|
||||||
BuildRequires: bindgen
|
BuildRequires: bindgen
|
||||||
BuildRequires: rust-packaging
|
BuildRequires: rust-packaging
|
||||||
|
@ -143,6 +147,12 @@ BuildRequires: pkgconfig(libclc)
|
||||||
BuildRequires: pkgconfig(SPIRV-Tools)
|
BuildRequires: pkgconfig(SPIRV-Tools)
|
||||||
BuildRequires: pkgconfig(LLVMSPIRVLib)
|
BuildRequires: pkgconfig(LLVMSPIRVLib)
|
||||||
%endif
|
%endif
|
||||||
|
%if 0%{?with_nvk}
|
||||||
|
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)
|
||||||
|
%endif
|
||||||
%if %{with valgrind}
|
%if %{with valgrind}
|
||||||
BuildRequires: pkgconfig(valgrind)
|
BuildRequires: pkgconfig(valgrind)
|
||||||
%endif
|
%endif
|
||||||
|
@ -366,6 +376,18 @@ cp %{SOURCE1} docs/
|
||||||
# ensure standard Rust compiler flags are set
|
# ensure standard Rust compiler flags are set
|
||||||
export RUSTFLAGS="%build_rustflags"
|
export RUSTFLAGS="%build_rustflags"
|
||||||
|
|
||||||
|
%if 0%{?with_nvk}
|
||||||
|
export MESON_PACKAGE_CACHE_DIR="%{cargo_registry}/"
|
||||||
|
# So... Meson can't actually find them without tweaks
|
||||||
|
%define inst_crate_nameversion() %(basename %{cargo_registry}/%{1}-*)
|
||||||
|
%define rewrite_wrap_file() sed -e "/source.*/d" -e "s/%{1}-.*/%{inst_crate_nameversion %{1}}/" -i subprojects/%{1}.wrap
|
||||||
|
|
||||||
|
%rewrite_wrap_file proc-macro2
|
||||||
|
%rewrite_wrap_file quote
|
||||||
|
%rewrite_wrap_file syn
|
||||||
|
%rewrite_wrap_file unicode-ident
|
||||||
|
%endif
|
||||||
|
|
||||||
# We've gotten a report that enabling LTO for mesa breaks some games. See
|
# We've gotten a report that enabling LTO for mesa breaks some games. See
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1862771 for details.
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1862771 for details.
|
||||||
# Disable LTO for now
|
# Disable LTO for now
|
||||||
|
@ -659,6 +681,10 @@ popd
|
||||||
%{_libdir}/libvulkan_radeon.so
|
%{_libdir}/libvulkan_radeon.so
|
||||||
%{_datadir}/drirc.d/00-radv-defaults.conf
|
%{_datadir}/drirc.d/00-radv-defaults.conf
|
||||||
%{_datadir}/vulkan/icd.d/radeon_icd.*.json
|
%{_datadir}/vulkan/icd.d/radeon_icd.*.json
|
||||||
|
%if 0%{?with_nvk}
|
||||||
|
%{_libdir}/libvulkan_nouveau.so
|
||||||
|
%{_datadir}/vulkan/icd.d/nouveau_icd.*.json
|
||||||
|
%endif
|
||||||
%ifarch %{ix86} x86_64
|
%ifarch %{ix86} x86_64
|
||||||
%{_libdir}/libvulkan_intel.so
|
%{_libdir}/libvulkan_intel.so
|
||||||
%{_datadir}/vulkan/icd.d/intel_icd.*.json
|
%{_datadir}/vulkan/icd.d/intel_icd.*.json
|
||||||
|
|
Loading…
Reference in a new issue