Update to 25.2.5
Bundle and build meson 1.7.0 required for Mesa Rust support. Resolves: https://issues.redhat.com/browse/RHEL-107474
This commit is contained in:
parent
90974286ab
commit
ce16ae464d
12
.gitignore
vendored
12
.gitignore
vendored
@ -6,10 +6,12 @@
|
||||
x86_64/
|
||||
results_mesa/
|
||||
mesa-*/
|
||||
/meson-*.tar.gz
|
||||
/libclc-*.tar.xz
|
||||
/spirv-llvm-translator-*.tar.gz
|
||||
/paste-1.0.15.tar.gz
|
||||
/proc-macro2-1.0.97.tar.gz
|
||||
/quote-1.0.40.tar.gz
|
||||
/syn-2.0.104.tar.gz
|
||||
/unicode-ident-1.0.18.tar.gz
|
||||
/paste-*.tar.gz
|
||||
/proc-macro2-*.tar.gz
|
||||
/quote-*.tar.gz
|
||||
/syn-*.tar.gz
|
||||
/unicode-ident-*.tar.gz
|
||||
/rustc-hash-*.tar.gz
|
||||
|
||||
@ -1,88 +0,0 @@
|
||||
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
|
||||
|
||||
@ -1,46 +0,0 @@
|
||||
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
|
||||
|
||||
@ -1,16 +0,0 @@
|
||||
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;
|
||||
88
32886.patch
88
32886.patch
@ -1,88 +0,0 @@
|
||||
From 023db569e8f7bf325fba86a1fa4ba984026a532c Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin ROBIN <dev@benjarobin.fr>
|
||||
Date: Sun, 5 Jan 2025 17:03:52 +0100
|
||||
Subject: [PATCH 2/2] docs: Update MESA_SHADER_CACHE_DIR env variable behavior
|
||||
|
||||
Update documentation to match implementation of
|
||||
disk_cache_generate_cache_dir().
|
||||
|
||||
Signed-off-by: Benjamin ROBIN <dev@benjarobin.fr>
|
||||
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32886>
|
||||
---
|
||||
docs/envvars.rst | 21 ++++++++++++---------
|
||||
src/util/disk_cache_os.c | 13 +++++++++----
|
||||
2 files changed, 21 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/docs/envvars.rst b/docs/envvars.rst
|
||||
index 7247158cc5073..e812b9280777a 100644
|
||||
--- a/docs/envvars.rst
|
||||
+++ b/docs/envvars.rst
|
||||
@@ -200,10 +200,11 @@ Core Mesa environment variables
|
||||
.. envvar:: MESA_SHADER_CACHE_DIR
|
||||
|
||||
if set, determines the directory to be used for the on-disk cache of
|
||||
- compiled shader programs. If this variable is not set, then the cache
|
||||
- will be stored in ``$XDG_CACHE_HOME/mesa_shader_cache_db`` (if that
|
||||
- variable is set), or else within ``.cache/mesa_shader_cache_db`` within
|
||||
- the user's home directory.
|
||||
+ compiled shader programs. If set then the cache will be stored in
|
||||
+ ``$MESA_SHADER_CACHE_DIR/mesa_shader_cache_db``. If this variable is not
|
||||
+ set, then the cache will be stored in
|
||||
+ ``$XDG_CACHE_HOME/mesa_shader_cache_db`` (if that variable is set), or else
|
||||
+ within ``.cache/mesa_shader_cache_db`` within the user's home directory.
|
||||
|
||||
.. envvar:: MESA_SHADER_CACHE_SHOW_STATS
|
||||
|
||||
@@ -218,9 +219,10 @@ Core Mesa environment variables
|
||||
cache DBs via :envvar:`MESA_DISK_CACHE_READ_ONLY_FOZ_DBS` or
|
||||
:envvar:`MESA_DISK_CACHE_READ_ONLY_FOZ_DBS_DYNAMIC_LIST`. This
|
||||
implementation does not support cache size limits via
|
||||
- :envvar:`MESA_SHADER_CACHE_MAX_SIZE`. If
|
||||
- :envvar:`MESA_SHADER_CACHE_DIR` is not set, the cache will be stored
|
||||
- in ``$XDG_CACHE_HOME/mesa_shader_cache_sf`` (if that variable is set)
|
||||
+ :envvar:`MESA_SHADER_CACHE_MAX_SIZE`. If :envvar:`MESA_SHADER_CACHE_DIR`
|
||||
+ is set, the cache will be stored in
|
||||
+ ``$MESA_SHADER_CACHE_DIR/mesa_shader_cache_sf``, or else within
|
||||
+ ``$XDG_CACHE_HOME/mesa_shader_cache_sf`` (if that variable is set)
|
||||
or else within ``.cache/mesa_shader_cache_sf`` within the user's home
|
||||
directory.
|
||||
|
||||
@@ -229,8 +231,9 @@ Core Mesa environment variables
|
||||
if set to 1, enables the multi file on-disk shader cache implementation
|
||||
instead of the default Mesa-DB cache implementation.
|
||||
This implementation increases the overall disk usage.
|
||||
- If :envvar:`MESA_SHADER_CACHE_DIR` is not set, the cache will be stored
|
||||
- in ``$XDG_CACHE_HOME/mesa_shader_cache`` (if that variable is set)
|
||||
+ If :envvar:`MESA_SHADER_CACHE_DIR` is set, the cache will be stored in
|
||||
+ ``$MESA_SHADER_CACHE_DIR/mesa_shader_cache``, or else within
|
||||
+ ``$XDG_CACHE_HOME/mesa_shader_cache`` (if that variable is set)
|
||||
or else within ``.cache/mesa_shader_cache`` within the user's home
|
||||
directory.
|
||||
|
||||
diff --git a/src/util/disk_cache_os.c b/src/util/disk_cache_os.c
|
||||
index 8d6ce428c1823..09051491d332f 100644
|
||||
--- a/src/util/disk_cache_os.c
|
||||
+++ b/src/util/disk_cache_os.c
|
||||
@@ -873,10 +873,15 @@ disk_cache_write_item_to_disk(struct disk_cache_put_job *dc_job,
|
||||
|
||||
/* Determine path for cache based on the first defined name as follows:
|
||||
*
|
||||
- * $MESA_SHADER_CACHE_DIR
|
||||
- * $XDG_CACHE_HOME/mesa_shader_cache
|
||||
- * $HOME/.cache/mesa_shader_cache
|
||||
- * <pwd.pw_dir>/.cache/mesa_shader_cache
|
||||
+ * $MESA_SHADER_CACHE_DIR/mesa_shader_cache*
|
||||
+ * $XDG_CACHE_HOME/mesa_shader_cache*
|
||||
+ * $HOME/.cache/mesa_shader_cache*
|
||||
+ * <pwd.pw_dir>/.cache/mesa_shader_cache*
|
||||
+ *
|
||||
+ * The directory 'mesa_shader_cache*' is named depending of cache type:
|
||||
+ * - For DISK_CACHE_MULTI_FILE: mesa_shader_cache
|
||||
+ * - For DISK_CACHE_SINGLE_FILE: mesa_shader_cache_sf
|
||||
+ * - For DISK_CACHE_DATABASE: mesa_shader_cache_db
|
||||
*/
|
||||
char *
|
||||
disk_cache_generate_cache_dir(void *mem_ctx, const char *gpu_name,
|
||||
--
|
||||
GitLab
|
||||
|
||||
@ -1,144 +0,0 @@
|
||||
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
|
||||
|
||||
@ -1,11 +0,0 @@
|
||||
diff -up mesa-22.3.0-rc4/src/util/00-mesa-defaults.conf.dma mesa-22.3.0-rc4/src/util/00-mesa-defaults.conf
|
||||
--- mesa-22.3.0-rc4/src/util/00-mesa-defaults.conf.dma 2022-11-25 10:32:32.175879868 +1000
|
||||
+++ mesa-22.3.0-rc4/src/util/00-mesa-defaults.conf 2022-11-25 10:32:43.743067470 +1000
|
||||
@@ -653,6 +653,7 @@ TODO: document the other workarounds.
|
||||
<application name="gnome-shell" executable="gnome-shell">
|
||||
<option name="adaptive_sync" value="false" />
|
||||
<option name="v3d_nonmsaa_texture_size_limit" value="true" />
|
||||
+ <option name="mesa_glthread" value="false"/>
|
||||
</application>
|
||||
<application name="Desktop — Plasma" executable="plasmashell">
|
||||
<option name="adaptive_sync" value="false" />
|
||||
257
mesa.spec
257
mesa.spec
@ -8,7 +8,6 @@
|
||||
%if !0%{?rhel}
|
||||
%global with_r300 1
|
||||
%global with_r600 1
|
||||
%global with_nine 1
|
||||
%global with_opencl 1
|
||||
%endif
|
||||
%if !0%{?rhel} || 0%{?rhel} >= 10
|
||||
@ -24,11 +23,12 @@
|
||||
%endif
|
||||
|
||||
%ifarch %{ix86} x86_64
|
||||
%global with_iris 1
|
||||
%global with_crocus 1
|
||||
%global with_xa 1
|
||||
%global with_intel_clc 1
|
||||
%global with_iris 1
|
||||
%global intel_platform_vulkan %{?with_vulkan_hw:,intel,intel_hasvk}%{!?with_vulkan_hw:%{nil}}
|
||||
%if !0%{?rhel}
|
||||
%global with_i915 1
|
||||
%endif
|
||||
%endif
|
||||
%ifarch x86_64
|
||||
%if !0%{?with_vulkan_hw}
|
||||
@ -38,6 +38,8 @@
|
||||
|
||||
%ifarch aarch64 x86_64 %{ix86}
|
||||
%if !0%{?rhel}
|
||||
%global with_asahi 1
|
||||
%global with_d3d12 1
|
||||
%global with_etnaviv 1
|
||||
%global with_lima 1
|
||||
%global with_tegra 1
|
||||
@ -47,13 +49,16 @@
|
||||
%global with_freedreno 1
|
||||
%global with_kmsro 1
|
||||
%global with_panfrost 1
|
||||
%global with_xa 1
|
||||
%if 0%{?with_asahi}
|
||||
%global asahi_platform_vulkan %{?with_vulkan_hw:,asahi}%{!?with_vulkan_hw:%{nil}}
|
||||
%endif
|
||||
%global extra_platform_vulkan %{?with_vulkan_hw:,broadcom,freedreno,panfrost,imagination-experimental}%{!?with_vulkan_hw:%{nil}}
|
||||
%endif
|
||||
|
||||
%if !0%{?rhel}
|
||||
%global with_libunwind 1
|
||||
%global with_lmsensors 1
|
||||
%global with_virtio 1
|
||||
%endif
|
||||
|
||||
%ifarch %{valgrind_arches}
|
||||
@ -62,7 +67,7 @@
|
||||
%bcond_with valgrind
|
||||
%endif
|
||||
|
||||
%global vulkan_drivers swrast%{?base_vulkan}%{?intel_platform_vulkan}%{?extra_platform_vulkan}%{?with_nvk:,nouveau}
|
||||
%global vulkan_drivers swrast%{?base_vulkan}%{?intel_platform_vulkan}%{?asahi_platform_vulkan}%{?extra_platform_vulkan}%{?with_nvk:,nouveau}%{?with_virtio:,virtio}%{?with_d3d12:,microsoft-experimental}
|
||||
|
||||
%if 0%{?with_nvk} && 0%{?rhel}
|
||||
%global vendor_nvk_crates 1
|
||||
@ -70,7 +75,7 @@
|
||||
|
||||
Name: mesa
|
||||
Summary: Mesa graphics libraries
|
||||
%global ver 25.0.7
|
||||
%global ver 25.2.5
|
||||
Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)}
|
||||
Release: %autorelease
|
||||
License: MIT AND BSD-3-Clause AND SGI-B-2.0
|
||||
@ -82,6 +87,11 @@ 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
|
||||
|
||||
# meson >= 1.7.0 is required
|
||||
%global meson_ver 1.7.0
|
||||
Source2: https://github.com/mesonbuild/meson/releases/download/%{meson_ver}/meson-%{meson_ver}.tar.gz
|
||||
|
||||
|
||||
# libclc is not available in RHEL but it is required for Intel drivers since
|
||||
# mesa >= 24.1.0
|
||||
%global libclc_version 20.1.3
|
||||
@ -108,37 +118,22 @@ BuildRequires: zlib-devel
|
||||
# https://gitlab.freedesktop.org/mesa/mesa/-/tree/main/subprojects
|
||||
# but we generally want the latest compatible versions
|
||||
%global rust_paste_ver 1.0.15
|
||||
%global rust_proc_macro2_ver 1.0.97
|
||||
%global rust_proc_macro2_ver 1.0.101
|
||||
%global rust_quote_ver 1.0.40
|
||||
%global rust_syn_ver 2.0.104
|
||||
%global rust_syn_ver 2.0.106
|
||||
%global rust_unicode_ident_ver 1.0.18
|
||||
%global rustc_hash_ver 2.1.1
|
||||
Source10: https://crates.io/api/v1/crates/paste/%{rust_paste_ver}/download#/paste-%{rust_paste_ver}.tar.gz
|
||||
Source11: https://crates.io/api/v1/crates/proc-macro2/%{rust_proc_macro2_ver}/download#/proc-macro2-%{rust_proc_macro2_ver}.tar.gz
|
||||
Source12: https://crates.io/api/v1/crates/quote/%{rust_quote_ver}/download#/quote-%{rust_quote_ver}.tar.gz
|
||||
Source13: https://crates.io/api/v1/crates/syn/%{rust_syn_ver}/download#/syn-%{rust_syn_ver}.tar.gz
|
||||
Source14: https://crates.io/api/v1/crates/unicode-ident/%{rust_unicode_ident_ver}/download#/unicode-ident-%{rust_unicode_ident_ver}.tar.gz
|
||||
Source15: https://crates.io/api/v1/crates/rustc-hash/%{rustc_hash_ver}/download#/rustc-hash-%{rustc_hash_ver}.tar.gz
|
||||
|
||||
Patch10: gnome-shell-glthread-disable.patch
|
||||
|
||||
# Backport of https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33805
|
||||
# to fix clover with libclc from LLVM 20.
|
||||
Patch20: e4eb5e80c316c0af3fff310ca89e1175d81556c1.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
|
||||
# zink + nvk + hotplug fails
|
||||
# https://gitlab.freedesktop.org/mesa/mesa/-/issues/14148
|
||||
Patch10: wayland-display-hacks.patch
|
||||
|
||||
BuildRequires: meson
|
||||
BuildRequires: gcc
|
||||
@ -146,6 +141,7 @@ BuildRequires: gcc-c++
|
||||
BuildRequires: gettext
|
||||
%if 0%{?with_hardware}
|
||||
BuildRequires: kernel-headers
|
||||
BuildRequires: systemd-devel
|
||||
%endif
|
||||
# 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:
|
||||
@ -157,7 +153,6 @@ BuildRequires: pkgconfig(libunwind)
|
||||
BuildRequires: pkgconfig(expat)
|
||||
BuildRequires: pkgconfig(zlib) >= 1.2.3
|
||||
BuildRequires: pkgconfig(libzstd)
|
||||
BuildRequires: pkgconfig(libselinux)
|
||||
BuildRequires: pkgconfig(wayland-scanner)
|
||||
BuildRequires: pkgconfig(wayland-protocols) >= 1.34
|
||||
BuildRequires: pkgconfig(wayland-client) >= 1.11
|
||||
@ -200,7 +195,7 @@ BuildRequires: flatbuffers-devel
|
||||
BuildRequires: flatbuffers-compiler
|
||||
BuildRequires: xtensor-devel
|
||||
%endif
|
||||
%if 0%{?with_opencl} || 0%{?with_nvk} || 0%{?with_intel_clc}
|
||||
%if 0%{?with_opencl} || 0%{?with_nvk} || 0%{?with_asahi} || 0%{?with_panfrost}
|
||||
BuildRequires: clang-devel
|
||||
# Build our own version
|
||||
# BuildRequires: pkgconfig(libclc)
|
||||
@ -223,9 +218,6 @@ BuildRequires: pkgconfig(valgrind)
|
||||
%endif
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-mako
|
||||
%if 0%{?with_intel_clc}
|
||||
BuildRequires: python3-ply
|
||||
%endif
|
||||
BuildRequires: python3-pycparser
|
||||
BuildRequires: python3-pyyaml
|
||||
BuildRequires: vulkan-headers
|
||||
@ -233,6 +225,9 @@ BuildRequires: glslang
|
||||
%if 0%{?with_vulkan_hw}
|
||||
BuildRequires: pkgconfig(vulkan)
|
||||
%endif
|
||||
%if 0%{?with_d3d12}
|
||||
BuildRequires: pkgconfig(DirectX-Headers) >= 1.614.1
|
||||
%endif
|
||||
|
||||
%description
|
||||
%{summary}.
|
||||
@ -241,6 +236,8 @@ BuildRequires: pkgconfig(vulkan)
|
||||
Summary: Mesa driver filesystem
|
||||
Provides: mesa-dri-filesystem = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Obsoletes: mesa-omx-drivers < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Obsoletes: mesa-libd3d < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Obsoletes: mesa-libd3d-devel < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description filesystem
|
||||
%{summary}.
|
||||
@ -249,6 +246,7 @@ Obsoletes: mesa-omx-drivers < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Summary: Mesa libGL runtime libraries
|
||||
Requires: libglvnd-glx%{?_isa} >= 1:1.3.2
|
||||
Requires: %{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Obsoletes: %{name}-libOSMesa < 25.1.0~rc2-1
|
||||
|
||||
%description libGL
|
||||
%{summary}.
|
||||
@ -260,6 +258,7 @@ Requires: libglvnd-devel%{?_isa} >= 1:1.3.2
|
||||
Provides: libGL-devel
|
||||
Provides: libGL-devel%{?_isa}
|
||||
Recommends: gl-manpages
|
||||
Obsoletes: %{name}-libOSMesa-devel < 25.1.0~rc2-1
|
||||
|
||||
%description libGL-devel
|
||||
%{summary}.
|
||||
@ -315,21 +314,6 @@ Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{rel
|
||||
%{summary}.
|
||||
%endif
|
||||
|
||||
%package libOSMesa
|
||||
Summary: Mesa offscreen rendering libraries
|
||||
Provides: libOSMesa
|
||||
Provides: libOSMesa%{?_isa}
|
||||
|
||||
%description libOSMesa
|
||||
%{summary}.
|
||||
|
||||
%package libOSMesa-devel
|
||||
Summary: Mesa offscreen rendering development package
|
||||
Requires: %{name}-libOSMesa%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description libOSMesa-devel
|
||||
%{summary}.
|
||||
|
||||
%package libgbm
|
||||
Summary: Mesa gbm runtime library
|
||||
Provides: libgbm
|
||||
@ -352,25 +336,6 @@ Provides: libgbm-devel%{?_isa}
|
||||
%description libgbm-devel
|
||||
%{summary}.
|
||||
|
||||
%if 0%{?with_xa}
|
||||
%package libxatracker
|
||||
Summary: Mesa XA state tracker
|
||||
Provides: libxatracker
|
||||
Provides: libxatracker%{?_isa}
|
||||
|
||||
%description libxatracker
|
||||
%{summary}.
|
||||
|
||||
%package libxatracker-devel
|
||||
Summary: Mesa XA state tracker development package
|
||||
Requires: %{name}-libxatracker%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Provides: libxatracker-devel
|
||||
Provides: libxatracker-devel%{?_isa}
|
||||
|
||||
%description libxatracker-devel
|
||||
%{summary}.
|
||||
%endif
|
||||
|
||||
%if 0%{?with_opencl}
|
||||
%package libOpenCL
|
||||
Summary: Mesa OpenCL runtime library
|
||||
@ -398,19 +363,13 @@ Summary: Mesa TensorFlow Lite delegate
|
||||
%{summary}.
|
||||
%endif
|
||||
|
||||
%if 0%{?with_nine}
|
||||
%package libd3d
|
||||
Summary: Mesa Direct3D9 state tracker
|
||||
%if 0%{?with_d3d12}
|
||||
%package dxil-devel
|
||||
Summary: Mesa SPIR-V to DXIL binary
|
||||
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description libd3d
|
||||
%{summary}.
|
||||
|
||||
%package libd3d-devel
|
||||
Summary: Mesa Direct3D9 state tracker development package
|
||||
Requires: %{name}-libd3d%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description libd3d-devel
|
||||
%{summary}.
|
||||
%description dxil-devel
|
||||
Development tools for translating SPIR-V shader code to DXIL for Direct3D 12
|
||||
%endif
|
||||
|
||||
%package vulkan-drivers
|
||||
@ -426,6 +385,9 @@ The drivers with support for the Vulkan API.
|
||||
%autosetup -n %{name}-%{ver} -p1
|
||||
cp %{SOURCE1} docs/
|
||||
|
||||
# Extract meson
|
||||
tar -xvf %{SOURCE2}
|
||||
|
||||
# Extract libclc
|
||||
tar -xvf %{SOURCE3}
|
||||
|
||||
@ -440,6 +402,7 @@ tar -xvf %{SOURCE11} -C subprojects/packagecache/
|
||||
tar -xvf %{SOURCE12} -C subprojects/packagecache/
|
||||
tar -xvf %{SOURCE13} -C subprojects/packagecache/
|
||||
tar -xvf %{SOURCE14} -C subprojects/packagecache/
|
||||
tar -xvf %{SOURCE15} -C subprojects/packagecache/
|
||||
for d in subprojects/packagecache/*-*; do
|
||||
echo '{"files":{}}' > $d/.cargo-checksum.json
|
||||
done
|
||||
@ -459,6 +422,7 @@ path = "src/nouveau/nil/lib.rs"
|
||||
[dependencies]
|
||||
paste = "$(grep ^directory subprojects/paste.wrap | sed 's|.*-||')"
|
||||
syn = { version = "$(grep ^directory subprojects/syn.wrap | sed 's|.*-||')", features = ["clone-impls"] }
|
||||
rustc-hash = "$(grep ^directory subprojects/rustc-hash.wrap | sed 's|.*-||')"
|
||||
_EOF
|
||||
%if 0%{?vendor_nvk_crates}
|
||||
%cargo_prep -v subprojects/packagecache
|
||||
@ -472,6 +436,16 @@ _EOF
|
||||
|
||||
|
||||
%build
|
||||
|
||||
# Build meson
|
||||
cd meson-%{meson_ver}
|
||||
%py3_build
|
||||
%py3_install
|
||||
%global __meson %{buildroot}%{_bindir}/meson
|
||||
export PYTHONPATH=%{buildroot}%{python3_sitelib}:%{python3_sitelib}
|
||||
cd -
|
||||
|
||||
|
||||
# Build spirv-llvm-translator
|
||||
cd SPIRV-LLVM-Translator-%{spirv_llvm_trans_commit}
|
||||
%cmake -GNinja \
|
||||
@ -509,6 +483,7 @@ export CFLAGS="%{build_cflags} -D__extern_always_inline=inline"
|
||||
cd -
|
||||
sed -e "s!libexecdir=!libexecdir=\/%{buildroot}!" -i %{buildroot}%{_libdir}/pkgconfig/libclc.pc
|
||||
|
||||
|
||||
# ensure standard Rust compiler flags are set
|
||||
export RUSTFLAGS="%build_rustflags"
|
||||
|
||||
@ -526,6 +501,7 @@ rewrite_wrap_file quote
|
||||
rewrite_wrap_file syn
|
||||
rewrite_wrap_file unicode-ident
|
||||
rewrite_wrap_file paste
|
||||
rewrite_wrap_file rustc-hash
|
||||
%endif
|
||||
|
||||
# We've gotten a report that enabling LTO for mesa breaks some games. See
|
||||
@ -535,24 +511,20 @@ rewrite_wrap_file paste
|
||||
|
||||
%meson \
|
||||
-Dplatforms=x11,wayland \
|
||||
-Dosmesa=true \
|
||||
%if 0%{?with_hardware}
|
||||
-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} \
|
||||
-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_asahi:,asahi}%{?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}%{?with_d3d12:,d3d12} \
|
||||
%else
|
||||
-Dgallium-drivers=llvmpipe,virgl \
|
||||
%endif
|
||||
-Dgallium-vdpau=%{?with_vdpau:enabled}%{!?with_vdpau:disabled} \
|
||||
-Dgallium-va=%{?with_va:enabled}%{!?with_va:disabled} \
|
||||
-Dgallium-xa=%{?with_xa:enabled}%{!?with_xa:disabled} \
|
||||
-Dgallium-nine=%{?with_nine:true}%{!?with_nine:false} \
|
||||
-Dgallium-mediafoundation=disabled \
|
||||
-Dteflon=%{?with_teflon:true}%{!?with_teflon:false} \
|
||||
-Dgallium-opencl=%{?with_opencl:icd}%{!?with_opencl:disabled} \
|
||||
%if 0%{?with_opencl}
|
||||
-Dgallium-rusticl=true \
|
||||
%endif
|
||||
-Dvulkan-drivers=%{?vulkan_drivers} \
|
||||
-Dvulkan-layers=device-select \
|
||||
-Dshared-glapi=enabled \
|
||||
-Dgles1=enabled \
|
||||
-Dgles2=enabled \
|
||||
-Dopengl=true \
|
||||
@ -560,16 +532,12 @@ rewrite_wrap_file paste
|
||||
-Dglx=dri \
|
||||
-Degl=enabled \
|
||||
-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 \
|
||||
-Dvalgrind=%{?with_valgrind:enabled}%{!?with_valgrind:disabled} \
|
||||
-Dbuild-tests=false \
|
||||
-Dselinux=true \
|
||||
%if !0%{?with_libunwind}
|
||||
-Dlibunwind=disabled \
|
||||
%endif
|
||||
@ -592,7 +560,22 @@ rewrite_wrap_file paste
|
||||
%endif
|
||||
|
||||
%install
|
||||
cd meson-%{meson_ver}
|
||||
%py3_install
|
||||
%global __meson %{buildroot}%{_bindir}/meson
|
||||
export PYTHONPATH=%{buildroot}%{python3_sitelib}:%{python3_sitelib}
|
||||
cd -
|
||||
|
||||
%meson_install
|
||||
# Delete files installed by meson
|
||||
rm -f %{buildroot}%{_bindir}/meson
|
||||
rm -rf %{buildroot}%{_mandir}/man1/meson.1*
|
||||
rm -f %{buildroot}%{_datadir}/polkit-1/actions/com.mesonbuild.install.policy
|
||||
rm -f %{buildroot}%{_datadir}/bash-completion/completions/meson
|
||||
rm -f %{buildroot}%{_datadir}/zsh/site-functions/_meson
|
||||
rm -rf %{buildroot}%{python3_sitelib}
|
||||
|
||||
|
||||
|
||||
# Delete files installed by libclc
|
||||
rm -fr %{buildroot}%{_libdir}/clc
|
||||
@ -607,19 +590,26 @@ 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
|
||||
rm -vf %{buildroot}%{_libdir}/libGLX_mesa.so
|
||||
rm -vf %{buildroot}%{_libdir}/libEGL_mesa.so
|
||||
# XXX can we just not build this
|
||||
rm -vf %{buildroot}%{_libdir}/libGLES*
|
||||
|
||||
%if ! 0%{?with_asahi}
|
||||
# This symlink is unconditionally created when any kmsro driver is enabled
|
||||
# We don't want this one so delete it
|
||||
rm -vf %{buildroot}%{_libdir}/dri/apple_dri.so
|
||||
%endif
|
||||
|
||||
# glvnd needs a default provider for indirect rendering where it cannot
|
||||
# determine the vendor
|
||||
ln -s %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_system.so.0
|
||||
|
||||
# this keeps breaking, check it early. note that the exit from eu-ftr is odd.
|
||||
pushd %{buildroot}%{_libdir}
|
||||
for i in libOSMesa*.so libGL.so ; do
|
||||
for i in libGL.so ; do
|
||||
eu-findtextrel $i && exit 1
|
||||
done
|
||||
popd
|
||||
@ -646,39 +636,15 @@ popd
|
||||
%{_includedir}/EGL/eglext_angle.h
|
||||
%{_includedir}/EGL/eglmesaext.h
|
||||
|
||||
%files libOSMesa
|
||||
%{_libdir}/libOSMesa.so.8*
|
||||
%files libOSMesa-devel
|
||||
%dir %{_includedir}/GL
|
||||
%{_includedir}/GL/osmesa.h
|
||||
%{_libdir}/libOSMesa.so
|
||||
%{_libdir}/pkgconfig/osmesa.pc
|
||||
|
||||
%files libgbm
|
||||
%{_libdir}/libgbm.so.1
|
||||
%{_libdir}/libgbm.so.1.*
|
||||
%files libgbm-devel
|
||||
%{_libdir}/libgbm.so
|
||||
%{_includedir}/gbm.h
|
||||
%{_includedir}/gbm_backend_abi.h
|
||||
%{_libdir}/pkgconfig/gbm.pc
|
||||
|
||||
%if 0%{?with_xa}
|
||||
%files libxatracker
|
||||
%if 0%{?with_hardware}
|
||||
%{_libdir}/libxatracker.so.2
|
||||
%{_libdir}/libxatracker.so.2.*
|
||||
%endif
|
||||
|
||||
%files libxatracker-devel
|
||||
%if 0%{?with_hardware}
|
||||
%{_libdir}/libxatracker.so
|
||||
%{_includedir}/xa_tracker.h
|
||||
%{_includedir}/xa_composite.h
|
||||
%{_includedir}/xa_context.h
|
||||
%{_libdir}/pkgconfig/xatracker.pc
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if 0%{?with_teflon}
|
||||
%files libTeflon
|
||||
%{_libdir}/libteflon.so
|
||||
@ -686,27 +652,13 @@ popd
|
||||
|
||||
%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
|
||||
%endif
|
||||
|
||||
%if 0%{?with_nine}
|
||||
%files libd3d
|
||||
%dir %{_libdir}/d3d/
|
||||
%{_libdir}/d3d/*.so.*
|
||||
|
||||
%files libd3d-devel
|
||||
%{_libdir}/pkgconfig/d3d.pc
|
||||
%{_includedir}/d3dadapter/
|
||||
%{_libdir}/d3d/*.so
|
||||
%endif
|
||||
|
||||
%files dri-drivers
|
||||
%{_datadir}/drirc.d/00-mesa-defaults.conf
|
||||
%{_libdir}/libgallium-*.so
|
||||
@ -729,8 +681,18 @@ popd
|
||||
%ifarch %{ix86} x86_64
|
||||
%{_libdir}/dri/crocus_dri.so
|
||||
%{_libdir}/dri/iris_dri.so
|
||||
%if 0%{?with_i915}
|
||||
%{_libdir}/dri/i915_dri.so
|
||||
%endif
|
||||
%endif
|
||||
%ifarch aarch64 x86_64 %{ix86}
|
||||
%if 0%{?with_asahi}
|
||||
%{_libdir}/dri/apple_dri.so
|
||||
%{_libdir}/dri/asahi_dri.so
|
||||
%endif
|
||||
%if 0%{?with_d3d12}
|
||||
%{_libdir}/dri/d3d12_dri.so
|
||||
%endif
|
||||
%{_libdir}/dri/ingenic-drm_dri.so
|
||||
%{_libdir}/dri/imx-drm_dri.so
|
||||
%{_libdir}/dri/imx-lcdif_dri.so
|
||||
@ -770,10 +732,6 @@ popd
|
||||
%{_libdir}/dri/vmwgfx_dri.so
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?with_opencl}
|
||||
%dir %{_libdir}/gallium-pipe
|
||||
%{_libdir}/gallium-pipe/*.so
|
||||
%endif
|
||||
%if 0%{?with_kmsro}
|
||||
%{_libdir}/dri/armada-drm_dri.so
|
||||
%{_libdir}/dri/exynos_dri.so
|
||||
@ -815,6 +773,9 @@ popd
|
||||
%if 0%{?with_radeonsi}
|
||||
%{_libdir}/dri/radeonsi_drv_video.so
|
||||
%endif
|
||||
%if 0%{?with_d3d12}
|
||||
%{_libdir}/dri/d3d12_drv_video.so
|
||||
%endif
|
||||
%{_libdir}/dri/virtio_gpu_drv_video.so
|
||||
%endif
|
||||
|
||||
@ -828,14 +789,34 @@ popd
|
||||
%if 0%{?with_radeonsi}
|
||||
%{_libdir}/vdpau/libvdpau_radeonsi.so.1*
|
||||
%endif
|
||||
%if 0%{?with_d3d12}
|
||||
%{_libdir}/vdpau/libvdpau_d3d12.so.1*
|
||||
%endif
|
||||
%{_libdir}/vdpau/libvdpau_virtio_gpu.so.1*
|
||||
%endif
|
||||
|
||||
%if 0%{?with_d3d12}
|
||||
%files dxil-devel
|
||||
%{_bindir}/spirv2dxil
|
||||
%{_libdir}/libspirv_to_dxil.a
|
||||
%{_libdir}/libspirv_to_dxil.so
|
||||
%endif
|
||||
|
||||
%files vulkan-drivers
|
||||
%if 0%{?with_nvk}
|
||||
%license LICENSE.dependencies
|
||||
%if 0%{?vendor_nvk_crates}
|
||||
%license cargo-vendor.txt
|
||||
%endif
|
||||
%endif
|
||||
%{_libdir}/libvulkan_lvp.so
|
||||
%{_datadir}/vulkan/icd.d/lvp_icd.*.json
|
||||
%{_libdir}/libVkLayer_MESA_device_select.so
|
||||
%{_datadir}/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json
|
||||
%if 0%{?with_virtio}
|
||||
%{_libdir}/libvulkan_virtio.so
|
||||
%{_datadir}/vulkan/icd.d/virtio_icd.*.json
|
||||
%endif
|
||||
%if 0%{?with_vulkan_hw}
|
||||
%{_libdir}/libvulkan_radeon.so
|
||||
%{_datadir}/drirc.d/00-radv-defaults.conf
|
||||
@ -844,6 +825,10 @@ popd
|
||||
%{_libdir}/libvulkan_nouveau.so
|
||||
%{_datadir}/vulkan/icd.d/nouveau_icd.*.json
|
||||
%endif
|
||||
%if 0%{?with_d3d12}
|
||||
%{_libdir}/libvulkan_dzn.so
|
||||
%{_datadir}/vulkan/icd.d/dzn_icd.*.json
|
||||
%endif
|
||||
%ifarch %{ix86} x86_64
|
||||
%{_libdir}/libvulkan_intel.so
|
||||
%{_datadir}/vulkan/icd.d/intel_icd.*.json
|
||||
@ -851,6 +836,10 @@ popd
|
||||
%{_datadir}/vulkan/icd.d/intel_hasvk_icd.*.json
|
||||
%endif
|
||||
%ifarch aarch64 x86_64 %{ix86}
|
||||
%if 0%{?with_asahi}
|
||||
%{_libdir}/libvulkan_asahi.so
|
||||
%{_datadir}/vulkan/icd.d/asahi_icd.*.json
|
||||
%endif
|
||||
%{_libdir}/libvulkan_broadcom.so
|
||||
%{_datadir}/vulkan/icd.d/broadcom_icd.*.json
|
||||
%{_libdir}/libvulkan_freedreno.so
|
||||
|
||||
8
sources
8
sources
@ -1,8 +1,10 @@
|
||||
SHA512 (libclc-20.1.3.src.tar.xz) = ab6fb0dd0250ab9087b84cf6ec253473cdbcf473e24b626509f1aca1893718608ba31902fa6925ec99f64b1b06d60d49fecb2138c72c8aec433c124c57efad57
|
||||
SHA512 (mesa-25.0.7.tar.xz) = 825bbd8bc5507de147488519786c0200afacf97dae621c80ead24b2c5dd55c5a442757ac8452698ae611e9344025465080795cf8f2dc4eb7ce07b5cc521b2b5c
|
||||
SHA512 (mesa-25.2.5.tar.xz) = 29e61b5ecb467a706e3279c0e79ddd8d55109c08f7856d35c4042f518a70622fb19cdd208a82317654e0396835cb3117b756a96d9a0693bfa33730a50bbbd1d0
|
||||
SHA512 (meson-1.7.0.tar.gz) = a5d1f00b193ca37ae64f85c9dfc29a2661c167d82d9953b9acd1393b222b05fa5fc03ffdf00fd1ae7a2014da3a7366c35f70bf02e3204e929b74f7b00c17c840
|
||||
SHA512 (paste-1.0.15.tar.gz) = 5026d3ec7141ec4e2517a0b1283912d0801e9356f77b703d954b379439b8d85e3886d42fb28f7835edaeeac465582da14233564fb010c71425a59c9e1cbd46b4
|
||||
SHA512 (proc-macro2-1.0.97.tar.gz) = 6dbb60c29d252f276b1b0fadb707ff0e36fbb5f2a460630b461c9e3fa9d37aa7782cadf773039ec0d5653033b54c9f7cfcfaf3b9f802e882977e0d221e016927
|
||||
SHA512 (proc-macro2-1.0.101.tar.gz) = 3171c807d24371da2931f9c706fb3129bb9bf3ac40418e5d14cfc372baf96e5fee9ede72091163858e3ba0b4f88594efa1031b0bb7128ca68e7b847dead6856c
|
||||
SHA512 (quote-1.0.40.tar.gz) = 45a76e22a2b0bec47e4ba73c3b73cc41d821dfcce9876134c5d8eed514da214aee4ce7612e372c8709f888c0d8b9b7e5442f27adb7a59f3571f0339ed7e2ac99
|
||||
SHA512 (rustc-hash-2.1.1.tar.gz) = 87097d98d47f327d000041ab13acddc366f1500d9c3e5c82169c3358112c7a7c03701c9b3c2c81d9f9da65b7ebac1c479b179dfaf7c059cd0b929b4673e51084
|
||||
SHA512 (spirv-llvm-translator-834db1a.tar.gz) = 4fb522087728a76204d1db9fb782afbe9475e57135d56d4b694d111aa1092febebd829fe42007d2e15e2c9bd1222bab6c48e89181fc5bdae7f3628fdf7ad74ac
|
||||
SHA512 (syn-2.0.104.tar.gz) = da532fa362266161b5604c821c913f8f990eb32c18e18c0a360b7147b9f71ae008e208f377cb203e85818bd5db926951122a971fa97563a10678f0ba4671e64f
|
||||
SHA512 (syn-2.0.106.tar.gz) = e07e1058770fa3f1039eaf335340cefb597c0dd11bb90fec9fa777ca5815d0e0bb1711bb4db52cac77e205dd68fbe2bce0e1aa9895c2a52a1ea6d7758d13424c
|
||||
SHA512 (unicode-ident-1.0.18.tar.gz) = d11f89fb696f9e2953c96a40b5478832651b268c83b9c7a700b07e768e795d6e8dc346597d1226df21219d36866768d1f640bd8edb68db8bd3d5d437b2bfd324
|
||||
|
||||
17
wayland-display-hacks.patch
Normal file
17
wayland-display-hacks.patch
Normal file
@ -0,0 +1,17 @@
|
||||
diff -up mesa-25.1.9/src/vulkan/device-select-layer/device_select_layer.c.dma mesa-25.1.9/src/vulkan/device-select-layer/device_select_layer.c
|
||||
--- mesa-25.1.9/src/vulkan/device-select-layer/device_select_layer.c.dma 2025-10-22 05:56:08.362350907 +1000
|
||||
+++ mesa-25.1.9/src/vulkan/device-select-layer/device_select_layer.c 2025-10-22 05:56:25.724490868 +1000
|
||||
@@ -152,11 +152,11 @@ static VkResult device_select_CreateInst
|
||||
for (unsigned i = 0; i < pCreateInfo->enabledExtensionCount; i++) {
|
||||
#ifdef VK_USE_PLATFORM_WAYLAND_KHR
|
||||
if (!strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME) && has_wayland)
|
||||
- info->has_wayland = true;
|
||||
+ info->has_wayland = !info->zink;
|
||||
#endif
|
||||
#ifdef VK_USE_PLATFORM_XCB_KHR
|
||||
if (!strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_KHR_XCB_SURFACE_EXTENSION_NAME) && has_xcb)
|
||||
- info->has_xcb = !info->xserver || !info->zink;
|
||||
+ info->has_xcb = !info->xserver && !info->zink;
|
||||
#endif
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user