mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
extra/mesa to 21.2.5-1
This commit is contained in:
parent
a85c903ede
commit
bed34556e5
3 changed files with 232 additions and 2 deletions
|
@ -13,7 +13,7 @@
|
|||
pkgbase=mesa
|
||||
pkgname=('vulkan-mesa-layers' 'opencl-mesa' 'vulkan-radeon' 'vulkan-swrast' 'vulkan-broadcom' 'vulkan-panfrost' 'libva-mesa-driver' 'mesa-vdpau' 'mesa')
|
||||
pkgdesc="An open-source implementation of the OpenGL specification"
|
||||
pkgver=21.2.4
|
||||
pkgver=21.2.5
|
||||
pkgrel=1
|
||||
arch=('x86_64')
|
||||
makedepends=('python-mako' 'libxml2' 'libx11' 'xorgproto' 'libdrm' 'libxshmfence' 'libxxf86vm'
|
||||
|
@ -23,10 +23,14 @@ makedepends=('python-mako' 'libxml2' 'libx11' 'xorgproto' 'libdrm' 'libxshmfence
|
|||
url="https://www.mesa3d.org/"
|
||||
license=('custom')
|
||||
source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
|
||||
swr-llvm13-patch1.patch
|
||||
swr-llvm13-patch2.patch
|
||||
0001-Rip-out-VC4-forced-NEON.patch
|
||||
LICENSE)
|
||||
sha512sums=('245915260b1366beed15d4790e09d050352614daaea2ed052128d54f26dda202d7abf125b9fa5098ef77604b18977b0ce4209df51746d123871ebf8708f7425d'
|
||||
sha512sums=('aaa1ebaa1e18eea76c3784c9a65942c3e417c1079d7bf75dcede574999dc459fb4d68d041cf2f767afb9cbfa834a985e0a4edd5a56b0fc90f8fdc506359aa5da'
|
||||
'SKIP'
|
||||
'073ea2bb4778b3151717b26e0ec737abb4916ea340c7193a7382c2e2197534e93e95622d530e2f731ae156fd6ca1fc86f315f6ecae0baaeab88846773fb98bba'
|
||||
'b59f18f4bc69b872e97b5f33a53b9c2398143bc1d0a1b42787ca2a0c204fc11b2837ca40f6f773a0b1bd49756754f9d755ac14d4eb10df6269570477ba8484fc'
|
||||
'4cd472e3db19b658265cbbeae6b23be6b5bbf54380c64963f867aa3991de4700b48aae23718283aae4608e8e73627a0103862adbbae9ce17a00a266e425e948c'
|
||||
'f9f0d0ccf166fe6cb684478b6f1e1ab1f2850431c06aa041738563eb1808a004e52cdec823c103c9e180f03ffc083e95974d291353f0220fe52ae6d4897fecc7')
|
||||
validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov <emil.l.velikov@gmail.com>
|
||||
|
@ -39,6 +43,11 @@ validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov <emil.l
|
|||
prepare() {
|
||||
cd mesa-$pkgver
|
||||
|
||||
# https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11568
|
||||
patch -Np1 -i ../swr-llvm13-patch1.patch
|
||||
# https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13267
|
||||
patch -Np1 -i ../swr-llvm13-patch2.patch
|
||||
|
||||
if [[ $CARCH != "aarch64" ]]; then
|
||||
patch -p1 -i ../0001-Rip-out-VC4-forced-NEON.patch
|
||||
CPPFLAGS+=" -DNO_FORMAT_ASM"
|
||||
|
|
92
extra/mesa/swr-llvm13-patch1.patch
Normal file
92
extra/mesa/swr-llvm13-patch1.patch
Normal file
|
@ -0,0 +1,92 @@
|
|||
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
|
||||
|
129
extra/mesa/swr-llvm13-patch2.patch
Normal file
129
extra/mesa/swr-llvm13-patch2.patch
Normal file
|
@ -0,0 +1,129 @@
|
|||
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);
|
||||
--
|
||||
GitLab
|
||||
|
Loading…
Reference in a new issue