Enable vc4 and v3d for Raspberry Pi graphics in AlmaLinux (Resolves: https://github.com/AlmaLinux/raspberry-pi/issues/32)

This commit is contained in:
Koichiro Iwao 2025-11-11 22:15:32 +00:00 committed by root
commit b28fb4bf1e
9 changed files with 352 additions and 2657 deletions

6
.gitignore vendored
View File

@ -1,3 +1,3 @@
libclc-19.1.1.src.tar.xz
mesa-24.2.8.tar.xz
spirv-llvm-translator-90a9764.tar.gz
libclc-20.1.3.src.tar.xz
mesa-25.0.7.tar.xz
spirv-llvm-translator-834db1a.tar.gz

View File

@ -0,0 +1,88 @@
From 870b8717b25eceadac8dd653debe8346826227cb Mon Sep 17 00:00:00 2001
From: Dave Airlie <airlied@redhat.com>
Date: Mon, 9 Jun 2025 09:19:28 +1000
Subject: [PATCH] Revert "hasvk/elk: stop turning load_push_constants into
load_uniform"
This reverts commit b036d2ded2de32e81730ec8ce37c803bad112efa.
This seems to break gtk4 and other stuff.
Cc: mesa-stable
(taking ack from Lionel saying we should revert)
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35407>
---
src/intel/compiler/elk/elk_fs_nir.cpp | 4 ++--
src/intel/vulkan_hasvk/anv_nir_apply_pipeline_layout.c | 6 +++---
src/intel/vulkan_hasvk/anv_nir_compute_push_layout.c | 3 +--
3 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/src/intel/compiler/elk/elk_fs_nir.cpp b/src/intel/compiler/elk/elk_fs_nir.cpp
index 459e2d966b7..6b78d6cf9f8 100644
--- a/src/intel/compiler/elk/elk_fs_nir.cpp
+++ b/src/intel/compiler/elk/elk_fs_nir.cpp
@@ -4969,8 +4969,7 @@ fs_nir_emit_intrinsic(nir_to_elk_state &ntb,
break;
}
- case nir_intrinsic_load_uniform:
- case nir_intrinsic_load_push_constant: {
+ case nir_intrinsic_load_uniform: {
/* Offsets are in bytes but they should always aligned to
* the type size
*/
@@ -7058,3 +7057,4 @@ nir_to_elk(elk_fs_visitor *s)
ralloc_free(ntb.mem_ctx);
}
+
diff --git a/src/intel/vulkan_hasvk/anv_nir_apply_pipeline_layout.c b/src/intel/vulkan_hasvk/anv_nir_apply_pipeline_layout.c
index 2bedf9017ed..1c613a9ebe7 100644
--- a/src/intel/vulkan_hasvk/anv_nir_apply_pipeline_layout.c
+++ b/src/intel/vulkan_hasvk/anv_nir_apply_pipeline_layout.c
@@ -463,9 +463,9 @@ build_buffer_addr_for_res_index(nir_builder *b,
nir_iadd(b, res.dyn_offset_base, res.array_index);
nir_def *dyn_load =
- nir_load_uniform(b, 1, 32, nir_imul_imm(b, dyn_offset_idx, 4),
- .base = offsetof(struct anv_push_constants, dynamic_offsets),
- .range = MAX_DYNAMIC_BUFFERS * 4);
+ nir_load_push_constant(b, 1, 32, nir_imul_imm(b, dyn_offset_idx, 4),
+ .base = offsetof(struct anv_push_constants, dynamic_offsets),
+ .range = MAX_DYNAMIC_BUFFERS * 4);
nir_def *dynamic_offset =
nir_bcsel(b, nir_ieq_imm(b, res.dyn_offset_base, 0xff),
diff --git a/src/intel/vulkan_hasvk/anv_nir_compute_push_layout.c b/src/intel/vulkan_hasvk/anv_nir_compute_push_layout.c
index ed314af8b98..8a3f83f2c26 100644
--- a/src/intel/vulkan_hasvk/anv_nir_compute_push_layout.c
+++ b/src/intel/vulkan_hasvk/anv_nir_compute_push_layout.c
@@ -55,7 +55,6 @@ anv_nir_compute_push_layout(nir_shader *nir,
has_const_ubo = true;
break;
- case nir_intrinsic_load_uniform:
case nir_intrinsic_load_push_constant: {
unsigned base = nir_intrinsic_base(intrin);
unsigned range = nir_intrinsic_range(intrin);
@@ -132,7 +131,6 @@ anv_nir_compute_push_layout(nir_shader *nir,
nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr);
switch (intrin->intrinsic) {
- case nir_intrinsic_load_uniform:
case nir_intrinsic_load_push_constant: {
/* With bindless shaders we load uniforms with SEND
* messages. All the push constants are located after the
@@ -141,6 +139,7 @@ anv_nir_compute_push_layout(nir_shader *nir,
* elk_nir_lower_rt_intrinsics.c).
*/
unsigned base_offset = push_start;
+ intrin->intrinsic = nir_intrinsic_load_uniform;
nir_intrinsic_set_base(intrin,
nir_intrinsic_base(intrin) -
base_offset);
--
2.49.0

View File

@ -0,0 +1,46 @@
From 24f85c06c28736b73c14208a0ffa6657d2aee9cd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Exp=C3=B3sito?= <jexposit@redhat.com>
Date: Mon, 21 Apr 2025 13:52:14 +0200
Subject: [PATCH] Revert "kopper: Explicitly choose zink"
On QEMU (virtio driver), without 3D acceleration enabled and without
mesa-vulkan-drivers installed, this commit prevents Mutter to start.
This reverts commit c0bc957c5d8c7edd57626284b712dd6ea1e375fc.
Related: https://bugzilla.redhat.com/show_bug.cgi?id=2360851
Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13009
---
.pick_status.json | 2 +-
src/gallium/frontends/dri/kopper.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.pick_status.json b/.pick_status.json
index 99df2fb30c2..cdf3965678c 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -16204,7 +16204,7 @@
"description": "kopper: Explicitly choose zink",
"nominated": false,
"nomination_type": 0,
- "resolution": 1,
+ "resolution": 4,
"main_sha": null,
"because_sha": null,
"notes": null
diff --git a/src/gallium/frontends/dri/kopper.c b/src/gallium/frontends/dri/kopper.c
index a1d7dcb79b4..3bdb56022a9 100644
--- a/src/gallium/frontends/dri/kopper.c
+++ b/src/gallium/frontends/dri/kopper.c
@@ -73,7 +73,7 @@ kopper_init_screen(struct dri_screen *screen, bool driver_name_is_inferred)
bool success;
#ifdef HAVE_LIBDRM
if (screen->fd != -1)
- success = pipe_loader_drm_probe_fd(&screen->dev, screen->fd, true);
+ success = pipe_loader_drm_probe_fd(&screen->dev, screen->fd, false);
else
success = pipe_loader_vk_probe_dri(&screen->dev);
#else
--
2.49.0

View File

@ -0,0 +1,16 @@
diff -up mesa-25.0.7/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c.dma mesa-25.0.7/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c
--- mesa-25.0.7/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c.dma 2025-05-29 01:20:23.000000000 +1000
+++ mesa-25.0.7/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c 2025-09-26 12:32:52.240568901 +1000
@@ -1321,8 +1321,10 @@ emit_load_const(struct lp_build_nir_cont
for (unsigned i = 0; i < instr->def.num_components; i++) {
outval[i] = lp_build_const_int_vec(bld_base->base.gallivm, int_bld->type,
- bits == 32 ? instr->value[i].u32
- : instr->value[i].u64);
+ bits == 8 ? instr->value[i].u8 :
+ bits == 16 ? instr->value[i].u16 :
+ bits == 32 ? instr->value[i].u32 :
+ instr->value[i].u64);
}
for (unsigned i = instr->def.num_components; i < NIR_MAX_VEC_COMPONENTS; i++) {
outval[i] = NULL;

View File

@ -1,43 +1,3 @@
From 622f7407d7a002030b24ed384532cb6d585b3479 Mon Sep 17 00:00:00 2001
From: Benjamin ROBIN <dev@benjarobin.fr>
Date: Sun, 5 Jan 2025 16:36:12 +0100
Subject: [PATCH 1/2] util/disk_cache: Do not try to delete old cache if cache
is disabled
Prevent following warning if not running as a normal user:
Failed to create /home for shader cache (Permission denied)---disabling
disk_cache_delete_old_cache() is going to create first the cache directory
using disk_cache_generate_cache_dir(). From mkdir_if_needed(), the stat()
of "/home" is failing with "Permission denied" under some circumstances
when using Firefox.
Fixes: #12168
Fixes: c3bc6991d27c61b5c1b3 ("util/disk_cache: Delete the old multifile cache if using the default.")
Signed-off-by: Benjamin ROBIN <dev@benjarobin.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32886>
---
src/util/disk_cache.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/util/disk_cache.c b/src/util/disk_cache.c
index a6940ee494084..391f8cfdc1da9 100644
--- a/src/util/disk_cache.c
+++ b/src/util/disk_cache.c
@@ -232,7 +232,7 @@ disk_cache_create(const char *gpu_name, const char *driver_id,
/* Since switching the default cache to <mesa_shader_cache_db>, remove the
* old cache folder if it hasn't been modified for more than 7 days.
*/
- if (!getenv("MESA_SHADER_CACHE_DIR") && !getenv("MESA_GLSL_CACHE_DIR"))
+ if (!getenv("MESA_SHADER_CACHE_DIR") && !getenv("MESA_GLSL_CACHE_DIR") && disk_cache_enabled())
disk_cache_delete_old_cache();
}
--
GitLab
From 023db569e8f7bf325fba86a1fa4ba984026a532c Mon Sep 17 00:00:00 2001
From: Benjamin ROBIN <dev@benjarobin.fr>
Date: Sun, 5 Jan 2025 17:03:52 +0100

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,144 @@
From e4eb5e80c316c0af3fff310ca89e1175d81556c1 Mon Sep 17 00:00:00 2001
From: Nikita Popov <npopov@redhat.com>
Date: Thu, 27 Feb 2025 15:44:27 +0100
Subject: [PATCH] clover: Don't include libclc headers
Per https://github.com/llvm/llvm-project/issues/119967 these
headers are internal implementation details of libclc and were
never supposed to be installed. They are not available anymore
since LLVM 20. Instead opencl-c.h should be used.
There already ise a code path for including opencl-c.h, so always
use it.
This didn't work for me out of the box, because the build system
currently hardcodes the clang resource directory, which is incorrect
for Fedora at least. Fix this by using GetResourcePath +
CLANG_RESOURCE_DIR provided by clang instead. This is basically
the same as what is done in clc_helper.c
I've still retained the old behavior as a fallback just in case
(e.g. if clang is linked statically?)
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33805>
---
.../frontends/clover/llvm/invocation.cpp | 53 +++++++++++++------
src/gallium/frontends/clover/meson.build | 5 +-
2 files changed, 39 insertions(+), 19 deletions(-)
diff --git a/src/gallium/frontends/clover/llvm/invocation.cpp b/src/gallium/frontends/clover/llvm/invocation.cpp
index 3cbb05baecf67..ca030b404d791 100644
--- a/src/gallium/frontends/clover/llvm/invocation.cpp
+++ b/src/gallium/frontends/clover/llvm/invocation.cpp
@@ -24,6 +24,8 @@
// OTHER DEALINGS IN THE SOFTWARE.
//
+#include <dlfcn.h>
+
#include <llvm/IR/DiagnosticPrinter.h>
#include <llvm/IR/DiagnosticInfo.h>
#include <llvm/IR/LLVMContext.h>
@@ -39,6 +41,8 @@
#include <clang/Frontend/TextDiagnosticBuffer.h>
#include <clang/Frontend/TextDiagnosticPrinter.h>
#include <clang/Basic/TargetInfo.h>
+#include <clang/Config/config.h>
+#include <clang/Driver/Driver.h>
#if LLVM_VERSION_MAJOR >= 20
#include <llvm/Support/VirtualFileSystem.h>
@@ -323,6 +327,30 @@ namespace {
return c;
}
+ std::string getResourceDirectory() {
+ Dl_info info;
+ if (dladdr((void *)clang::CompilerInvocation::CreateFromArgs, &info) == 0) {
+ return FALLBACK_CLANG_RESOURCE_DIR;
+ }
+
+ char *libclang_path = realpath(info.dli_fname, NULL);
+ if (libclang_path == nullptr) {
+ return FALLBACK_CLANG_RESOURCE_DIR;
+ }
+
+ // GetResourcePath is a way to retrieve the actual libclang resource dir based on a given
+ // binary or library.
+ std::string clang_resource_dir =
+#if LLVM_VERSION_MAJOR >= 20
+ clang::driver::Driver::GetResourcesPath(std::string(libclang_path));
+#else
+ clang::driver::Driver::GetResourcesPath(std::string(libclang_path), CLANG_RESOURCE_DIR);
+#endif
+ free(libclang_path);
+
+ return clang_resource_dir;
+ }
+
std::unique_ptr<Module>
compile(LLVMContext &ctx, clang::CompilerInstance &c,
const std::string &name, const std::string &source,
@@ -331,25 +359,18 @@ namespace {
c.getFrontendOpts().ProgramAction = clang::frontend::EmitLLVMOnly;
c.getHeaderSearchOpts().UseBuiltinIncludes = true;
c.getHeaderSearchOpts().UseStandardSystemIncludes = true;
- c.getHeaderSearchOpts().ResourceDir = CLANG_RESOURCE_DIR;
- if (use_libclc) {
- // Add libclc generic search path
- c.getHeaderSearchOpts().AddPath(LIBCLC_INCLUDEDIR,
- clang::frontend::Angled,
- false, false);
+ std::string clang_resource_dir = getResourceDirectory();
+ c.getHeaderSearchOpts().ResourceDir = clang_resource_dir;
- // Add libclc include
- c.getPreprocessorOpts().Includes.push_back("clc/clc.h");
- } else {
- // Add opencl-c generic search path
- c.getHeaderSearchOpts().AddPath(CLANG_RESOURCE_DIR,
- clang::frontend::Angled,
- false, false);
+ // Add opencl-c generic search path
+ std::string clang_include_path = clang_resource_dir + "/include";
+ c.getHeaderSearchOpts().AddPath(clang_include_path,
+ clang::frontend::Angled,
+ false, false);
- // Add opencl include
- c.getPreprocessorOpts().Includes.push_back("opencl-c.h");
- }
+ // Add opencl include
+ c.getPreprocessorOpts().Includes.push_back("opencl-c.h");
// Add definition for the OpenCL version
const auto dev_version = dev.device_version();
diff --git a/src/gallium/frontends/clover/meson.build b/src/gallium/frontends/clover/meson.build
index e569b86a1bea7..56a9894f0dbb1 100644
--- a/src/gallium/frontends/clover/meson.build
+++ b/src/gallium/frontends/clover/meson.build
@@ -10,7 +10,6 @@ clover_opencl_cpp_args = [
'-DCL_USE_DEPRECATED_OPENCL_2_0_APIS',
'-DCL_USE_DEPRECATED_OPENCL_2_1_APIS',
'-DCL_USE_DEPRECATED_OPENCL_2_2_APIS',
- '-DLIBCLC_INCLUDEDIR="@0@/"'.format(dep_clc.get_variable(pkgconfig : 'includedir')),
'-DLIBCLC_LIBEXECDIR="@0@/"'.format(dep_clc.get_variable(pkgconfig : 'libexecdir'))
]
clover_incs = [inc_include, inc_src, inc_gallium, inc_gallium_aux]
@@ -43,9 +42,9 @@ libclllvm = static_library(
cpp_args : [
clover_cpp_args,
clover_opencl_cpp_args,
- '-DCLANG_RESOURCE_DIR="@0@"'.format(join_paths(
+ '-DFALLBACK_CLANG_RESOURCE_DIR="@0@"'.format(join_paths(
dep_llvm.get_variable(cmake : 'LLVM_LIBRARY_DIR', configtool: 'libdir'), 'clang',
- dep_llvm.version(), 'include',
+ dep_llvm.version()
)),
],
gnu_symbol_visibility : 'hidden',
--
GitLab

View File

@ -2,7 +2,7 @@
## (rpmautospec version 0.6.5)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
release_number = 3;
release_number = 6;
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}.alma.1
@ -84,7 +84,7 @@
Name: mesa
Summary: Mesa graphics libraries
%global ver 24.2.8
%global ver 25.0.7
Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)}
Release: %autorelease
License: MIT AND BSD-3-Clause AND SGI-B-2.0
@ -98,7 +98,7 @@ Source1: Mesa-MLAA-License-Clarification-Email.txt
# libclc is not available in RHEL but it is required for Intel drivers since
# mesa >= 24.1.0
%global libclc_version 19.1.1
%global libclc_version 20.1.3
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}
@ -106,8 +106,8 @@ BuildRequires: clang-devel >= %{libclc_version}
# BuildRequires: spirv-llvm-translator-tools
# spirv-llvm-translator is a dependency of libclc
%global spirv_llvm_trans_ver 19.1.1
%global spirv_llvm_trans_commit 90a976491d3847657396456e0e94d7dc48d35996
%global spirv_llvm_trans_ver 20.1.0
%global spirv_llvm_trans_commit 834db1a1985ac36d5a3e1b4b34dc1ca3f919ad5b
%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
@ -119,15 +119,25 @@ BuildRequires: zlib-devel
Patch10: gnome-shell-glthread-disable.patch
# AMD Navi4x support:
# Backport fixes for radeonsi and disable GFX12 on radv
# https://issues.redhat.com/browse/RHEL-53423
Patch11: RHEL-53423.patch
# Backport of https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33805
# to fix clover with libclc from LLVM 20.
Patch20: e4eb5e80c316c0af3fff310ca89e1175d81556c1.patch
# NV dGFX firefox fix
# Backport fixes for firefox browser issue seen on NV dGFX
# https://issues.redhat.com/browse/RHEL-108121
Patch12: 32886.patch
# This patch makes Fedora CI fail and causes issues in QEMU. Revert it until
# we find a fix.
# https://bugzilla.redhat.com/show_bug.cgi?id=2360851
# https://gitlab.freedesktop.org/mesa/mesa/-/issues/13009
Patch40: 0001-Revert-kopper-Explicitly-choose-zink.patch
# Upstream revert for gtk corruption on haswell
Patch50: 0001-Revert-hasvk-elk-stop-turning-load_push_constants-in.patch
# Backport of https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32886
# to fix firefox browser issue with NV dGFX driver
Patch60: 32886.patch
# Fix s390 loop counters
Patch70: 0001-gallivm-handle-u8-u16-const-loads-properly-on-big-en.patch
BuildRequires: meson
BuildRequires: gcc
@ -139,7 +149,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.121
BuildRequires: pkgconfig(libdrm) >= 2.4.122
%if 0%{?with_libunwind}
BuildRequires: pkgconfig(libunwind)
%endif
@ -237,16 +247,15 @@ Obsoletes: mesa-omx-drivers < %{?epoch:%{epoch}:}%{version}-%{release}
%package libGL
Summary: Mesa libGL runtime libraries
Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: libglvnd-glx%{?_isa} >= 1:1.3.2
Recommends: %{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: %{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%description libGL
%{summary}.
%package libGL-devel
Summary: Mesa libGL development package
Requires: %{name}-libGL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: (%{name}-libGL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} if %{name}-libGL%{?_isa})
Requires: libglvnd-devel%{?_isa} >= 1:1.3.2
Provides: libGL-devel
Provides: libGL-devel%{?_isa}
@ -259,15 +268,14 @@ Recommends: gl-manpages
Summary: Mesa libEGL runtime libraries
Requires: libglvnd-egl%{?_isa} >= 1:1.3.2
Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Recommends: %{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: %{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%description libEGL
%{summary}.
%package libEGL-devel
Summary: Mesa libEGL development package
Requires: %{name}-libEGL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: (%{name}-libEGL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} if %{name}-libEGL%{?_isa})
Requires: libglvnd-devel%{?_isa} >= 1:1.3.2
Requires: %{name}-khr-devel%{?_isa}
Provides: libEGL-devel
@ -279,10 +287,11 @@ Provides: libEGL-devel%{?_isa}
%package dri-drivers
Summary: Mesa-based DRI drivers
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%if 0%{?with_va}
Recommends: %{name}-va-drivers%{?_isa}
%endif
Obsoletes: %{name}-libglapi < 25.0.0~rc2-1
Provides: %{name}-libglapi >= 25.0.0~rc2-1
%description dri-drivers
%{summary}.
@ -308,7 +317,6 @@ Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{rel
%package libOSMesa
Summary: Mesa offscreen rendering libraries
Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: libOSMesa
Provides: libOSMesa%{?_isa}
@ -363,22 +371,10 @@ Provides: libxatracker-devel%{?_isa}
%{summary}.
%endif
%package libglapi
Summary: Mesa shared glapi
Provides: libglapi
Provides: libglapi%{?_isa}
# If mesa-dri-drivers are installed, they must match in version. This is here to prevent using
# older mesa-dri-drivers together with a newer mesa-libglapi or its dependants.
# See https://bugzilla.redhat.com/show_bug.cgi?id=2193135 .
Requires: (%{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} if %{name}-dri-drivers%{?_isa})
%description libglapi
%{summary}.
%if 0%{?with_opencl}
%package libOpenCL
Summary: Mesa OpenCL runtime library
Requires: ocl-icd%{?_isa}
Requires: (ocl-icd%{?_isa} or OpenCL-ICD-Loader%{?_isa})
Requires: libclc%{?_isa}
Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: opencl-filesystem
@ -497,12 +493,11 @@ export MESON_PACKAGE_CACHE_DIR="%{cargo_registry}/"
%meson \
-Dplatforms=x11,wayland \
-Ddri3=enabled \
-Dosmesa=true \
%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_lima:,lima}%{?with_panfrost:,panfrost}%{?with_vulkan_hw:,zink} \
-Dgallium-drivers=llvmpipe,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_lima:,lima}%{?with_panfrost:,panfrost}%{?with_vulkan_hw:,zink} \
%else
-Dgallium-drivers=swrast,virgl \
-Dgallium-drivers=llvmpipe,virgl \
%endif
-Dgallium-vdpau=%{?with_vdpau:enabled}%{!?with_vdpau:disabled} \
-Dgallium-va=%{?with_va:enabled}%{!?with_va:disabled} \
@ -592,7 +587,6 @@ popd
%dir %{_includedir}/GL/internal
%{_includedir}/GL/internal/dri_interface.h
%{_libdir}/pkgconfig/dri.pc
%{_libdir}/libglapi.so
%files libEGL
%{_datadir}/glvnd/egl_vendor.d/50_mesa.json
@ -602,10 +596,6 @@ popd
%{_includedir}/EGL/eglext_angle.h
%{_includedir}/EGL/eglmesaext.h
%files libglapi
%{_libdir}/libglapi.so.0
%{_libdir}/libglapi.so.0.*
%files libOSMesa
%{_libdir}/libOSMesa.so.8*
%files libOSMesa-devel
@ -670,6 +660,7 @@ popd
%files dri-drivers
%{_datadir}/drirc.d/00-mesa-defaults.conf
%{_libdir}/libgallium-*.so
%{_libdir}/gbm/dri_gbm.so
%{_libdir}/dri/kms_swrast_dri.so
%{_libdir}/dri/libdril_dri.so
%{_libdir}/dri/swrast_dri.so
@ -823,13 +814,28 @@ popd
%endif
%changelog
* Tue Aug 12 2025 Koichiro Iwao <meta@almalinux.org> - 24.2.8-3.alma.1
* Tue Nov 11 2025 Koichiro Iwao <meta@almalinux.org> - 25.0.7-6.alma.1
- Enable vc4 and v3d for Raspberry Pi graphics in AlmaLinux (Resolves:
https://github.com/AlmaLinux/raspberry-pi/issues/32)
## START: Generated by rpmautospec
* Thu Aug 07 2025 Anusha Srivatsa <asrivats@redhat.com> - 24.2.8-3
- Bring in the fix for the firfox crashes seen on NV dGFX driver.
* Thu Oct 23 2025 José Expósito <jexposit@redhat.com> - 25.0.7-6
- Rebuild for mesa-25.0.7-6.el10_1
* Thu Oct 23 2025 José Expósito <jexposit@redhat.com> - 25.0.7-5
- Rebuild for mesa-25.0.7-5.el10_1
* Tue Oct 21 2025 Dave Airlie <airlied@redhat.com> - 25.0.7-4
- fix llvmpipe constant loads on s390x
* Thu Jul 17 2025 Tomas Pelka <tpelka@redhat.com> - 25.0.7-3
- Rebuild for mesa-25.0.7-3.el10
* Tue Jul 15 2025 Anusha Srivatsa <asrivats@redhat.com> - 25.0.7-2
- backport !32886
* Wed Jun 18 2025 José Expósito <jexposit@redhat.com> - 25.0.7-1
- Update to 25.0.7
* Wed Feb 26 2025 José Expósito <jexposit@redhat.com> - 24.2.8-2
- AMD Navi4x support

View File

@ -1,3 +1,3 @@
SHA512 (libclc-19.1.1.src.tar.xz) = 41ba80e2ed8f874d79c40cfbb1de89ad9e1ecc3709519e697617c14bc2583b2f8cdb8ca20bd2095b436afcc69144a6d88d4334de1e152d78ef3a19ec14c0733d
SHA512 (mesa-24.2.8.tar.xz) = 3aa1051a72e1428e42f9537d8f6a26f2ebddc78894e0f71d2cdcc9ed555ea4d6489ad8e74d4c59b8cdf7ea1c629fa725ac2fe1e385db5d3a582d8fe8186392d6
SHA512 (spirv-llvm-translator-90a9764.tar.gz) = c0be7326fa76927f9900a9d91ced0035aeee66cdab35baa9c708b27c5d5e423f4819f148d17c3b7b812d1e8991e1057d71d52c22df2de37efdd72f1c20dcf05e
SHA512 (libclc-20.1.3.src.tar.xz) = ab6fb0dd0250ab9087b84cf6ec253473cdbcf473e24b626509f1aca1893718608ba31902fa6925ec99f64b1b06d60d49fecb2138c72c8aec433c124c57efad57
SHA512 (mesa-25.0.7.tar.xz) = 825bbd8bc5507de147488519786c0200afacf97dae621c80ead24b2c5dd55c5a442757ac8452698ae611e9344025465080795cf8f2dc4eb7ce07b5cc521b2b5c
SHA512 (spirv-llvm-translator-834db1a.tar.gz) = 4fb522087728a76204d1db9fb782afbe9475e57135d56d4b694d111aa1092febebd829fe42007d2e15e2c9bd1222bab6c48e89181fc5bdae7f3628fdf7ad74ac