ensure i915_dri.so is built [release 23.3.2-2mamba;Sat Dec 30 2023]

This commit is contained in:
Silvan Calarco 2024-01-05 17:48:02 +01:00
parent b776150e44
commit 359c097664
11 changed files with 59 additions and 742 deletions

View File

@ -1,26 +0,0 @@
From 564821c917f4a9d5a0de2ee77b90b0cd85e3d3a6 Mon Sep 17 00:00:00 2001
From: Aaron Watry <awatry@gmail.com>
Date: Fri, 20 Jun 2014 19:13:30 -0500
Subject: gallivm: Fix build after LLVM commit 211259
Signed-off-by: Aaron Watry <awatry@gmail.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
index df26883..413a0c2 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
+++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
@@ -51,7 +51,9 @@
#include <llvm/MC/MCInstPrinter.h>
#include <llvm/MC/MCRegisterInfo.h>
-#if HAVE_LLVM >= 0x0303
+#if HAVE_LLVM >= 0x0305
+#define OwningPtr std::unique_ptr
+#elif HAVE_LLVM >= 0x0303
#include <llvm/ADT/OwningPtr.h>
#endif
--
cgit v0.10.2

View File

@ -1,66 +0,0 @@
From 23cbe6d5c1076551540159ce617ad0680b02a029 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Mon, 4 Feb 2019 17:54:45 -0700
Subject: [PATCH] Rip out VC4 forced NEON
Breaks with distro-supplied CFLAGS.
---
meson.build | 1 -
src/broadcom/meson.build | 5 +----
src/gallium/drivers/vc4/meson.build | 11 -----------
3 files changed, 1 insertion(+), 16 deletions(-)
diff --git a/meson.build b/meson.build
index 155db287796..ff703e8e631 100644
--- a/meson.build
+++ b/meson.build
@@ -1282,7 +1282,6 @@ elif host_machine.cpu_family() == 'x86_64'
elif host_machine.cpu_family() == 'arm'
if system_has_kms_drm
with_asm_arch = 'arm'
- pre_args += ['-DUSE_ARM_ASM']
endif
elif host_machine.cpu_family() == 'aarch64'
if system_has_kms_drm
diff --git a/src/broadcom/meson.build b/src/broadcom/meson.build
index 2e1145dd0c0..c6266af9654 100644
--- a/src/broadcom/meson.build
+++ b/src/broadcom/meson.build
@@ -50,12 +50,9 @@ foreach ver : v3d_versions
)
endforeach
-v3d_args = ['-DV3D_BUILD_NEON']
+v3d_args = []
v3d_neon_c_args = []
-if host_machine.cpu_family() == 'arm'
- v3d_neon_c_args = '-mfpu=neon'
-endif
libv3d_neon = static_library(
'v3d_neon',
diff --git a/src/gallium/drivers/vc4/meson.build b/src/gallium/drivers/vc4/meson.build
index 90a772d5dc6..3074933584c 100644
--- a/src/gallium/drivers/vc4/meson.build
+++ b/src/gallium/drivers/vc4/meson.build
@@ -84,17 +84,6 @@ files_libvc4 = files(
vc4_c_args = []
libvc4_neon = []
-if host_machine.cpu_family() == 'arm'
- libvc4_neon = static_library(
- 'vc4_neon',
- 'vc4_tiling_lt_neon.c',
- include_directories : [
- inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_broadcom
- ],
- c_args : '-mfpu=neon',
- )
- vc4_c_args += '-DUSE_ARM_ASM'
-endif
if dep_simpenrose.found()
vc4_c_args += '-DUSE_VC4_SIMULATOR'
--
2.30.0

View File

@ -1,91 +0,0 @@
From a20dc1dd150a6c31153197ceda01827daab4203e Mon Sep 17 00:00:00 2001
From: Vinson Lee <vlee@freedesktop.org>
Date: Wed, 23 Jun 2021 21:58:08 -0700
Subject: [PATCH] swr: Fix build with llvm-13.
Fix build after llvm-13 commit 3302af9d4c39 ("Support: Remove
F_{None,Text,Append} compatibility synonyms, NFC").
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
---
.../swr/rasterizer/jitter/JitManager.cpp | 24 +++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp b/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp
index 44482939c76..2487f754dc1 100644
--- a/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp
+++ b/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp
@@ -437,7 +437,11 @@ void JitManager::DumpAsm(Function* pFunction, const char* fileName)
sprintf(fName, "%s.%s.asm", funcName, fileName);
#endif
+#if LLVM_VERSION_MAJOR >= 13
+ raw_fd_ostream filestream(fName, EC, llvm::sys::fs::OF_None);
+#else
raw_fd_ostream filestream(fName, EC, llvm::sys::fs::F_None);
+#endif
legacy::PassManager* pMPasses = new legacy::PassManager();
auto* pTarget = mpExec->getTargetMachine();
@@ -490,7 +494,11 @@ void JitManager::DumpToFile(Module* M,
#else
sprintf(fName, "%s.%s.ll", funcName, fileName);
#endif
+#if LLVM_VERSION_MAJOR >= 13
+ raw_fd_ostream fd(fName, EC, llvm::sys::fs::OF_None);
+#else
raw_fd_ostream fd(fName, EC, llvm::sys::fs::F_None);
+#endif
M->print(fd, annotater);
fd.flush();
}
@@ -512,7 +520,11 @@ void JitManager::DumpToFile(Function* f, const char* fileName)
#else
sprintf(fName, "%s.%s.ll", funcName, fileName);
#endif
+#if LLVM_VERSION_MAJOR >= 13
+ raw_fd_ostream fd(fName, EC, llvm::sys::fs::OF_None);
+#else
raw_fd_ostream fd(fName, EC, llvm::sys::fs::F_None);
+#endif
f->print(fd, nullptr);
#if defined(_WIN32)
@@ -522,7 +534,11 @@ void JitManager::DumpToFile(Function* f, const char* fileName)
#endif
fd.flush();
+#if LLVM_VERSION_MAJOR >= 13
+ raw_fd_ostream fd_cfg(fName, EC, llvm::sys::fs::OF_Text);
+#else
raw_fd_ostream fd_cfg(fName, EC, llvm::sys::fs::F_Text);
+#endif
WriteGraph(fd_cfg, (const Function*)f);
fd_cfg.flush();
@@ -726,7 +742,11 @@ void JitCache::notifyObjectCompiled(const llvm::Module* M, llvm::MemoryBufferRef
{
std::error_code err;
+#if LLVM_VERSION_MAJOR >= 13
+ llvm::raw_fd_ostream fileObj(objPath.c_str(), err, llvm::sys::fs::OF_None);
+#else
llvm::raw_fd_ostream fileObj(objPath.c_str(), err, llvm::sys::fs::F_None);
+#endif
fileObj << Obj.getBuffer();
fileObj.flush();
}
@@ -734,7 +754,11 @@ void JitCache::notifyObjectCompiled(const llvm::Module* M, llvm::MemoryBufferRef
{
std::error_code err;
+#if LLVM_VERSION_MAJOR >= 13
+ llvm::raw_fd_ostream fileObj(filePath.c_str(), err, llvm::sys::fs::OF_None);
+#else
llvm::raw_fd_ostream fileObj(filePath.c_str(), err, llvm::sys::fs::F_None);
+#endif
uint32_t objcrc = ComputeCRC(0, Obj.getBufferStart(), Obj.getBufferSize());
--
GitLab

View File

@ -1,127 +0,0 @@
From 98859f67c3d54c9c6d8bbf55251717cbe3511f4e Mon Sep 17 00:00:00 2001
From: Grigory Vasilyev <h0tc0d3@gmail.com>
Date: Fri, 8 Oct 2021 15:26:49 +0300
Subject: [PATCH] Fix swr build with LLVM 13
---
.../swr/rasterizer/jitter/builder_mem.cpp | 12 +++++++++++
.../swr/rasterizer/jitter/builder_mem.h | 4 ++++
src/gallium/drivers/swr/swr_shader.cpp | 20 ++++++++++++++-----
3 files changed, 31 insertions(+), 5 deletions(-)
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder_mem.cpp b/src/gallium/drivers/swr/rasterizer/jitter/builder_mem.cpp
index b5eb0a782b1..ff0672cfd14 100644
--- a/src/gallium/drivers/swr/rasterizer/jitter/builder_mem.cpp
+++ b/src/gallium/drivers/swr/rasterizer/jitter/builder_mem.cpp
@@ -82,7 +82,11 @@ namespace SwrJit
std::vector<Value*> indices;
for (auto i : indexList)
indices.push_back(i);
+#if LLVM_VERSION_MAJOR >= 13
+ return IN_BOUNDS_GEP(ptr->getType(), ptr, indices);
+#else
return IN_BOUNDS_GEP(ptr, indices);
+#endif
}
Value* Builder::IN_BOUNDS_GEP(Value* ptr, const std::initializer_list<uint32_t>& indexList)
@@ -90,7 +94,11 @@ namespace SwrJit
std::vector<Value*> indices;
for (auto i : indexList)
indices.push_back(C(i));
+#if LLVM_VERSION_MAJOR >= 13
+ return IN_BOUNDS_GEP(ptr->getType(), ptr, indices);
+#else
return IN_BOUNDS_GEP(ptr, indices);
+#endif
}
LoadInst* Builder::LOAD(Value* Ptr, const char* Name, Type* Ty, MEM_CLIENT usage)
@@ -234,7 +242,11 @@ namespace SwrJit
/// @param pVecPassthru - SIMD wide vector of values to load when lane is inactive
Value* Builder::GATHER_PTR(Value* pVecSrcPtr, Value* pVecMask, Value* pVecPassthru)
{
+#if LLVM_VERSION_MAJOR >= 13
+ return MASKED_GATHER(pVecSrcPtr->getType(), pVecSrcPtr, AlignType(4), pVecMask, pVecPassthru);
+#else
return MASKED_GATHER(pVecSrcPtr, AlignType(4), pVecMask, pVecPassthru);
+#endif
}
void Builder::SCATTER_PTR(Value* pVecDstPtr, Value* pVecSrc, Value* pVecMask)
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder_mem.h b/src/gallium/drivers/swr/rasterizer/jitter/builder_mem.h
index 429d5779a4d..c6cfb812b81 100644
--- a/src/gallium/drivers/swr/rasterizer/jitter/builder_mem.h
+++ b/src/gallium/drivers/swr/rasterizer/jitter/builder_mem.h
@@ -84,7 +84,11 @@ virtual CallInst* MASKED_LOAD(Value* Ptr,
Type* Ty = nullptr,
MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL)
{
+#if LLVM_VERSION_MAJOR >= 13
+ return IRB()->CreateMaskedLoad(Ptr->getType(), Ptr, AlignType(Align), Mask, PassThru, Name);
+#else
return IRB()->CreateMaskedLoad(Ptr, AlignType(Align), Mask, PassThru, Name);
+#endif
}
virtual StoreInst* STORE(Value *Val, Value *Ptr, bool isVolatile = false, Type* Ty = nullptr, MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL)
diff --git a/src/gallium/drivers/swr/swr_shader.cpp b/src/gallium/drivers/swr/swr_shader.cpp
index 315036920fb..26e967759cd 100644
--- a/src/gallium/drivers/swr/swr_shader.cpp
+++ b/src/gallium/drivers/swr/swr_shader.cpp
@@ -1553,7 +1553,9 @@ BuilderSWR::CompileGS(struct swr_context *ctx, swr_jit_gs_key &key)
GlobalValue::ExternalLinkage,
"GS",
JM()->mpCurrentModule);
-#if LLVM_VERSION_MAJOR < 5
+#if LLVM_VERSION_MAJOR >= 13
+ pFunction->addParamAttrs(AttributeList::FunctionIndex, attrBuilder);
+#elif LLVM_VERSION_MAJOR < 5
AttributeSet attrSet = AttributeSet::get(
JM()->mContext, AttributeSet::FunctionIndex, attrBuilder);
pFunction->addAttributes(AttributeSet::FunctionIndex, attrSet);
@@ -1781,7 +1783,9 @@ BuilderSWR::CompileTES(struct swr_context *ctx, swr_jit_tes_key &key)
"TES",
JM()->mpCurrentModule);
-#if LLVM_VERSION_MAJOR < 5
+#if LLVM_VERSION_MAJOR >= 13
+ pFunction->addParamAttrs(AttributeList::FunctionIndex, attrBuilder);
+#elif LLVM_VERSION_MAJOR < 5
AttributeSet attrSet = AttributeSet::get(
JM()->mContext, AttributeSet::FunctionIndex, attrBuilder);
pFunction->addAttributes(AttributeSet::FunctionIndex, attrSet);
@@ -2082,7 +2086,9 @@ BuilderSWR::CompileTCS(struct swr_context *ctx, swr_jit_tcs_key &key)
"TCS",
JM()->mpCurrentModule);
-#if LLVM_VERSION_MAJOR < 5
+#if LLVM_VERSION_MAJOR >= 13
+ pFunction->addParamAttrs(AttributeList::FunctionIndex, attrBuilder);
+#elif LLVM_VERSION_MAJOR < 5
AttributeSet attrSet = AttributeSet::get(
JM()->mContext, AttributeSet::FunctionIndex, attrBuilder);
pFunction->addAttributes(AttributeSet::FunctionIndex, attrSet);
@@ -2337,7 +2343,9 @@ BuilderSWR::CompileVS(struct swr_context *ctx, swr_jit_vs_key &key)
GlobalValue::ExternalLinkage,
"VS",
JM()->mpCurrentModule);
-#if LLVM_VERSION_MAJOR < 5
+#if LLVM_VERSION_MAJOR >= 13
+ pFunction->addParamAttrs(AttributeList::FunctionIndex, attrBuilder);
+#elif LLVM_VERSION_MAJOR < 5
AttributeSet attrSet = AttributeSet::get(
JM()->mContext, AttributeSet::FunctionIndex, attrBuilder);
pFunction->addAttributes(AttributeSet::FunctionIndex, attrSet);
@@ -2642,7 +2650,9 @@ BuilderSWR::CompileFS(struct swr_context *ctx, swr_jit_fs_key &key)
GlobalValue::ExternalLinkage,
"FS",
JM()->mpCurrentModule);
-#if LLVM_VERSION_MAJOR < 5
+#if LLVM_VERSION_MAJOR >= 13
+ pFunction->addParamAttrs(AttributeList::FunctionIndex, attrBuilder);
+#elif LLVM_VERSION_MAJOR < 5
AttributeSet attrSet = AttributeSet::get(
JM()->mContext, AttributeSet::FunctionIndex, attrBuilder);
pFunction->addAttributes(AttributeSet::FunctionIndex, attrSet);
--

View File

@ -1,81 +0,0 @@
diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c
index eb49ac5ea1bcf557d912b7fc9ce373b25e121ccb..1ce47832c627f9266f7fdf529a00ac6eb49ea88f 100644
--- a/src/glx/dri2_glx.c
+++ b/src/glx/dri2_glx.c
@@ -121,7 +121,7 @@ dri2_bind_context(struct glx_context *context, struct glx_context *old,
pdraw = (struct dri2_drawable *) driFetchDrawable(context, draw);
pread = (struct dri2_drawable *) driFetchDrawable(context, read);
- driReleaseDrawables(old);
+ driReleaseDrawables(context);
if (pdraw)
dri_draw = pdraw->driDrawable;
diff --git a/src/glx/dri3_glx.c b/src/glx/dri3_glx.c
index abec1ce6baf368193757a4be71b385bfc16e0351..e8996dd5e2775268101e2b44fbc9175e51190295 100644
--- a/src/glx/dri3_glx.c
+++ b/src/glx/dri3_glx.c
@@ -192,7 +192,7 @@ dri3_bind_context(struct glx_context *context, struct glx_context *old,
pdraw = (struct dri3_drawable *) driFetchDrawable(context, draw);
pread = (struct dri3_drawable *) driFetchDrawable(context, read);
- driReleaseDrawables(old);
+ driReleaseDrawables(context);
if (pdraw)
dri_draw = pdraw->loader_drawable.dri_drawable;
diff --git a/src/glx/dri_common.c b/src/glx/dri_common.c
index d806d8cab41bd5e2431a66262798156ecc037f82..94e264cc07feb295741646ba6a83467819718379 100644
--- a/src/glx/dri_common.c
+++ b/src/glx/dri_common.c
@@ -416,14 +416,7 @@ driFetchDrawable(struct glx_context *gc, GLXDrawable glxDrawable)
(*pdraw->destroyDrawable) (pdraw);
return NULL;
}
- /* This sure does look suspicious, doesn't it? We're on this path because
- * this is a naked Window. GLX 1.3 drawables have an explicit creation
- * step (setting refcount to 1), and those we would have found in the
- * hash lookup above, bumped their refcount for the bind_context we're
- * being called for, and then returned. But since we just created the
- * internal naked-Window state, we need to account for both here.
- */
- pdraw->refcount = 2;
+ pdraw->refcount = 1;
return pdraw;
}
@@ -497,7 +490,7 @@ releaseDrawable(const struct glx_display *priv, GLXDrawable drawable)
_X_HIDDEN void
driReleaseDrawables(struct glx_context *gc)
{
- const struct glx_display *priv = (gc && gc->psc) ? gc->psc->display : NULL;
+ const struct glx_display *priv = gc->psc->display;
if (priv == NULL)
return;
diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c
index a459ec863e7fe2397a86f933d79296c9466d5cc0..e90f4efbab4081f346073e2b66ece5850ab43214 100644
--- a/src/glx/drisw_glx.c
+++ b/src/glx/drisw_glx.c
@@ -440,7 +440,7 @@ drisw_bind_context(struct glx_context *context, struct glx_context *old,
pdraw = (struct drisw_drawable *) driFetchDrawable(context, draw);
pread = (struct drisw_drawable *) driFetchDrawable(context, read);
- driReleaseDrawables(old);
+ driReleaseDrawables(context);
if (!psc->core->bindContext(context->driContext,
pdraw ? pdraw->driDrawable : NULL,
diff --git a/src/glx/driwindows_glx.c b/src/glx/driwindows_glx.c
index 8c21c5ee58a8dc0bb97973e5fb2f10d82beef792..3eb961dae3d27a3ffd3f743be1ef27dd762f54cc 100644
--- a/src/glx/driwindows_glx.c
+++ b/src/glx/driwindows_glx.c
@@ -88,7 +88,7 @@ driwindows_bind_context(struct glx_context *context, struct glx_context *old,
pdraw = (struct driwindows_drawable *) driFetchDrawable(context, draw);
pread = (struct driwindows_drawable *) driFetchDrawable(context, read);
- driReleaseDrawables(old);
+ driReleaseDrawables(&pcp->base);
if (pdraw == NULL || pread == NULL)
return GLXBadDrawable;

View File

@ -1,23 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
Date: Sat, 22 Apr 2023 01:21:20 +0000
Subject: [PATCH] rusticl: Fix bindgen invocation
The deprecated `--size_t-is-usize` was removed in bindgen 0.65.1, being
enabled by default.
---
src/gallium/frontends/rusticl/meson.build | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/gallium/frontends/rusticl/meson.build b/src/gallium/frontends/rusticl/meson.build
index e53b50a9b8b8..9fa024cb8db4 100644
--- a/src/gallium/frontends/rusticl/meson.build
+++ b/src/gallium/frontends/rusticl/meson.build
@@ -92,7 +92,6 @@ rusticl_gen_args = [
rusticl_bindgen_args = [
'--no-convert-floats',
'--use-array-pointers-in-arguments',
- '--size_t-is-usize',
'--default-enum-style', 'rust',
'--with-derive-partialeq',
'--with-derive-eq',

View File

@ -1,108 +0,0 @@
diff --git a/src/gallium/frontends/clover/llvm/invocation.cpp b/src/gallium/frontends/clover/llvm/invocation.cpp
index 7a50fea332395d3d1f350b0c7a733b29817a616d..43d26fe1abbce7411ee2a224e0abf7f560101e25 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() + "-" +

View File

@ -1,12 +0,0 @@
diff -Nru Mesa-7.10.2.orig//src/glx/dri2.c Mesa-7.10.2/src/glx/dri2.c
--- Mesa-7.10.2.orig//src/glx/dri2.c 2010-12-14 22:43:14.000000000 +0100
+++ Mesa-7.10.2/src/glx/dri2.c 2011-05-10 19:11:44.632223458 +0200
@@ -124,7 +124,7 @@
}
aevent->ust = ((CARD64)awire->ust_hi << 32) | awire->ust_lo;
aevent->msc = ((CARD64)awire->msc_hi << 32) | awire->msc_lo;
- aevent->sbc = ((CARD64)awire->sbc_hi << 32) | awire->sbc_lo;
+ aevent->sbc = awire->sbc;
return True;
}
#endif

View File

@ -1,139 +0,0 @@
--- Mesa-7.10.1/src/gallium/drivers/nv50/nv50_clear.c.ark 2011-04-11 10:26:00.717291484 +0200
+++ Mesa-7.10.1/src/gallium/drivers/nv50/nv50_clear.c 2011-04-11 10:26:05.600624698 +0200
@@ -24,6 +24,8 @@
#include "pipe/p_defines.h"
#include "pipe/p_state.h"
+#include <nouveau/nv04_pushbuf.h>
+
#include "nv50_context.h"
void
--- Mesa-7.10.1/src/gallium/drivers/nv50/nv50_context.c.ark 2011-04-11 10:25:55.913958268 +0200
+++ Mesa-7.10.1/src/gallium/drivers/nv50/nv50_context.c 2011-04-11 10:26:00.663958154 +0200
@@ -23,6 +23,8 @@
#include "draw/draw_context.h"
#include "pipe/p_defines.h"
+#include <nouveau/nv04_pushbuf.h>
+
#include "nv50_context.h"
#include "nv50_screen.h"
#include "nv50_resource.h"
--- Mesa-7.10.1/src/gallium/drivers/nv50/nv50_push.c.ark 2011-04-11 10:25:50.250625073 +0200
+++ Mesa-7.10.1/src/gallium/drivers/nv50/nv50_push.c 2011-04-11 10:25:55.873958269 +0200
@@ -4,6 +4,8 @@
#include "util/u_format.h"
#include "util/u_split_prim.h"
+#include <nouveau/nv04_pushbuf.h>
+
#include "nv50_context.h"
#include "nv50_resource.h"
--- Mesa-7.10.1/src/gallium/drivers/nv50/nv50_query.c.ark 2011-04-11 10:25:44.790625206 +0200
+++ Mesa-7.10.1/src/gallium/drivers/nv50/nv50_query.c 2011-04-11 10:25:50.183958407 +0200
@@ -23,6 +23,8 @@
#include "pipe/p_context.h"
#include "util/u_inlines.h"
+#include <nouveau/nv04_pushbuf.h>
+
#include "nv50_context.h"
struct nv50_query {
--- Mesa-7.10.1/src/gallium/drivers/nv50/nv50_screen.c.ark 2011-04-11 10:25:32.790625497 +0200
+++ Mesa-7.10.1/src/gallium/drivers/nv50/nv50_screen.c 2011-04-11 10:25:38.633958688 +0200
@@ -23,6 +23,8 @@
#include "util/u_format_s3tc.h"
#include "pipe/p_screen.h"
+#include <nouveau/nv04_pushbuf.h>
+
#include "nv50_context.h"
#include "nv50_screen.h"
#include "nv50_resource.h"
--- Mesa-7.10.1/src/gallium/drivers/nv50/nv50_shader_state.c.ark 2011-04-11 10:25:38.710625354 +0200
+++ Mesa-7.10.1/src/gallium/drivers/nv50/nv50_shader_state.c 2011-04-11 10:25:44.713958540 +0200
@@ -26,6 +26,8 @@
#include "pipe/p_state.h"
#include "util/u_inlines.h"
+#include <nouveau/nv04_pushbuf.h>
+
#include "nv50_context.h"
static void
--- Mesa-7.10.1/src/gallium/drivers/nv50/nv50_state_validate.c.ark 2011-04-11 10:25:27.520625626 +0200
+++ Mesa-7.10.1/src/gallium/drivers/nv50/nv50_state_validate.c 2011-04-11 10:25:32.737292166 +0200
@@ -22,6 +22,7 @@
#include "util/u_format.h"
+#include <nouveau/nv04_pushbuf.h>
#include "nv50_context.h"
#include "nv50_resource.h"
#include "nouveau/nouveau_stateobj.h"
--- Mesa-7.10.1/src/gallium/drivers/nv50/nv50_surface.c.ark 2011-04-11 10:25:22.407292417 +0200
+++ Mesa-7.10.1/src/gallium/drivers/nv50/nv50_surface.c 2011-04-11 10:25:27.450625628 +0200
@@ -22,6 +22,7 @@
#define __NOUVEAU_PUSH_H__
#include <stdint.h>
+#include <nouveau/nv04_pushbuf.h>
#include "nouveau/nouveau_pushbuf.h"
#include "nv50_context.h"
#include "nv50_resource.h"
--- Mesa-7.10.1/src/gallium/drivers/nv50/nv50_transfer.c.ark 2011-04-11 10:25:14.903959267 +0200
+++ Mesa-7.10.1/src/gallium/drivers/nv50/nv50_transfer.c 2011-04-11 10:25:22.353959086 +0200
@@ -4,6 +4,8 @@
#include "util/u_format.h"
#include "util/u_math.h"
+#include <nouveau/nv04_pushbuf.h>
+
#include "nv50_context.h"
#include "nv50_transfer.h"
#include "nv50_resource.h"
--- Mesa-7.10.1/src/gallium/drivers/nv50/nv50_vbo.c.ark 2011-04-11 10:25:01.717292921 +0200
+++ Mesa-7.10.1/src/gallium/drivers/nv50/nv50_vbo.c 2011-04-11 10:25:14.850625935 +0200
@@ -26,6 +26,8 @@
#include "util/u_format.h"
#include "util/u_split_prim.h"
+#include <nouveau/nv04_pushbuf.h>
+
#include "nv50_context.h"
#include "nv50_resource.h"
--- Mesa-7.10.1/src/gallium/drivers/nvfx/nv04_2d.c.ark 2011-04-11 10:23:22.800628664 +0200
+++ Mesa-7.10.1/src/gallium/drivers/nvfx/nv04_2d.c 2011-04-11 10:25:01.640626257 +0200
@@ -39,6 +39,7 @@
#include <nouveau/nouveau_bo.h>
#include <nouveau/nouveau_notifier.h>
#include <nouveau/nouveau_grobj.h>
+#include <nouveau/nv04_pushbuf.h>
#include "nv04_2d.h"
#include "nouveau/nv_object.xml.h"
--- Mesa-7.10.1/src/gallium/drivers/nvfx/nvfx_screen.c.ark 2011-04-11 10:27:59.380621927 +0200
+++ Mesa-7.10.1/src/gallium/drivers/nvfx/nvfx_screen.c 2011-04-11 10:28:02.833955176 +0200
@@ -3,6 +3,7 @@
#include "util/u_format_s3tc.h"
#include "util/u_simple_screen.h"
+#include <nouveau/nv04_pushbuf.h>
#include "nouveau/nouveau_screen.h"
#include "nouveau/nv_object.xml.h"
#include "nvfx_context.h"
--- Mesa-7.10.1/src/mesa/drivers/dri/nouveau/nv04_context.c.ark 2011-04-11 10:27:27.220622711 +0200
+++ Mesa-7.10.1/src/mesa/drivers/dri/nouveau/nv04_context.c 2011-04-11 11:09:24.147228063 +0200
@@ -24,6 +24,8 @@
*
*/
+#include <stdint.h>
+#include <nouveau/nv04_pushbuf.h>
#include "nouveau_driver.h"
#include "nouveau_context.h"
#include "nouveau_fbo.h"

View File

@ -1,51 +0,0 @@
Submitted By: Bruce Dubbs (bdubbs_AT_linuxfromscratch_DOT_org)
Date: 2012-06-04
Initial Package Version: 8.0.1
Origin: https://projects.archlinux.org/svntogit/packages.git/plain/trunk/mesa-8.0.3-llvm-3.1-fixes.patch?h=packages/mesa
Upstream Status: Not applicable
Description: Needed to build with LLVM 3.1
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
index a50a51d..f1bb4d9 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
+++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
@@ -235,7 +235,24 @@ lp_disassemble(const void* func)
int AsmPrinterVariant = AsmInfo->getAssemblerDialect();
#endif
-#if HAVE_LLVM >= 0x0300
+#if HAVE_LLVM >= 0x0301
+ OwningPtr<const MCRegisterInfo> MRI(T->createMCRegInfo(Triple));
+ if (!MRI) {
+ debug_printf("error: no register info for target %s\n", Triple.c_str());
+ return;
+ }
+
+ OwningPtr<const MCInstrInfo> MII(T->createMCInstrInfo());
+ if (!MII) {
+ debug_printf("error: no instruction info for target %s\n", Triple.c_str());
+ return;
+ }
+#endif
+
+#if HAVE_LLVM >= 0x0301
+ OwningPtr<MCInstPrinter> Printer(
+ T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *MII, *MRI, *STI));
+#elif HAVE_LLVM == 0x0300
OwningPtr<MCInstPrinter> Printer(
T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *STI));
#elif HAVE_LLVM >= 0x0208
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
index fe7616b..68f8808 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
+++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
@@ -62,7 +62,11 @@
extern "C" void
lp_register_oprofile_jit_event_listener(LLVMExecutionEngineRef EE)
{
+#if HAVE_LLVM >= 0x0301
+ llvm::unwrap(EE)->RegisterJITEventListener(llvm::JITEventListener::createOProfileJITEventListener());
+#else
llvm::unwrap(EE)->RegisterJITEventListener(llvm::createOProfileJITEventListener());
+#endif
}

View File

@ -1,7 +1,7 @@
Name: Mesa
Epoch: 1
Version: 23.3.2
Release: 1mamba
Release: 2mamba
Summary: A 3-D graphics library with an API which is very similar to that of OpenGL
Group: System/Libraries
Vendor: openmamba
@ -9,16 +9,6 @@ Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://mesa3d.org/
Source: https://archive.mesa3d.org/mesa-%{version}.tar.xz
Patch0: Mesa-7.10.2-driproto-2.4.patch
Patch1: Mesa-7.10.2-fix_nouveau_dri_includes.patch
Patch2: Mesa-8.0.4-llvm-3.1-fixes-1.patch
Patch3: Mesa-10.2.7-llvm-3.5.patch
Patch4: Mesa-21.2.5-llvm-13-patch1.patch
Patch5: Mesa-21.2.5-llvm-13-patch2.patch
Patch6: Mesa-21.2.5-aarch64-rip-out-VC4-forced-NEON.patch
Patch7: Mesa-22.2.4-revert-glx-fix-drawable-refounting-for-naked-windows.patch
Patch8: Mesa-23.0.3-rustc-1.69.0.patch
Patch9: Mesa-23.2.1-llvm-17.0.3.patch
License: MIT
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
@ -134,12 +124,6 @@ Common files and tools for the Mesa GL libraries.
%setup -q -n mesa-%{version}
#-D -T
#:<< _EOF
%define _default_patch_fuzz 2
#%patch4 -p1
#%patch5 -p1
#%patch7 -p1
#%patch 8 -p1 -b .rustc-1.69.0
#%patch 9 -p1 -b .llvm-17.0.3
%build
#:<< _EOF
@ -268,7 +252,61 @@ ln -s libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_indirect.so.0
%dir %{_libdir}/d3d
%{_libdir}/d3d/d3dadapter9.so.*
%dir %{_libdir}/dri
%{_libdir}/dri/*.so
%ifarch x86_64
%{_libdir}/dri/d3d12_dri.so
%{_libdir}/dri/d3d12_drv_video.so
%endif
%ifarch %{ix86} x86_64
%{_libdir}/dri/crocus_dri.so
%{_libdir}/dri/i915_dri.so
%{_libdir}/dri/iris_dri.so
%{_libdir}/dri/vmwgfx_dri.so
%endif
%{_libdir}/dri/kms_swrast_dri.so
%{_libdir}/dri/nouveau_dri.so
%{_libdir}/dri/nouveau_drv_video.so
%{_libdir}/dri/r300_dri.so
%{_libdir}/dri/r600_dri.so
%{_libdir}/dri/r600_drv_video.so
%{_libdir}/dri/radeonsi_dri.so
%{_libdir}/dri/radeonsi_drv_video.so
%{_libdir}/dri/swrast_dri.so
%{_libdir}/dri/virtio_gpu_dri.so
%{_libdir}/dri/virtio_gpu_drv_video.so
%{_libdir}/dri/zink_dri.so
%ifarch aarch64
%{_libdir}/dri/armada-drm_dri.so
%{_libdir}/dri/etnaviv_dri.so
%{_libdir}/dri/exynos_dri.so
%{_libdir}/dri/hdlcd_dri.so
%{_libdir}/dri/hx8357d_dri.so
%{_libdir}/dri/ili9225_dri.so
%{_libdir}/dri/ili9341_dri.so
%{_libdir}/dri/imx-dcss_dri.so
%{_libdir}/dri/imx-drm_dri.so
%{_libdir}/dri/imx-lcdif_dri.so
%{_libdir}/dri/ingenic-drm_dri.so
%{_libdir}/dri/kirin_dri.so
%{_libdir}/dri/komeda_dri.so
%{_libdir}/dri/lima_dri.so
%{_libdir}/dri/mali-dp_dri.so
%{_libdir}/dri/mcde_dri.so
%{_libdir}/dri/mediatek_dri.so
%{_libdir}/dri/meson_dri.so
%{_libdir}/dri/mi0283qt_dri.so
%{_libdir}/dri/mxsfb-drm_dri.so
%{_libdir}/dri/panfrost_dri.so
%{_libdir}/dri/pl111_dri.so
%{_libdir}/dri/rcar-du_dri.so
%{_libdir}/dri/repaper_dri.so
%{_libdir}/dri/rockchip_dri.so
%{_libdir}/dri/st7586_dri.so
%{_libdir}/dri/st7735r_dri.so
%{_libdir}/dri/stm_dri.so
%{_libdir}/dri/sun4i-drm_dri.so
%{_libdir}/dri/v3d_dri.so
%{_libdir}/dri/vc4_dri.so
%endif
%ifnarch arm
%dir %{_libdir}/gallium-pipe
%{_libdir}/gallium-pipe/pipe_*.so
@ -311,6 +349,9 @@ ln -s libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_indirect.so.0
%{_libdir}/pkgconfig/xatracker.pc
%changelog
* Sat Dec 30 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 23.3.2-2mamba
- ensure i915_dri.so is built
* Thu Dec 28 2023 Automatic Build System <autodist@mambasoft.it> 23.3.2-1mamba
- automatic version update by autodist