Compare commits
No commits in common. "c8" and "c10s" have entirely different histories.
13
.gitignore
vendored
13
.gitignore
vendored
@ -1,3 +1,10 @@
|
|||||||
SOURCES/dataclasses-0.8.tar.gz
|
*.jx
|
||||||
SOURCES/mesa-23.1.4.tar.xz
|
*.src.rpm
|
||||||
SOURCES/meson-0.61.4.tar.gz
|
.build*
|
||||||
|
/mesa-*.tar.bz2
|
||||||
|
/mesa-*.tar.xz
|
||||||
|
x86_64/
|
||||||
|
results_mesa/
|
||||||
|
mesa-*/
|
||||||
|
/libclc-*.tar.xz
|
||||||
|
/spirv-llvm-translator-*.tar.gz
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
ef25d3e9e2523805baa314a4adcb915ae901740e SOURCES/dataclasses-0.8.tar.gz
|
|
||||||
8a48c0e1fbda2c9563ddcf95b05012ab00a8a692 SOURCES/mesa-23.1.4.tar.xz
|
|
||||||
b0ab169abd8ec87ce773a02b2c7d6a8664b8db00 SOURCES/meson-0.61.4.tar.gz
|
|
@ -1,127 +0,0 @@
|
|||||||
From 2d4fe5f229791fde52846b3f583c12508b5109d6 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Dave Airlie <airlied@redhat.com>
|
|
||||||
Date: Fri, 25 Aug 2023 12:43:44 +1000
|
|
||||||
Subject: [PATCH] clover/llvm: move to modern pass manager.
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
This seems like it should work, but I haven't tested it yet.
|
|
||||||
|
|
||||||
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
|
|
||||||
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24879>
|
|
||||||
---
|
|
||||||
.../frontends/clover/llvm/invocation.cpp | 64 +++++++++++++++----
|
|
||||||
1 file changed, 51 insertions(+), 13 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/gallium/frontends/clover/llvm/invocation.cpp b/src/gallium/frontends/clover/llvm/invocation.cpp
|
|
||||||
index 7a50fea3323..43d26fe1abb 100644
|
|
||||||
--- a/src/gallium/frontends/clover/llvm/invocation.cpp
|
|
||||||
+++ b/src/gallium/frontends/clover/llvm/invocation.cpp
|
|
||||||
@@ -27,13 +27,17 @@
|
|
||||||
#include <llvm/IR/DiagnosticPrinter.h>
|
|
||||||
#include <llvm/IR/DiagnosticInfo.h>
|
|
||||||
#include <llvm/IR/LLVMContext.h>
|
|
||||||
+#include <llvm/IR/Module.h>
|
|
||||||
#include <llvm/Support/raw_ostream.h>
|
|
||||||
-#include <llvm/Transforms/IPO/PassManagerBuilder.h>
|
|
||||||
+#include <llvm/Transforms/IPO/Internalize.h>
|
|
||||||
#include <llvm-c/Target.h>
|
|
||||||
#ifdef HAVE_CLOVER_SPIRV
|
|
||||||
#include <LLVMSPIRVLib/LLVMSPIRVLib.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#include <llvm-c/TargetMachine.h>
|
|
||||||
+#include <llvm-c/Transforms/PassBuilder.h>
|
|
||||||
+#include <llvm/Support/CBindingWrapping.h>
|
|
||||||
#include <clang/CodeGen/CodeGenAction.h>
|
|
||||||
#include <clang/Lex/PreprocessorOptions.h>
|
|
||||||
#include <clang/Frontend/TextDiagnosticBuffer.h>
|
|
||||||
@@ -439,10 +443,10 @@ clover::llvm::compile_program(const std::string &source,
|
|
||||||
|
|
||||||
namespace {
|
|
||||||
void
|
|
||||||
- optimize(Module &mod, unsigned optimization_level,
|
|
||||||
+ optimize(Module &mod,
|
|
||||||
+ const std::string& ir_target,
|
|
||||||
+ unsigned optimization_level,
|
|
||||||
bool internalize_symbols) {
|
|
||||||
- ::llvm::legacy::PassManager pm;
|
|
||||||
-
|
|
||||||
// By default, the function internalizer pass will look for a function
|
|
||||||
// called "main" and then mark all other functions as internal. Marking
|
|
||||||
// functions as internal enables the optimizer to perform optimizations
|
|
||||||
@@ -458,19 +462,53 @@ namespace {
|
|
||||||
if (internalize_symbols) {
|
|
||||||
std::vector<std::string> names =
|
|
||||||
map(std::mem_fn(&Function::getName), get_kernels(mod));
|
|
||||||
- pm.add(::llvm::createInternalizePass(
|
|
||||||
+ internalizeModule(mod,
|
|
||||||
[=](const ::llvm::GlobalValue &gv) {
|
|
||||||
return std::find(names.begin(), names.end(),
|
|
||||||
gv.getName()) != names.end();
|
|
||||||
- }));
|
|
||||||
+ });
|
|
||||||
}
|
|
||||||
|
|
||||||
- ::llvm::PassManagerBuilder pmb;
|
|
||||||
- pmb.OptLevel = optimization_level;
|
|
||||||
- pmb.LibraryInfo = new ::llvm::TargetLibraryInfoImpl(
|
|
||||||
- ::llvm::Triple(mod.getTargetTriple()));
|
|
||||||
- pmb.populateModulePassManager(pm);
|
|
||||||
- pm.run(mod);
|
|
||||||
+
|
|
||||||
+ const char *opt_str = NULL;
|
|
||||||
+ LLVMCodeGenOptLevel level;
|
|
||||||
+ switch (optimization_level) {
|
|
||||||
+ case 0:
|
|
||||||
+ default:
|
|
||||||
+ opt_str = "default<O0>";
|
|
||||||
+ level = LLVMCodeGenLevelNone;
|
|
||||||
+ break;
|
|
||||||
+ case 1:
|
|
||||||
+ opt_str = "default<O1>";
|
|
||||||
+ level = LLVMCodeGenLevelLess;
|
|
||||||
+ break;
|
|
||||||
+ case 2:
|
|
||||||
+ opt_str = "default<O2>";
|
|
||||||
+ level = LLVMCodeGenLevelDefault;
|
|
||||||
+ break;
|
|
||||||
+ case 3:
|
|
||||||
+ opt_str = "default<O3>";
|
|
||||||
+ level = LLVMCodeGenLevelAggressive;
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ const target &target = ir_target;
|
|
||||||
+ LLVMTargetRef targ;
|
|
||||||
+ char *err_message;
|
|
||||||
+
|
|
||||||
+ if (LLVMGetTargetFromTriple(target.triple.c_str(), &targ, &err_message))
|
|
||||||
+ return;
|
|
||||||
+ LLVMTargetMachineRef tm =
|
|
||||||
+ LLVMCreateTargetMachine(targ, target.triple.c_str(),
|
|
||||||
+ target.cpu.c_str(), "", level,
|
|
||||||
+ LLVMRelocDefault, LLVMCodeModelDefault);
|
|
||||||
+
|
|
||||||
+ if (!tm)
|
|
||||||
+ return;
|
|
||||||
+ LLVMPassBuilderOptionsRef opts = LLVMCreatePassBuilderOptions();
|
|
||||||
+ LLVMRunPasses(wrap(&mod), opt_str, tm, opts);
|
|
||||||
+
|
|
||||||
+ LLVMDisposeTargetMachine(tm);
|
|
||||||
}
|
|
||||||
|
|
||||||
std::unique_ptr<Module>
|
|
||||||
@@ -500,7 +538,7 @@ clover::llvm::link_program(const std::vector<binary> &binaries,
|
|
||||||
auto c = create_compiler_instance(dev, dev.ir_target(), options, r_log);
|
|
||||||
auto mod = link(*ctx, *c, binaries, r_log);
|
|
||||||
|
|
||||||
- optimize(*mod, c->getCodeGenOpts().OptimizationLevel, !create_library);
|
|
||||||
+ optimize(*mod, dev.ir_target(), c->getCodeGenOpts().OptimizationLevel, !create_library);
|
|
||||||
|
|
||||||
static std::atomic_uint seq(0);
|
|
||||||
const std::string id = "." + mod->getModuleIdentifier() + "-" +
|
|
||||||
--
|
|
||||||
2.42.0
|
|
||||||
|
|
@ -1,41 +0,0 @@
|
|||||||
From 9ba416cdc67073cdda9a73fe9d37304b82bdd526 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
|
|
||||||
Date: Fri, 12 May 2023 09:58:26 +0200
|
|
||||||
Subject: [PATCH] llvmpipe: only include old Transform includes when needed
|
|
||||||
|
|
||||||
This fixes building with recent LLVM where these 2 .h files
|
|
||||||
were removed.
|
|
||||||
|
|
||||||
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8671
|
|
||||||
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
|
|
||||||
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22980>
|
|
||||||
---
|
|
||||||
src/gallium/auxiliary/gallivm/lp_bld_init.c | 8 ++++----
|
|
||||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c
|
|
||||||
index 24d082398e9..9e0d6a5f643 100644
|
|
||||||
--- a/src/gallium/auxiliary/gallivm/lp_bld_init.c
|
|
||||||
+++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c
|
|
||||||
@@ -42,14 +42,14 @@
|
|
||||||
|
|
||||||
#include <llvm/Config/llvm-config.h>
|
|
||||||
#include <llvm-c/Analysis.h>
|
|
||||||
-#include <llvm-c/Transforms/Scalar.h>
|
|
||||||
-#if LLVM_VERSION_MAJOR >= 7
|
|
||||||
-#include <llvm-c/Transforms/Utils.h>
|
|
||||||
-#endif
|
|
||||||
#include <llvm-c/BitWriter.h>
|
|
||||||
#if GALLIVM_USE_NEW_PASS == 1
|
|
||||||
#include <llvm-c/Transforms/PassBuilder.h>
|
|
||||||
#elif GALLIVM_HAVE_CORO == 1
|
|
||||||
+#include <llvm-c/Transforms/Scalar.h>
|
|
||||||
+#if LLVM_VERSION_MAJOR >= 7
|
|
||||||
+#include <llvm-c/Transforms/Utils.h>
|
|
||||||
+#endif
|
|
||||||
#if LLVM_VERSION_MAJOR <= 8 && (DETECT_ARCH_AARCH64 || DETECT_ARCH_ARM || DETECT_ARCH_S390 || DETECT_ARCH_MIPS64)
|
|
||||||
#include <llvm-c/Transforms/IPO.h>
|
|
||||||
#endif
|
|
||||||
--
|
|
||||||
2.42.0
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
|||||||
From 460d2c46a903fed295a1528c8b6273dd6b0e0d19 Mon Sep 17 00:00:00 2001
|
|
||||||
From: thfrwn <11335318+rfht@users.noreply.github.com>
|
|
||||||
Date: Fri, 9 Feb 2024 17:00:55 -0500
|
|
||||||
Subject: [PATCH] mesa: fix off-by-one for newblock allocation in dlist_alloc
|
|
||||||
|
|
||||||
Cc: mesa-stable
|
|
||||||
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
|
|
||||||
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27556>
|
|
||||||
---
|
|
||||||
src/mesa/main/dlist.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c
|
|
||||||
index b0184a24e20..9213641699a 100644
|
|
||||||
--- a/src/mesa/main/dlist.c
|
|
||||||
+++ b/src/mesa/main/dlist.c
|
|
||||||
@@ -1220,7 +1220,7 @@ dlist_alloc(struct gl_context *ctx, OpCode opcode, GLuint bytes, bool align8)
|
|
||||||
ctx->ListState.CurrentPos++;
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (ctx->ListState.CurrentPos + numNodes + contNodes > BLOCK_SIZE) {
|
|
||||||
+ if (ctx->ListState.CurrentPos + numNodes + contNodes >= BLOCK_SIZE) {
|
|
||||||
/* This block is full. Allocate a new block and chain to it */
|
|
||||||
Node *newblock;
|
|
||||||
Node *n = ctx->ListState.CurrentBlock + ctx->ListState.CurrentPos;
|
|
||||||
--
|
|
||||||
2.45.2
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
|||||||
VERSION ?= 23.1.4
|
|
||||||
SANITIZE ?= 1
|
|
||||||
|
|
||||||
DIRNAME = mesa-${VERSION}
|
|
||||||
|
|
||||||
all: archive
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -rf $(DIRNAME)/
|
|
||||||
rm -f mesa-${VERSION}.tar.xz
|
|
||||||
|
|
||||||
clone: clean
|
|
||||||
curl -O https://archive.mesa3d.org/mesa-${VERSION}.tar.xz
|
|
||||||
tar xf mesa-${VERSION}.tar.xz
|
|
||||||
|
|
||||||
sanitize: clone vl_mpeg12_decoder.c vl_decoder.c
|
|
||||||
ifdef SANITIZE
|
|
||||||
cat < vl_mpeg12_decoder.c > $(DIRNAME)/src/gallium/auxiliary/vl/vl_mpeg12_decoder.c
|
|
||||||
cat < vl_decoder.c > $(DIRNAME)/src/gallium/auxiliary/vl/vl_decoder.c
|
|
||||||
endif
|
|
||||||
|
|
||||||
archive: clone sanitize
|
|
||||||
tar caf ${DIRNAME}.tar.xz ${DIRNAME}
|
|
@ -1,12 +0,0 @@
|
|||||||
diff -up mesa-23.1.4/meson.build.dma mesa-23.1.4/meson.build
|
|
||||||
--- mesa-23.1.4/meson.build.dma 2023-07-28 10:15:41.807945483 +1000
|
|
||||||
+++ mesa-23.1.4/meson.build 2023-07-28 10:15:46.465030794 +1000
|
|
||||||
@@ -835,7 +835,7 @@ if get_option('allow-kcmp') \
|
|
||||||
pre_args += '-DALLOW_KCMP'
|
|
||||||
endif
|
|
||||||
|
|
||||||
-prog_python = import('python').find_installation('python3')
|
|
||||||
+prog_python = import('python').find_installation('python3.6')
|
|
||||||
has_mako = run_command(
|
|
||||||
prog_python, '-c',
|
|
||||||
'''
|
|
@ -1,13 +0,0 @@
|
|||||||
diff -up mesa-21.3.0/src/gallium/frontends/lavapipe/lvp_device.cdma mesa-21.3.0/src/gallium/frontends/lavapipe/lvp_device.c
|
|
||||||
--- mesa-21.3.0/src/gallium/frontends/lavapipe/lvp_device.cdma 2021-11-18 06:16:20.000000000 +1000
|
|
||||||
+++ mesa-21.3.0/src/gallium/frontends/lavapipe/lvp_device.c 2021-11-18 07:03:17.652283186 +1000
|
|
||||||
@@ -213,6 +213,9 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_Creat
|
|
||||||
if (pAllocator == NULL)
|
|
||||||
pAllocator = vk_default_allocator();
|
|
||||||
|
|
||||||
+ if (!getenv("RH_SW_VULKAN"))
|
|
||||||
+ return VK_ERROR_INITIALIZATION_FAILED;
|
|
||||||
+
|
|
||||||
instance = vk_zalloc(pAllocator, sizeof(*instance), 8,
|
|
||||||
VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
|
|
||||||
if (!instance)
|
|
@ -1,11 +0,0 @@
|
|||||||
diff -up mesa-22.3.3/src/gallium/drivers/radeonsi/driinfo_radeonsi.h.dma mesa-22.3.3/src/gallium/drivers/radeonsi/driinfo_radeonsi.h
|
|
||||||
--- mesa-22.3.3/src/gallium/drivers/radeonsi/driinfo_radeonsi.h.dma 2023-01-25 06:17:54.993167334 +1000
|
|
||||||
+++ mesa-22.3.3/src/gallium/drivers/radeonsi/driinfo_radeonsi.h 2023-01-25 06:17:57.363203425 +1000
|
|
||||||
@@ -1,7 +1,6 @@
|
|
||||||
// DriConf options specific to radeonsi
|
|
||||||
DRI_CONF_SECTION_PERFORMANCE
|
|
||||||
DRI_CONF_ADAPTIVE_SYNC(true)
|
|
||||||
-DRI_CONF_MESA_GLTHREAD(true)
|
|
||||||
DRI_CONF_SECTION_END
|
|
||||||
|
|
||||||
DRI_CONF_SECTION_DEBUG
|
|
@ -1,20 +0,0 @@
|
|||||||
#include "vl_decoder.h"
|
|
||||||
bool
|
|
||||||
vl_profile_supported(struct pipe_screen *screen, enum pipe_video_profile profile,
|
|
||||||
enum pipe_video_entrypoint entrypoint)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
vl_level_supported(struct pipe_screen *screen, enum pipe_video_profile profile)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
struct pipe_video_codec *
|
|
||||||
vl_create_decoder(struct pipe_context *pipe,
|
|
||||||
const struct pipe_video_codec *templat)
|
|
||||||
{
|
|
||||||
return NULL;
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
#include "vl_mpeg12_decoder.h"
|
|
||||||
struct pipe_video_codec *
|
|
||||||
vl_create_mpeg12_decoder(struct pipe_context *context,
|
|
||||||
const struct pipe_video_codec *templat)
|
|
||||||
{
|
|
||||||
return NULL;
|
|
||||||
}
|
|
1430
SPECS/mesa.spec
1430
SPECS/mesa.spec
File diff suppressed because it is too large
Load Diff
6
gating.yaml
Normal file
6
gating.yaml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- rhel-10
|
||||||
|
decision_context: osci_compose_gate
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: desktop-qe.desktop-ci.tier1-gating.functional}
|
798
mesa.spec
Normal file
798
mesa.spec
Normal file
@ -0,0 +1,798 @@
|
|||||||
|
%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
|
||||||
|
%if 0%{?with_vulkan_hw}
|
||||||
|
%global with_nvk %{with_vulkan_hw}
|
||||||
|
%endif
|
||||||
|
%global with_opencl 1
|
||||||
|
%endif
|
||||||
|
%global base_vulkan %{?with_vulkan_hw:,amd}%{!?with_vulkan_hw:%{nil}}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%ifnarch %{ix86}
|
||||||
|
%if !0%{?rhel}
|
||||||
|
%global with_teflon 1
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%ifarch %{ix86} x86_64
|
||||||
|
%global with_iris 1
|
||||||
|
%global with_crocus 1
|
||||||
|
%global with_xa 1
|
||||||
|
%global with_intel_clc 1
|
||||||
|
%global intel_platform_vulkan %{?with_vulkan_hw:,intel,intel_hasvk}%{!?with_vulkan_hw:%{nil}}
|
||||||
|
%endif
|
||||||
|
%ifarch x86_64
|
||||||
|
%if !0%{?with_vulkan_hw}
|
||||||
|
%global with_intel_vk_rt 1
|
||||||
|
%endif
|
||||||
|
%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_freedreno 1
|
||||||
|
%global with_kmsro 1
|
||||||
|
%global with_panfrost 1
|
||||||
|
%global with_xa 1
|
||||||
|
%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
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%ifarch %{valgrind_arches}
|
||||||
|
%bcond_without valgrind
|
||||||
|
%else
|
||||||
|
%bcond_with valgrind
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%global vulkan_drivers swrast%{?base_vulkan}%{?intel_platform_vulkan}%{?extra_platform_vulkan}%{?with_nvk:,nouveau}
|
||||||
|
|
||||||
|
Name: mesa
|
||||||
|
Summary: Mesa graphics libraries
|
||||||
|
%global ver 24.2.8
|
||||||
|
Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)}
|
||||||
|
Release: %autorelease
|
||||||
|
License: MIT AND BSD-3-Clause AND SGI-B-2.0
|
||||||
|
URL: http://www.mesa3d.org
|
||||||
|
|
||||||
|
Source0: https://archive.mesa3d.org/mesa-%{ver}.tar.xz
|
||||||
|
# src/gallium/auxiliary/postprocess/pp_mlaa* have an ... interestingly worded license.
|
||||||
|
# Source1 contains email correspondence clarifying the license terms.
|
||||||
|
# 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 but it is required for Intel drivers since
|
||||||
|
# mesa >= 24.1.0
|
||||||
|
%global libclc_version 19.1.1
|
||||||
|
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 19.1.1
|
||||||
|
%global spirv_llvm_trans_commit 90a976491d3847657396456e0e94d7dc48d35996
|
||||||
|
%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
|
||||||
|
BuildRequires: gcc
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
BuildRequires: gettext
|
||||||
|
%if 0%{?with_hardware}
|
||||||
|
BuildRequires: kernel-headers
|
||||||
|
%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:
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1859515
|
||||||
|
BuildRequires: pkgconfig(libdrm) >= 2.4.121
|
||||||
|
%if 0%{?with_libunwind}
|
||||||
|
BuildRequires: pkgconfig(libunwind)
|
||||||
|
%endif
|
||||||
|
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
|
||||||
|
BuildRequires: pkgconfig(wayland-server) >= 1.11
|
||||||
|
BuildRequires: pkgconfig(wayland-egl-backend) >= 3
|
||||||
|
BuildRequires: pkgconfig(x11)
|
||||||
|
BuildRequires: pkgconfig(xext)
|
||||||
|
BuildRequires: pkgconfig(xdamage) >= 1.1
|
||||||
|
BuildRequires: pkgconfig(xfixes)
|
||||||
|
BuildRequires: pkgconfig(xcb-glx) >= 1.8.1
|
||||||
|
BuildRequires: pkgconfig(xxf86vm)
|
||||||
|
BuildRequires: pkgconfig(xcb)
|
||||||
|
BuildRequires: pkgconfig(x11-xcb)
|
||||||
|
BuildRequires: pkgconfig(xcb-dri2) >= 1.8
|
||||||
|
BuildRequires: pkgconfig(xcb-dri3)
|
||||||
|
BuildRequires: pkgconfig(xcb-present)
|
||||||
|
BuildRequires: pkgconfig(xcb-sync)
|
||||||
|
BuildRequires: pkgconfig(xshmfence) >= 1.1
|
||||||
|
BuildRequires: pkgconfig(dri2proto) >= 2.8
|
||||||
|
BuildRequires: pkgconfig(glproto) >= 1.4.14
|
||||||
|
BuildRequires: pkgconfig(xcb-xfixes)
|
||||||
|
BuildRequires: pkgconfig(xcb-randr)
|
||||||
|
BuildRequires: pkgconfig(xrandr) >= 1.3
|
||||||
|
BuildRequires: bison
|
||||||
|
BuildRequires: flex
|
||||||
|
%if 0%{?with_lmsensors}
|
||||||
|
BuildRequires: lm_sensors-devel
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_vdpau}
|
||||||
|
BuildRequires: pkgconfig(vdpau) >= 1.1
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_va}
|
||||||
|
BuildRequires: pkgconfig(libva) >= 0.38.0
|
||||||
|
%endif
|
||||||
|
BuildRequires: pkgconfig(libelf)
|
||||||
|
BuildRequires: pkgconfig(libglvnd) >= 1.3.2
|
||||||
|
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
|
||||||
|
%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)
|
||||||
|
%endif
|
||||||
|
%if %{with valgrind}
|
||||||
|
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
|
||||||
|
BuildRequires: glslang
|
||||||
|
%if 0%{?with_vulkan_hw}
|
||||||
|
BuildRequires: pkgconfig(vulkan)
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description
|
||||||
|
%{summary}.
|
||||||
|
|
||||||
|
%package filesystem
|
||||||
|
Summary: Mesa driver filesystem
|
||||||
|
Provides: mesa-dri-filesystem = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
Obsoletes: mesa-omx-drivers < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
|
||||||
|
%description filesystem
|
||||||
|
%{summary}.
|
||||||
|
|
||||||
|
%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}
|
||||||
|
|
||||||
|
%description libGL
|
||||||
|
%{summary}.
|
||||||
|
|
||||||
|
%package libGL-devel
|
||||||
|
Summary: Mesa libGL development package
|
||||||
|
Requires: %{name}-libGL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
Requires: libglvnd-devel%{?_isa} >= 1:1.3.2
|
||||||
|
Provides: libGL-devel
|
||||||
|
Provides: libGL-devel%{?_isa}
|
||||||
|
Recommends: gl-manpages
|
||||||
|
|
||||||
|
%description libGL-devel
|
||||||
|
%{summary}.
|
||||||
|
|
||||||
|
%package libEGL
|
||||||
|
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}
|
||||||
|
|
||||||
|
%description libEGL
|
||||||
|
%{summary}.
|
||||||
|
|
||||||
|
%package libEGL-devel
|
||||||
|
Summary: Mesa libEGL development package
|
||||||
|
Requires: %{name}-libEGL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
Requires: libglvnd-devel%{?_isa} >= 1:1.3.2
|
||||||
|
Requires: %{name}-khr-devel%{?_isa}
|
||||||
|
Provides: libEGL-devel
|
||||||
|
Provides: libEGL-devel%{?_isa}
|
||||||
|
|
||||||
|
%description libEGL-devel
|
||||||
|
%{summary}.
|
||||||
|
|
||||||
|
%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
|
||||||
|
|
||||||
|
%description dri-drivers
|
||||||
|
%{summary}.
|
||||||
|
|
||||||
|
%if 0%{?with_va}
|
||||||
|
%package va-drivers
|
||||||
|
Summary: Mesa-based VA-API video acceleration drivers
|
||||||
|
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
Obsoletes: %{name}-vaapi-drivers < 22.2.0-5
|
||||||
|
|
||||||
|
%description va-drivers
|
||||||
|
%{summary}.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?with_vdpau}
|
||||||
|
%package vdpau-drivers
|
||||||
|
Summary: Mesa-based VDPAU drivers
|
||||||
|
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
|
||||||
|
%description vdpau-drivers
|
||||||
|
%{summary}.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%package libOSMesa
|
||||||
|
Summary: Mesa offscreen rendering libraries
|
||||||
|
Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
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
|
||||||
|
Provides: libgbm%{?_isa}
|
||||||
|
Recommends: %{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
# 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-libgbm and 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 libgbm
|
||||||
|
%{summary}.
|
||||||
|
|
||||||
|
%package libgbm-devel
|
||||||
|
Summary: Mesa libgbm development package
|
||||||
|
Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
Provides: libgbm-devel
|
||||||
|
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
|
||||||
|
|
||||||
|
%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: libclc%{?_isa}
|
||||||
|
Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
Requires: opencl-filesystem
|
||||||
|
|
||||||
|
%description libOpenCL
|
||||||
|
%{summary}.
|
||||||
|
|
||||||
|
%package libOpenCL-devel
|
||||||
|
Summary: Mesa OpenCL development package
|
||||||
|
Requires: %{name}-libOpenCL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
|
||||||
|
%description libOpenCL-devel
|
||||||
|
%{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
|
||||||
|
|
||||||
|
%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}.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%package vulkan-drivers
|
||||||
|
Summary: Mesa Vulkan drivers
|
||||||
|
Requires: vulkan%{_isa}
|
||||||
|
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
Obsoletes: mesa-vulkan-devel < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
|
||||||
|
%description vulkan-drivers
|
||||||
|
The drivers with support for the Vulkan API.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%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"
|
||||||
|
|
||||||
|
%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
|
||||||
|
%rewrite_wrap_file paste
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
# Disable LTO for now
|
||||||
|
%define _lto_cflags %{nil}
|
||||||
|
|
||||||
|
%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} \
|
||||||
|
%else
|
||||||
|
-Dgallium-drivers=swrast,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} \
|
||||||
|
-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 \
|
||||||
|
-Dgbm=enabled \
|
||||||
|
-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
|
||||||
|
%if !0%{?with_lmsensors}
|
||||||
|
-Dlmsensors=disabled \
|
||||||
|
%endif
|
||||||
|
-Dandroid-libbacktrace=disabled \
|
||||||
|
%ifarch %{ix86}
|
||||||
|
-Dglx-read-only-text=true \
|
||||||
|
%endif
|
||||||
|
%{nil}
|
||||||
|
%meson_build
|
||||||
|
|
||||||
|
%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
|
||||||
|
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*
|
||||||
|
|
||||||
|
# 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
|
||||||
|
eu-findtextrel $i && exit 1
|
||||||
|
done
|
||||||
|
popd
|
||||||
|
|
||||||
|
%files filesystem
|
||||||
|
%doc docs/Mesa-MLAA-License-Clarification-Email.txt
|
||||||
|
%dir %{_libdir}/dri
|
||||||
|
%dir %{_datadir}/drirc.d
|
||||||
|
|
||||||
|
%files libGL
|
||||||
|
%{_libdir}/libGLX_mesa.so.0*
|
||||||
|
%{_libdir}/libGLX_system.so.0*
|
||||||
|
%files libGL-devel
|
||||||
|
%dir %{_includedir}/GL
|
||||||
|
%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
|
||||||
|
%{_libdir}/libEGL_mesa.so.0*
|
||||||
|
%files libEGL-devel
|
||||||
|
%dir %{_includedir}/EGL
|
||||||
|
%{_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
|
||||||
|
%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
|
||||||
|
%{_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
|
||||||
|
%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
|
||||||
|
%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
|
||||||
|
%{_libdir}/dri/kms_swrast_dri.so
|
||||||
|
%{_libdir}/dri/libdril_dri.so
|
||||||
|
%{_libdir}/dri/swrast_dri.so
|
||||||
|
%{_libdir}/dri/virtio_gpu_dri.so
|
||||||
|
|
||||||
|
%if 0%{?with_hardware}
|
||||||
|
%if 0%{?with_r300}
|
||||||
|
%{_libdir}/dri/r300_dri.so
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_radeonsi}
|
||||||
|
%if 0%{?with_r600}
|
||||||
|
%{_libdir}/dri/r600_dri.so
|
||||||
|
%endif
|
||||||
|
%{_libdir}/dri/radeonsi_dri.so
|
||||||
|
%endif
|
||||||
|
%ifarch %{ix86} x86_64
|
||||||
|
%{_libdir}/dri/crocus_dri.so
|
||||||
|
%{_libdir}/dri/iris_dri.so
|
||||||
|
%endif
|
||||||
|
%ifarch aarch64 x86_64 %{ix86}
|
||||||
|
%{_libdir}/dri/ingenic-drm_dri.so
|
||||||
|
%{_libdir}/dri/imx-drm_dri.so
|
||||||
|
%{_libdir}/dri/imx-lcdif_dri.so
|
||||||
|
%{_libdir}/dri/kirin_dri.so
|
||||||
|
%{_libdir}/dri/komeda_dri.so
|
||||||
|
%{_libdir}/dri/mali-dp_dri.so
|
||||||
|
%{_libdir}/dri/mcde_dri.so
|
||||||
|
%{_libdir}/dri/mxsfb-drm_dri.so
|
||||||
|
%{_libdir}/dri/rcar-du_dri.so
|
||||||
|
%{_libdir}/dri/stm_dri.so
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_vc4}
|
||||||
|
%{_libdir}/dri/vc4_dri.so
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_v3d}
|
||||||
|
%{_libdir}/dri/v3d_dri.so
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_freedreno}
|
||||||
|
%{_libdir}/dri/kgsl_dri.so
|
||||||
|
%{_libdir}/dri/msm_dri.so
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_etnaviv}
|
||||||
|
%{_libdir}/dri/etnaviv_dri.so
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_tegra}
|
||||||
|
%{_libdir}/dri/tegra_dri.so
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_lima}
|
||||||
|
%{_libdir}/dri/lima_dri.so
|
||||||
|
%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}
|
||||||
|
%{_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
|
||||||
|
%{_libdir}/dri/gm12u320_dri.so
|
||||||
|
%{_libdir}/dri/hdlcd_dri.so
|
||||||
|
%{_libdir}/dri/hx8357d_dri.so
|
||||||
|
%{_libdir}/dri/ili9163_dri.so
|
||||||
|
%{_libdir}/dri/ili9225_dri.so
|
||||||
|
%{_libdir}/dri/ili9341_dri.so
|
||||||
|
%{_libdir}/dri/ili9486_dri.so
|
||||||
|
%{_libdir}/dri/imx-dcss_dri.so
|
||||||
|
%{_libdir}/dri/mediatek_dri.so
|
||||||
|
%{_libdir}/dri/meson_dri.so
|
||||||
|
%{_libdir}/dri/mi0283qt_dri.so
|
||||||
|
%{_libdir}/dri/panel-mipi-dbi_dri.so
|
||||||
|
%{_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/vkms_dri.so
|
||||||
|
%{_libdir}/dri/zynqmp-dpsub_dri.so
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_vulkan_hw}
|
||||||
|
%{_libdir}/dri/zink_dri.so
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?with_va}
|
||||||
|
%files va-drivers
|
||||||
|
%{_libdir}/dri/nouveau_drv_video.so
|
||||||
|
%if 0%{?with_r600}
|
||||||
|
%{_libdir}/dri/r600_drv_video.so
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_radeonsi}
|
||||||
|
%{_libdir}/dri/radeonsi_drv_video.so
|
||||||
|
%endif
|
||||||
|
%{_libdir}/dri/virtio_gpu_drv_video.so
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?with_vdpau}
|
||||||
|
%files vdpau-drivers
|
||||||
|
%dir %{_libdir}/vdpau
|
||||||
|
%{_libdir}/vdpau/libvdpau_nouveau.so.1*
|
||||||
|
%if 0%{?with_r600}
|
||||||
|
%{_libdir}/vdpau/libvdpau_r600.so.1*
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_radeonsi}
|
||||||
|
%{_libdir}/vdpau/libvdpau_radeonsi.so.1*
|
||||||
|
%endif
|
||||||
|
%{_libdir}/vdpau/libvdpau_virtio_gpu.so.1*
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%files vulkan-drivers
|
||||||
|
%{_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_vulkan_hw}
|
||||||
|
%{_libdir}/libvulkan_radeon.so
|
||||||
|
%{_datadir}/drirc.d/00-radv-defaults.conf
|
||||||
|
%{_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
|
||||||
|
%{_libdir}/libvulkan_intel.so
|
||||||
|
%{_datadir}/vulkan/icd.d/intel_icd.*.json
|
||||||
|
%{_libdir}/libvulkan_intel_hasvk.so
|
||||||
|
%{_datadir}/vulkan/icd.d/intel_hasvk_icd.*.json
|
||||||
|
%endif
|
||||||
|
%ifarch aarch64 x86_64 %{ix86}
|
||||||
|
%{_libdir}/libvulkan_broadcom.so
|
||||||
|
%{_datadir}/vulkan/icd.d/broadcom_icd.*.json
|
||||||
|
%{_libdir}/libvulkan_freedreno.so
|
||||||
|
%{_datadir}/vulkan/icd.d/freedreno_icd.*.json
|
||||||
|
%{_libdir}/libvulkan_panfrost.so
|
||||||
|
%{_datadir}/vulkan/icd.d/panfrost_icd.*.json
|
||||||
|
%{_libdir}/libpowervr_rogue.so
|
||||||
|
%{_libdir}/libvulkan_powervr_mesa.so
|
||||||
|
%{_datadir}/vulkan/icd.d/powervr_mesa_icd.*.json
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
%autochangelog
|
4
rpminspect.yaml
Normal file
4
rpminspect.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
badfuncs:
|
||||||
|
allowed:
|
||||||
|
/usr/lib*/libvulkan_freedreno.so:
|
||||||
|
- inet_addr
|
3
sources
Normal file
3
sources
Normal file
@ -0,0 +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
|
Loading…
Reference in New Issue
Block a user