Complete Yocto mirror with license table for TQMa6UL (2038-compliance)
- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
DESCRIPTION = "Userspace libraries for GC320 chipset on TI SoCs"
|
||||
HOMEPAGE = "https://git.ti.com/graphics/ti-gc320-libs"
|
||||
LICENSE = "TI-TSPA"
|
||||
LIC_FILES_CHKSUM = "file://Manifest.html;md5=a9121e8936ace09820d23f7626daaca5"
|
||||
|
||||
inherit features_check
|
||||
|
||||
REQUIRED_MACHINE_FEATURES = "gc320"
|
||||
|
||||
COMPATIBLE_MACHINE = "omap-a15"
|
||||
|
||||
CLEANBROKEN = "1"
|
||||
|
||||
BRANCH = "ti-${PV}"
|
||||
|
||||
SRC_URI = "git://git.ti.com/git/graphics/ti-gc320-libs.git;protocol=https;branch=${BRANCH}"
|
||||
SRCREV = "85c175e8425c33dda6e272aeb45afe0f69a79096"
|
||||
|
||||
RRECOMMENDS:${PN} = "ti-gc320-driver"
|
||||
|
||||
# There's only hardfp version available
|
||||
python __anonymous() {
|
||||
tunes = d.getVar("TUNE_FEATURES")
|
||||
if not tunes:
|
||||
return
|
||||
pkgn = d.getVar("PN")
|
||||
pkgv = d.getVar("PV")
|
||||
if "callconvention-hard" not in tunes:
|
||||
bb.warn("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
|
||||
raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
|
||||
}
|
||||
|
||||
TARGET_PRODUCT = "jacinto6evm"
|
||||
|
||||
PR = "r3"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
EXTRA_OEMAKE += "DESTDIR=${D} TARGET_PRODUCT=${TARGET_PRODUCT} LIBDIR=${libdir}"
|
||||
|
||||
do_install() {
|
||||
oe_runmake install
|
||||
chown -R root:root ${D}
|
||||
}
|
||||
|
||||
PACKAGES = "${PN} ${PN}-dev"
|
||||
FILES:${PN} += "${libdir}/libGAL.so"
|
||||
FILES:${PN}-dev = "/usr/include"
|
||||
|
||||
INSANE_SKIP:${PN} += "ldflags already-stripped dev-so"
|
||||
@@ -0,0 +1,64 @@
|
||||
From bb2db56ffec6e527d88751f75117ae690227cd6c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Kai=20Wasserb=C3=A4ch?= <kai@dev.carbon-project.org>
|
||||
Date: Sat, 11 Feb 2023 18:38:01 +0100
|
||||
Subject: [PATCH] fix: gallivm: fix LLVM #include of Host.h, moved to
|
||||
TargetParser
|
||||
|
||||
Upstream moved Host.h from Support to TargetParser in LLVM 17.
|
||||
|
||||
This shouldn't lead to a FTBFS, since there is a forwarding include left
|
||||
behind. Sadly the added deprecation warning #pragma is invalid and thus
|
||||
causes a build failure right away. But since we would have to follow the
|
||||
move anyway in the future, just do it right away.
|
||||
|
||||
Reference: https://github.com/llvm/llvm-project/commit/d768bf994f508d7eaf9541a568be3d71096febf5
|
||||
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
|
||||
Closes: #8275
|
||||
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21263>
|
||||
|
||||
Upstream-Status: Backport [https://gitlab.freedesktop.org/mesa/mesa/-/commit/bb2db56ffec6e527d88751f75117ae690227cd6c]
|
||||
|
||||
---
|
||||
src/gallium/auxiliary/gallivm/lp_bld_debug.cpp | 7 ++++++-
|
||||
src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 4 +++-
|
||||
2 files changed, 9 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
|
||||
index 54bc5d5ada36c..f78f04f042be8 100644
|
||||
--- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
|
||||
+++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
|
||||
@@ -35,9 +35,14 @@
|
||||
#include <llvm-c/Disassembler.h>
|
||||
#include <llvm/Support/raw_ostream.h>
|
||||
#include <llvm/Support/Format.h>
|
||||
-#include <llvm/Support/Host.h>
|
||||
#include <llvm/IR/Module.h>
|
||||
|
||||
+#if LLVM_VERSION_MAJOR >= 17
|
||||
+#include <llvm/TargetParser/Host.h>
|
||||
+#else
|
||||
+#include <llvm/Support/Host.h>
|
||||
+#endif
|
||||
+
|
||||
#include "util/u_math.h"
|
||||
#include "util/u_debug.h"
|
||||
|
||||
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
|
||||
index 334c13530394b..5e7a30a6cc2e3 100644
|
||||
--- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
|
||||
+++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
|
||||
@@ -60,7 +60,11 @@
|
||||
#include <llvm/Analysis/TargetLibraryInfo.h>
|
||||
#include <llvm/ExecutionEngine/SectionMemoryManager.h>
|
||||
#include <llvm/Support/CommandLine.h>
|
||||
+#if LLVM_VERSION_MAJOR >= 17
|
||||
+#include <llvm/TargetParser/Host.h>
|
||||
+#else
|
||||
#include <llvm/Support/Host.h>
|
||||
+#endif
|
||||
#include <llvm/Support/PrettyStackTrace.h>
|
||||
#include <llvm/ExecutionEngine/ObjectCache.h>
|
||||
#include <llvm/Support/TargetSelect.h>
|
||||
|
||||
--
|
||||
GitLab
|
||||
@@ -0,0 +1,128 @@
|
||||
From 1a894699354f5f984f31e5d3418b651edf486df9 Mon Sep 17 00:00:00 2001
|
||||
From: Ryan Eatmon <reatmon@ti.com>
|
||||
Date: Fri, 22 Sep 2023 22:32:41 -0500
|
||||
Subject: [PATCH] fix: gallivm: limit usage of LLVMContextSetOpaquePointers()
|
||||
to LLVM 15
|
||||
|
||||
LLVMContextSetOpaquePointers() was a temporary workaround offered to
|
||||
allow transitioning to opaque pointers. Mesa is ready for this now with
|
||||
recent versions of LLVM (16+). Therefore we limit the workaround of
|
||||
using LLVMContextSetOpaquePointers() to LLVM 15 now, that this C
|
||||
interface was removed in LLVM 17.
|
||||
|
||||
Reference: https://github.com/llvm/llvm-project/commit/1270879376025457e266572c7cccc51eb5de9276
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21124]
|
||||
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
|
||||
---
|
||||
src/gallium/auxiliary/draw/draw_llvm.c | 2 +-
|
||||
src/gallium/drivers/llvmpipe/lp_context.c | 2 +-
|
||||
src/gallium/drivers/llvmpipe/lp_test_arit.c | 2 +-
|
||||
src/gallium/drivers/llvmpipe/lp_test_blend.c | 2 +-
|
||||
src/gallium/drivers/llvmpipe/lp_test_conv.c | 2 +-
|
||||
src/gallium/drivers/llvmpipe/lp_test_format.c | 4 ++--
|
||||
src/gallium/drivers/llvmpipe/lp_test_printf.c | 2 +-
|
||||
7 files changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/src/gallium/auxiliary/draw/draw_llvm.c b/src/gallium/auxiliary/draw/draw_llvm.c
|
||||
index 50c157bc3cc..8b3a1522725 100644
|
||||
--- a/src/gallium/auxiliary/draw/draw_llvm.c
|
||||
+++ b/src/gallium/auxiliary/draw/draw_llvm.c
|
||||
@@ -784,7 +784,7 @@ draw_llvm_create(struct draw_context *draw, LLVMContextRef context)
|
||||
if (!llvm->context) {
|
||||
llvm->context = LLVMContextCreate();
|
||||
|
||||
-#if LLVM_VERSION_MAJOR >= 15
|
||||
+#if LLVM_VERSION_MAJOR == 15
|
||||
LLVMContextSetOpaquePointers(llvm->context, false);
|
||||
#endif
|
||||
|
||||
diff --git a/src/gallium/drivers/llvmpipe/lp_context.c b/src/gallium/drivers/llvmpipe/lp_context.c
|
||||
index 8309335aebc..0ef4317fc76 100644
|
||||
--- a/src/gallium/drivers/llvmpipe/lp_context.c
|
||||
+++ b/src/gallium/drivers/llvmpipe/lp_context.c
|
||||
@@ -263,7 +263,7 @@ llvmpipe_create_context(struct pipe_screen *screen, void *priv,
|
||||
if (!llvmpipe->context)
|
||||
goto fail;
|
||||
|
||||
-#if LLVM_VERSION_MAJOR >= 15
|
||||
+#if LLVM_VERSION_MAJOR == 15
|
||||
LLVMContextSetOpaquePointers(llvmpipe->context, false);
|
||||
#endif
|
||||
|
||||
diff --git a/src/gallium/drivers/llvmpipe/lp_test_arit.c b/src/gallium/drivers/llvmpipe/lp_test_arit.c
|
||||
index 4118928d52e..565b1c47753 100644
|
||||
--- a/src/gallium/drivers/llvmpipe/lp_test_arit.c
|
||||
+++ b/src/gallium/drivers/llvmpipe/lp_test_arit.c
|
||||
@@ -434,7 +434,7 @@ test_unary(unsigned verbose, FILE *fp, const struct unary_test_t *test, unsigned
|
||||
}
|
||||
|
||||
context = LLVMContextCreate();
|
||||
-#if LLVM_VERSION_MAJOR >= 15
|
||||
+#if LLVM_VERSION_MAJOR == 15
|
||||
LLVMContextSetOpaquePointers(context, false);
|
||||
#endif
|
||||
gallivm = gallivm_create("test_module", context, NULL);
|
||||
diff --git a/src/gallium/drivers/llvmpipe/lp_test_blend.c b/src/gallium/drivers/llvmpipe/lp_test_blend.c
|
||||
index 37c3f731eaf..3d2899a78d4 100644
|
||||
--- a/src/gallium/drivers/llvmpipe/lp_test_blend.c
|
||||
+++ b/src/gallium/drivers/llvmpipe/lp_test_blend.c
|
||||
@@ -452,7 +452,7 @@ test_one(unsigned verbose,
|
||||
dump_blend_type(stdout, blend, type);
|
||||
|
||||
context = LLVMContextCreate();
|
||||
-#if LLVM_VERSION_MAJOR >= 15
|
||||
+#if LLVM_VERSION_MAJOR == 15
|
||||
LLVMContextSetOpaquePointers(context, false);
|
||||
#endif
|
||||
gallivm = gallivm_create("test_module", context, NULL);
|
||||
diff --git a/src/gallium/drivers/llvmpipe/lp_test_conv.c b/src/gallium/drivers/llvmpipe/lp_test_conv.c
|
||||
index c7ea9efc12d..83236f0c0ba 100644
|
||||
--- a/src/gallium/drivers/llvmpipe/lp_test_conv.c
|
||||
+++ b/src/gallium/drivers/llvmpipe/lp_test_conv.c
|
||||
@@ -223,7 +223,7 @@ test_one(unsigned verbose,
|
||||
}
|
||||
|
||||
context = LLVMContextCreate();
|
||||
-#if LLVM_VERSION_MAJOR >= 15
|
||||
+#if LLVM_VERSION_MAJOR == 15
|
||||
LLVMContextSetOpaquePointers(context, false);
|
||||
#endif
|
||||
gallivm = gallivm_create("test_module", context, NULL);
|
||||
diff --git a/src/gallium/drivers/llvmpipe/lp_test_format.c b/src/gallium/drivers/llvmpipe/lp_test_format.c
|
||||
index 0a2a1e449e8..89f7d5dec1a 100644
|
||||
--- a/src/gallium/drivers/llvmpipe/lp_test_format.c
|
||||
+++ b/src/gallium/drivers/llvmpipe/lp_test_format.c
|
||||
@@ -150,7 +150,7 @@ test_format_float(unsigned verbose, FILE *fp,
|
||||
unsigned i, j, k, l;
|
||||
|
||||
context = LLVMContextCreate();
|
||||
-#if LLVM_VERSION_MAJOR >= 15
|
||||
+#if LLVM_VERSION_MAJOR == 15
|
||||
LLVMContextSetOpaquePointers(context, false);
|
||||
#endif
|
||||
gallivm = gallivm_create("test_module_float", context, NULL);
|
||||
@@ -254,7 +254,7 @@ test_format_unorm8(unsigned verbose, FILE *fp,
|
||||
unsigned i, j, k, l;
|
||||
|
||||
context = LLVMContextCreate();
|
||||
-#if LLVM_VERSION_MAJOR >= 15
|
||||
+#if LLVM_VERSION_MAJOR == 15
|
||||
LLVMContextSetOpaquePointers(context, false);
|
||||
#endif
|
||||
gallivm = gallivm_create("test_module_unorm8", context, NULL);
|
||||
diff --git a/src/gallium/drivers/llvmpipe/lp_test_printf.c b/src/gallium/drivers/llvmpipe/lp_test_printf.c
|
||||
index b3de9cb9e8b..850c0abfe22 100644
|
||||
--- a/src/gallium/drivers/llvmpipe/lp_test_printf.c
|
||||
+++ b/src/gallium/drivers/llvmpipe/lp_test_printf.c
|
||||
@@ -96,7 +96,7 @@ test_printf(unsigned verbose, FILE *fp,
|
||||
boolean success = TRUE;
|
||||
|
||||
context = LLVMContextCreate();
|
||||
-#if LLVM_VERSION_MAJOR >= 15
|
||||
+#if LLVM_VERSION_MAJOR == 15
|
||||
LLVMContextSetOpaquePointers(context, false);
|
||||
#endif
|
||||
gallivm = gallivm_create("test_module", context, NULL);
|
||||
--
|
||||
2.17.1
|
||||
@@ -0,0 +1,43 @@
|
||||
From 8a5de0b6cf1090d7f29f3974ec79c32776cf2745 Mon Sep 17 00:00:00 2001
|
||||
From: Jami Kettunen <jami.kettunen@protonmail.com>
|
||||
Date: Tue, 31 Aug 2021 00:15:58 +0300
|
||||
Subject: [PATCH] freedreno/pm4: Use unsigned instead of uint to fix musl build
|
||||
|
||||
Upstream-Status: Backport
|
||||
|
||||
Fixes the following error I noticed when building against aarch64 with
|
||||
musl libc:
|
||||
|
||||
In file included from ../src/freedreno/decode/crashdec.h:38,
|
||||
from ../src/freedreno/decode/crashdec.c:40:
|
||||
../src/freedreno/common/freedreno_pm4.h:104:15: error: unknown type name 'uint'
|
||||
104 | static inline uint
|
||||
| ^~~~
|
||||
../src/freedreno/common/freedreno_pm4.h:105:25: error: unknown type name 'uint'; did you mean 'int'?
|
||||
105 | pm4_calc_odd_parity_bit(uint val)
|
||||
| ^~~~
|
||||
| int
|
||||
|
||||
Signed-off-by: Jami Kettunen <jami.kettunen@protonmail.com>
|
||||
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19665>
|
||||
---
|
||||
src/freedreno/common/freedreno_pm4.h | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/freedreno/common/freedreno_pm4.h b/src/freedreno/common/freedreno_pm4.h
|
||||
index 8f958953d693..091247e709a0 100644
|
||||
--- a/src/freedreno/common/freedreno_pm4.h
|
||||
+++ b/src/freedreno/common/freedreno_pm4.h
|
||||
@@ -105,8 +105,8 @@ pm4_pkt7_hdr(uint8_t opcode, uint16_t cnt)
|
||||
#define cp_type3_opcode(pkt) (((pkt) >> 8) & 0xFF)
|
||||
#define type3_pkt_size(pkt) ((((pkt) >> 16) & 0x3FFF) + 1)
|
||||
|
||||
-static inline uint
|
||||
-pm4_calc_odd_parity_bit(uint val)
|
||||
+static inline unsigned
|
||||
+pm4_calc_odd_parity_bit(unsigned val)
|
||||
{
|
||||
return (0x9669 >> (0xf & ((val) ^ ((val) >> 4) ^ ((val) >> 8) ^
|
||||
((val) >> 12) ^ ((val) >> 16) ^ ((val) >> 20) ^
|
||||
--
|
||||
2.39.2
|
||||
@@ -0,0 +1,58 @@
|
||||
From 2dfe0f899aeb415a5491b8c67e208673d2a2914f Mon Sep 17 00:00:00 2001
|
||||
From: Ryan Eatmon <reatmon@ti.com>
|
||||
Date: Fri, 22 Sep 2023 21:50:08 -0500
|
||||
Subject: [PATCH] gallium: Fix build with llvm 17
|
||||
|
||||
These headers are not available for C files in llvm 17+
|
||||
and they seem to be not needed to compile after all with llvm 17
|
||||
so add conditions to exclude them for llvm >= 17
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21262]
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22980]
|
||||
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
|
||||
---
|
||||
src/gallium/auxiliary/gallivm/lp_bld_init.c | 8 ++++----
|
||||
src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 4 ++++
|
||||
2 files changed, 8 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c
|
||||
index 584ea738668..fe8bb2b11af 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 && (defined(PIPE_ARCH_AARCH64) || defined (PIPE_ARCH_ARM) || defined(PIPE_ARCH_S390) || defined(PIPE_ARCH_MIPS64))
|
||||
#include <llvm-c/Transforms/IPO.h>
|
||||
#endif
|
||||
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
|
||||
index 2279e5acb28..0caeaf94263 100644
|
||||
--- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
|
||||
+++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
|
||||
@@ -56,7 +56,11 @@
|
||||
#include <llvm-c/ExecutionEngine.h>
|
||||
#include <llvm/Target/TargetOptions.h>
|
||||
#include <llvm/ExecutionEngine/ExecutionEngine.h>
|
||||
+#if LLVM_VERSION_MAJOR >= 17
|
||||
+#include <llvm/TargetParser/Triple.h>
|
||||
+#else
|
||||
#include <llvm/ADT/Triple.h>
|
||||
+#endif
|
||||
#include <llvm/Analysis/TargetLibraryInfo.h>
|
||||
#include <llvm/ExecutionEngine/SectionMemoryManager.h>
|
||||
#include <llvm/Support/CommandLine.h>
|
||||
--
|
||||
2.17.1
|
||||
@@ -0,0 +1,52 @@
|
||||
From 6c5033bb01a3a1341d4db5007586a5f2e2727b0a Mon Sep 17 00:00:00 2001
|
||||
From: Ryan Eatmon <reatmon@ti.com>
|
||||
Date: Mon, 4 Nov 2024 13:37:29 -0600
|
||||
Subject: [PATCH] gallium: Fix build with llvm 18 and 19
|
||||
|
||||
- CodeGenOpt::Level changed to CodeGenOoptLevel. [1]
|
||||
- llvm::sys::getHostCPUFeatures() now returns the features instead of
|
||||
modifying the passed in argument. [2]
|
||||
|
||||
Upstream-Status: Backport [1][https://gitlab.freedesktop.org/mesa/mesa/-/commit/f79617fe804ea6524651ff1bc3a91098d3199179]
|
||||
Upstream-Status: Backport [2][https://gitlab.freedesktop.org/mesa/mesa/-/commit/fa9cd89a85b904615ebc11da609445b5b751e68d]
|
||||
|
||||
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
|
||||
---
|
||||
src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 14 ++++++++++++--
|
||||
1 file changed, 12 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
|
||||
index 5e7a30a6cc2..dbc777e3096 100644
|
||||
--- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
|
||||
+++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
|
||||
@@ -368,7 +368,11 @@ lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT,
|
||||
builder.setEngineKind(EngineKind::JIT)
|
||||
.setErrorStr(&Error)
|
||||
.setTargetOptions(options)
|
||||
+#if LLVM_VERSION_MAJOR >= 18
|
||||
+ .setOptLevel((CodeGenOptLevel)OptLevel);
|
||||
+#else
|
||||
.setOptLevel((CodeGenOpt::Level)OptLevel);
|
||||
+#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
/*
|
||||
@@ -392,8 +396,14 @@ lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT,
|
||||
* which allows us to enable/disable code generation based
|
||||
* on the results of cpuid on these architectures.
|
||||
*/
|
||||
- llvm::StringMap<bool> features;
|
||||
- llvm::sys::getHostCPUFeatures(features);
|
||||
+ #if LLVM_VERSION_MAJOR >= 19
|
||||
+ /* llvm-19+ returns StringMap from getHostCPUFeatures.
|
||||
+ */
|
||||
+ auto features = llvm::sys::getHostCPUFeatures();
|
||||
+ #else
|
||||
+ llvm::StringMap<bool> features;
|
||||
+ llvm::sys::getHostCPUFeatures(features);
|
||||
+ #endif
|
||||
|
||||
for (StringMapIterator<bool> f = features.begin();
|
||||
f != features.end();
|
||||
--
|
||||
2.17.1
|
||||
@@ -0,0 +1,64 @@
|
||||
From 25946100e21cf2095bea334e8d7096798561d0b7 Mon Sep 17 00:00:00 2001
|
||||
From: Vincent Davis Jr <vince@underview.tech>
|
||||
Date: Wed, 28 Dec 2022 16:28:01 -0600
|
||||
Subject: [PATCH] gbm/backend: fix gbm compile without dri
|
||||
|
||||
Upstream-Status: Backport
|
||||
|
||||
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20447
|
||||
https://gitlab.freedesktop.org/mesa/mesa/-/commit/842ca284650f066e58706741a7d22d67b5088e60
|
||||
|
||||
At mesa version 22.2.3 patch wasn't introduced until after.
|
||||
|
||||
Commit introduces a fix that allows for gbm to be built with an empty
|
||||
backend. There are situation especially in a Yocto/OE cross compilation
|
||||
environment where you want to build with an empty backend. The particular
|
||||
situation is as such:
|
||||
|
||||
The mesa-gl recipe is the preferred provider for virtual/libgbm, virtual/libgl,
|
||||
virtual/mesa, etc... But the x11 DISTRO_FEATURE in't included this leads to build
|
||||
errors such as:
|
||||
|
||||
| /../../../ld: src/gbm/libgbm.so.1.0.0.p/main_backend.c.o: in function `find_backend':
|
||||
| backend.c:(.text.find_backend+0xa4): undefined reference to `gbm_dri_backend'
|
||||
| /../../../ld: src/gbm/libgbm.so.1.0.0.p/main_backend.c.o:(.data.rel.ro.builtin_backends+0x4):
|
||||
undefined reference to `gbm_dri_backend'
|
||||
| collect2: error: ld returned 1 exit status
|
||||
|
||||
Issue should be replicable by setting -Ddri3=disabled and -Dgbm=enabled
|
||||
|
||||
Add fix to bypasses compilation issue by excluding gbm dri backend. If
|
||||
HAVE_DRI || HAVE_DRIX not specified.
|
||||
|
||||
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
|
||||
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
|
||||
---
|
||||
src/gbm/main/backend.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/src/gbm/main/backend.c b/src/gbm/main/backend.c
|
||||
index 974d0a76a4e..feee0703495 100644
|
||||
--- a/src/gbm/main/backend.c
|
||||
+++ b/src/gbm/main/backend.c
|
||||
@@ -42,7 +42,9 @@
|
||||
#define ARRAY_SIZE(a) (sizeof(a)/sizeof((a)[0]))
|
||||
#define VER_MIN(a, b) ((a) < (b) ? (a) : (b))
|
||||
|
||||
+#if defined(HAVE_DRI) || defined(HAVE_DRI2) || defined(HAVE_DRI3)
|
||||
extern const struct gbm_backend gbm_dri_backend;
|
||||
+#endif
|
||||
|
||||
struct gbm_backend_desc {
|
||||
const char *name;
|
||||
@@ -51,7 +53,9 @@ struct gbm_backend_desc {
|
||||
};
|
||||
|
||||
static const struct gbm_backend_desc builtin_backends[] = {
|
||||
+#if defined(HAVE_DRI) || defined(HAVE_DRI2) || defined(HAVE_DRI3)
|
||||
{ "dri", &gbm_dri_backend },
|
||||
+#endif
|
||||
};
|
||||
|
||||
#define BACKEND_LIB_SUFFIX "_gbm"
|
||||
--
|
||||
2.34.1
|
||||
@@ -0,0 +1,25 @@
|
||||
From 3ef37c63f03ad6f2af407de350486fdd25e9132a Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 13 Jan 2020 15:23:47 -0800
|
||||
Subject: [PATCH] meson misdetects 64bit atomics on mips/clang
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
---
|
||||
src/util/u_atomic.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/util/u_atomic.c b/src/util/u_atomic.c
|
||||
index 5a5eab4..e499516 100644
|
||||
--- a/src/util/u_atomic.c
|
||||
+++ b/src/util/u_atomic.c
|
||||
@@ -21,7 +21,7 @@
|
||||
* IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
-#if defined(MISSING_64BIT_ATOMICS) && defined(HAVE_PTHREAD)
|
||||
+#if !defined(__clang__) && defined(MISSING_64BIT_ATOMICS) && defined(HAVE_PTHREAD)
|
||||
|
||||
#include <stdint.h>
|
||||
#include <pthread.h>
|
||||
@@ -0,0 +1,43 @@
|
||||
From 3b4d6b89f644b43e507c08181fef06db4326f9da Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Francis <alistair@alistair23.me>
|
||||
Date: Thu, 14 Nov 2019 13:04:49 -0800
|
||||
Subject: [PATCH] meson.build: check for all linux host_os combinations
|
||||
|
||||
Make sure that we are also looking for our host_os combinations like
|
||||
linux-musl etc. when assuming support for DRM/KMS.
|
||||
|
||||
Also delete a duplicate line.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
|
||||
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
||||
Signed-off-by: Alistair Francis <alistair@alistair23.me>
|
||||
|
||||
---
|
||||
meson.build | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 172c64a..9b5294c 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -173,7 +173,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2
|
||||
# Only build shared_glapi if at least one OpenGL API is enabled
|
||||
with_shared_glapi = with_shared_glapi and with_any_opengl
|
||||
|
||||
-system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'sunos', 'android'].contains(host_machine.system())
|
||||
+system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'sunos', 'android'].contains(host_machine.system()) or host_machine.system().startswith('linux')
|
||||
|
||||
with_freedreno_kgsl = get_option('freedreno-kgsl')
|
||||
if with_freedreno_kgsl
|
||||
@@ -1076,7 +1076,7 @@ if cc.has_function('reallocarray')
|
||||
endif
|
||||
|
||||
# TODO: this is very incomplete
|
||||
-if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku', 'android'].contains(host_machine.system())
|
||||
+if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku'].contains(host_machine.system()) or host_machine.system().startswith('linux')
|
||||
pre_args += '-D_GNU_SOURCE'
|
||||
elif host_machine.system() == 'sunos'
|
||||
pre_args += '-D__EXTENSIONS__'
|
||||
@@ -0,0 +1,47 @@
|
||||
From f17e836ef9b1bbc6056790596420b699e48128c2 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Thu, 2 Dec 2021 19:57:42 -0800
|
||||
Subject: [PATCH] util/format: Check for NEON before using it
|
||||
|
||||
This fixes build on rpi0-w and any other machine which does not have
|
||||
neon unit and is not used as FPU unit
|
||||
|
||||
Fixes errors e.g.
|
||||
|
||||
In file included from ../mesa-21.3.0/src/util/format/u_format_unpack_neon.c:35:
|
||||
/mnt/b/yoe/master/build/tmp/work/arm1176jzfshf-vfp-yoe-linux-gnueabi/mesa/2_21.3.0-r0/recipe-sysroot-native/usr/lib/clang/13.0.1/include/arm_neon.h:32:2: error: "NEON support not enabled"
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14032]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
---
|
||||
src/util/format/u_format.c | 2 +-
|
||||
src/util/format/u_format_unpack_neon.c | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/util/format/u_format.c b/src/util/format/u_format.c
|
||||
index c071250..0880984 100644
|
||||
--- a/src/util/format/u_format.c
|
||||
+++ b/src/util/format/u_format.c
|
||||
@@ -1184,7 +1184,7 @@ static void
|
||||
util_format_unpack_table_init(void)
|
||||
{
|
||||
for (enum pipe_format format = PIPE_FORMAT_NONE; format < PIPE_FORMAT_COUNT; format++) {
|
||||
-#if (defined(PIPE_ARCH_AARCH64) || defined(PIPE_ARCH_ARM)) && !defined(NO_FORMAT_ASM) && !defined(__SOFTFP__)
|
||||
+#if (defined(PIPE_ARCH_AARCH64) || (defined(__ARM_NEON) && defined(PIPE_ARCH_ARM))) && !defined(NO_FORMAT_ASM)
|
||||
const struct util_format_unpack_description *unpack = util_format_unpack_description_neon(format);
|
||||
if (unpack) {
|
||||
util_format_unpack_table[format] = unpack;
|
||||
diff --git a/src/util/format/u_format_unpack_neon.c b/src/util/format/u_format_unpack_neon.c
|
||||
index a4a5cb1..1e4f794 100644
|
||||
--- a/src/util/format/u_format_unpack_neon.c
|
||||
+++ b/src/util/format/u_format_unpack_neon.c
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
#include <u_format.h>
|
||||
|
||||
-#if (defined(PIPE_ARCH_AARCH64) || defined(PIPE_ARCH_ARM)) && !defined(NO_FORMAT_ASM) && !defined(__SOFTFP__)
|
||||
+#if (defined(PIPE_ARCH_AARCH64) || (defined(__ARM_NEON) && defined(PIPE_ARCH_ARM))) && !defined(NO_FORMAT_ASM)
|
||||
|
||||
/* armhf builds default to vfp, not neon, and refuses to compile neon intrinsics
|
||||
* unless you tell it "no really".
|
||||
@@ -0,0 +1,38 @@
|
||||
From fa9cd89a85b904615ebc11da609445b5b751e68d Mon Sep 17 00:00:00 2001
|
||||
From: Satadru Pramanik <satadru@umich.edu>
|
||||
Date: Sat, 5 Oct 2024 13:35:52 +0000
|
||||
Subject: [PATCH] Update lp_bld_misc.cpp to support llvm-19+.
|
||||
|
||||
Fixes #11896.
|
||||
cc: mesa-stable
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31533>
|
||||
Upstream-Status: Backport [https://gitlab.freedesktop.org/mesa/mesa/-/commit/fa9cd89a85b904615ebc11da609445b5b751e68d]
|
||||
Signed-off-by: Randolph Sapp <rs@ti.com>
|
||||
---
|
||||
src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 10 ++++++++--
|
||||
1 file changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
|
||||
index 7975fcf1ac9..5b615d627ff 100644
|
||||
--- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
|
||||
+++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
|
||||
@@ -329,8 +329,14 @@ lp_build_fill_mattrs(std::vector<std::string> &MAttrs)
|
||||
* which allows us to enable/disable code generation based
|
||||
* on the results of cpuid on these architectures.
|
||||
*/
|
||||
- llvm::StringMap<bool> features;
|
||||
- llvm::sys::getHostCPUFeatures(features);
|
||||
+ #if LLVM_VERSION_MAJOR >= 19
|
||||
+ /* llvm-19+ returns StringMap from getHostCPUFeatures.
|
||||
+ */
|
||||
+ auto features = llvm::sys::getHostCPUFeatures();
|
||||
+ #else
|
||||
+ llvm::StringMap<bool> features;
|
||||
+ llvm::sys::getHostCPUFeatures(features);
|
||||
+ #endif
|
||||
|
||||
for (llvm::StringMapIterator<bool> f = features.begin();
|
||||
f != features.end();
|
||||
--
|
||||
2.47.1
|
||||
@@ -0,0 +1,57 @@
|
||||
From 4bd15a419e892da843489c374c58c5b29c40b5d6 Mon Sep 17 00:00:00 2001
|
||||
From: Romain Naour <romain.naour@smile.fr>
|
||||
Date: Tue, 6 Feb 2024 09:47:09 +0100
|
||||
Subject: [PATCH 1/2] drisw: fix build without dri3
|
||||
|
||||
commit 1887368df41 ("glx/sw: check for modifier support in the kopper path")
|
||||
added dri3_priv.h header and dri3_check_multibuffer() function in drisw that
|
||||
can be build without dri3.
|
||||
|
||||
i686-buildroot-linux-gnu/bin/ld: src/glx/libglx.a.p/drisw_glx.c.o: in function `driswCreateScreenDriver':
|
||||
drisw_glx.c:(.text.driswCreateScreenDriver+0x3a0): undefined reference to `dri3_check_multibuffer'
|
||||
collect2: error: ld returned 1 exit status
|
||||
|
||||
Add HAVE_DRI3 guard around dri3_priv.h header and the zink code using
|
||||
dri3_check_multibuffer().
|
||||
|
||||
Fixes: 1887368df41 ("glx/sw: check for modifier support in the kopper path")
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27478]
|
||||
Signed-off-by: Romain Naour <romain.naour@smile.fr>
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
src/glx/drisw_glx.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c
|
||||
index 3d3f752..4b19e2d 100644
|
||||
--- a/src/glx/drisw_glx.c
|
||||
+++ b/src/glx/drisw_glx.c
|
||||
@@ -32,7 +32,9 @@
|
||||
#include <dlfcn.h>
|
||||
#include "dri_common.h"
|
||||
#include "drisw_priv.h"
|
||||
+#ifdef HAVE_DRI3
|
||||
#include "dri3_priv.h"
|
||||
+#endif
|
||||
#include <X11/extensions/shmproto.h>
|
||||
#include <assert.h>
|
||||
#include <vulkan/vulkan_core.h>
|
||||
@@ -995,6 +997,7 @@ driswCreateScreenDriver(int screen, struct glx_display *priv,
|
||||
goto handle_error;
|
||||
}
|
||||
|
||||
+#ifdef HAVE_DRI3
|
||||
if (pdpyp->zink) {
|
||||
bool err;
|
||||
psc->has_multibuffer = dri3_check_multibuffer(priv->dpy, &err);
|
||||
@@ -1005,6 +1008,7 @@ driswCreateScreenDriver(int screen, struct glx_display *priv,
|
||||
goto handle_error;
|
||||
}
|
||||
}
|
||||
+#endif
|
||||
|
||||
glx_config_destroy_list(psc->base.configs);
|
||||
psc->base.configs = configs;
|
||||
--
|
||||
2.44.0
|
||||
@@ -0,0 +1,40 @@
|
||||
From 6d07f6aa7f92f40d78a2db645f16f0f3e7d3c2e8 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 23 Jun 2023 01:20:38 -0700
|
||||
Subject: [PATCH] gallium: Fix build with llvm 17
|
||||
|
||||
These headers are not available for C files in llvm 17+
|
||||
and they seem to be not needed to compile after all with llvm 17
|
||||
so add conditions to exclude them for llvm >= 17
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23827]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
---
|
||||
src/gallium/auxiliary/gallivm/lp_bld_init.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c
|
||||
index cd2108f..b1a4d03 100644
|
||||
--- a/src/gallium/auxiliary/gallivm/lp_bld_init.c
|
||||
+++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c
|
||||
@@ -46,15 +46,19 @@
|
||||
#if GALLIVM_USE_NEW_PASS == 1
|
||||
#include <llvm-c/Transforms/PassBuilder.h>
|
||||
#elif GALLIVM_HAVE_CORO == 1
|
||||
+#if LLVM_VERSION_MAJOR < 17
|
||||
#include <llvm-c/Transforms/Scalar.h>
|
||||
-#if LLVM_VERSION_MAJOR >= 7
|
||||
+#endif
|
||||
+#if LLVM_VERSION_MAJOR >= 7 && LLVM_VERSION_MAJOR < 17
|
||||
#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
|
||||
+#if LLVM_VERSION_MAJOR < 17
|
||||
#include <llvm-c/Transforms/Coroutines.h>
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
unsigned gallivm_perf = 0;
|
||||
@@ -0,0 +1,31 @@
|
||||
From d17338d403980e1932a42f5d11c2a1fb7b25127b Mon Sep 17 00:00:00 2001
|
||||
From: MastaG <mastag@gmail.com>
|
||||
Date: Wed, 3 Jul 2024 21:00:42 +0200
|
||||
Subject: [PATCH] gallivm: Call StringMapIterator from llvm:: scope
|
||||
|
||||
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11392
|
||||
Fixes: b035d9cab5a4 ("gallivm: use getHostCPUFeatures on x86/llvm-4.0+.")
|
||||
Reviewed-by: David Heidelberg <david@ixit.cz>
|
||||
Signed-off-by: David Heidelberg <david@ixit.cz>
|
||||
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30009>
|
||||
Upstream-Status: Backport [https://gitlab.freedesktop.org/mesa/mesa/-/commit/d17338d403980e1932a42f5d11c2a1fb7b25127b]
|
||||
Signed-off-by: Randolph Sapp <rs@ti.com>
|
||||
---
|
||||
src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
|
||||
index 95a8a6c6a08..f3c10652ed6 100644
|
||||
--- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
|
||||
+++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
|
||||
@@ -332,7 +332,7 @@ lp_build_fill_mattrs(std::vector<std::string> &MAttrs)
|
||||
llvm::StringMap<bool> features;
|
||||
llvm::sys::getHostCPUFeatures(features);
|
||||
|
||||
- for (StringMapIterator<bool> f = features.begin();
|
||||
+ for (llvm::StringMapIterator<bool> f = features.begin();
|
||||
f != features.end();
|
||||
++f) {
|
||||
MAttrs.push_back(((*f).second ? "+" : "-") + (*f).first().str());
|
||||
--
|
||||
2.47.1
|
||||
@@ -0,0 +1,25 @@
|
||||
From 3ef37c63f03ad6f2af407de350486fdd25e9132a Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 13 Jan 2020 15:23:47 -0800
|
||||
Subject: [PATCH] meson misdetects 64bit atomics on mips/clang
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
---
|
||||
src/util/u_atomic.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/util/u_atomic.c b/src/util/u_atomic.c
|
||||
index 5a5eab4..e499516 100644
|
||||
--- a/src/util/u_atomic.c
|
||||
+++ b/src/util/u_atomic.c
|
||||
@@ -21,7 +21,7 @@
|
||||
* IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
-#if defined(MISSING_64BIT_ATOMICS) && defined(HAVE_PTHREAD)
|
||||
+#if !defined(__clang__) && defined(MISSING_64BIT_ATOMICS) && defined(HAVE_PTHREAD)
|
||||
|
||||
#include <stdint.h>
|
||||
#include <pthread.h>
|
||||
@@ -0,0 +1,43 @@
|
||||
From f2fe76d506f356de055b8eca83a7c9d0744a40af Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Francis <alistair@alistair23.me>
|
||||
Date: Thu, 14 Nov 2019 13:04:49 -0800
|
||||
Subject: [PATCH] meson.build: check for all linux host_os combinations
|
||||
|
||||
Make sure that we are also looking for our host_os combinations like
|
||||
linux-musl etc. when assuming support for DRM/KMS.
|
||||
|
||||
Also delete a duplicate line.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
|
||||
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
||||
Signed-off-by: Alistair Francis <alistair@alistair23.me>
|
||||
|
||||
---
|
||||
meson.build | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 35cc5f1..9a49c0d 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -128,7 +128,7 @@
|
||||
# Only build shared_glapi if at least one OpenGL API is enabled
|
||||
with_shared_glapi = with_shared_glapi and with_any_opengl
|
||||
|
||||
-system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'sunos', 'android', 'managarm'].contains(host_machine.system())
|
||||
+system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'sunos', 'android', 'managarm'].contains(host_machine.system()) or host_machine.system().startswith('linux')
|
||||
|
||||
gallium_drivers = get_option('gallium-drivers')
|
||||
if gallium_drivers.contains('auto')
|
||||
@@ -998,7 +998,7 @@
|
||||
endif
|
||||
|
||||
# TODO: this is very incomplete
|
||||
-if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku', 'android', 'managarm'].contains(host_machine.system())
|
||||
+if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku', 'android', 'managarm'].contains(host_machine.system()) or host_machine.system().startswith('linux')
|
||||
pre_args += '-D_GNU_SOURCE'
|
||||
elif host_machine.system() == 'sunos'
|
||||
pre_args += '-D__EXTENSIONS__'
|
||||
@@ -0,0 +1,41 @@
|
||||
From 62495ebb977866c52d5bed8499a547c49f0d9bc1 Mon Sep 17 00:00:00 2001
|
||||
From: Romain Naour <romain.naour@smile.fr>
|
||||
Date: Tue, 6 Feb 2024 09:47:10 +0100
|
||||
Subject: [PATCH 2/2] glxext: don't try zink if not enabled in mesa
|
||||
|
||||
Commit 7d9ea77b459 ("glx: add automatic zink fallback loading between hw and sw drivers")
|
||||
added an automatic zink fallback even when the zink gallium is not
|
||||
enabled at build time.
|
||||
|
||||
It leads to unexpected error log while loading drisw driver and
|
||||
zink is not installed on the rootfs:
|
||||
|
||||
MESA-LOADER: failed to open zink: /usr/lib/dri/zink_dri.so
|
||||
|
||||
Fixes: 7d9ea77b459 ("glx: add automatic zink fallback loading between hw and sw drivers")
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27478]
|
||||
Signed-off-by: Romain Naour <romain.naour@smile.fr>
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
src/glx/glxext.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/glx/glxext.c b/src/glx/glxext.c
|
||||
index 05c825a..7a06aa9 100644
|
||||
--- a/src/glx/glxext.c
|
||||
+++ b/src/glx/glxext.c
|
||||
@@ -908,9 +908,11 @@ __glXInitialize(Display * dpy)
|
||||
#endif /* HAVE_DRI3 */
|
||||
if (!debug_get_bool_option("LIBGL_DRI2_DISABLE", false))
|
||||
dpyPriv->dri2Display = dri2CreateDisplay(dpy);
|
||||
+#if defined(HAVE_ZINK)
|
||||
if (!dpyPriv->dri3Display && !dpyPriv->dri2Display)
|
||||
try_zink = !debug_get_bool_option("LIBGL_KOPPER_DISABLE", false) &&
|
||||
!getenv("GALLIUM_DRIVER");
|
||||
+#endif /* HAVE_ZINK */
|
||||
}
|
||||
#endif /* GLX_USE_DRM */
|
||||
if (glx_direct)
|
||||
--
|
||||
2.44.0
|
||||
@@ -0,0 +1,62 @@
|
||||
# PowerVR Graphics require several patches that have not made their way
|
||||
# upstream yet. This allows us to build the shims we need without completely
|
||||
# clobbering mesa.
|
||||
|
||||
require recipes-graphics/mesa/mesa.inc
|
||||
|
||||
SUMMARY += " (with PowerVR support for TI platforms)"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://docs/license.rst;md5=63779ec98d78d823a9dc533a0735ef10"
|
||||
|
||||
BRANCH = "powervr/kirkstone/${PV}"
|
||||
|
||||
SRC_URI = " \
|
||||
git://gitlab.freedesktop.org/StaticRocket/mesa.git;protocol=https;branch=${BRANCH} \
|
||||
file://0001-meson.build-check-for-all-linux-host_os-combinations.patch \
|
||||
file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
|
||||
file://0001-util-format-Check-for-NEON-before-using-it.patch \
|
||||
file://0001-gbm-backend-fix-gbm-compile-without-dri.patch \
|
||||
file://0001-freedreno-pm4-Use-unsigned-instead-of-uint-to-fix-mu.patch \
|
||||
file://0001-gallium-Fix-build-with-llvm-17.patch \
|
||||
file://0001-fix-gallivm-limit-usage-of-LLVMContextSetOpaquePoint.patch \
|
||||
file://0001-fix-gallivm-fix-LLVM-include-of-Host-h-moved-to-TargetParser.patch \
|
||||
file://0001-gallium-Fix-build-with-llvm-18-and-19.patch \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
PACKAGECONFIG:append = " \
|
||||
${@bb.utils.contains('PREFERRED_PROVIDER_virtual/gpudriver', 'ti-img-rogue-driver', 'pvr', '', d)} \
|
||||
${@bb.utils.contains('PREFERRED_PROVIDER_virtual/gpudriver', 'ti-sgx-ddk-km', 'sgx', '', d)} \
|
||||
"
|
||||
|
||||
SRCREV = "c9f0919367589b38f5682183846de9d60eec082d"
|
||||
PV = "22.3.5"
|
||||
|
||||
PVR_DISPLAY_CONTROLLER_ALIAS ??= "tidss"
|
||||
PACKAGECONFIG[pvr] = "-Dgallium-pvr-alias=${PVR_DISPLAY_CONTROLLER_ALIAS},"
|
||||
PACKAGECONFIG[sgx] = "-Dgallium-sgx-alias=${PVR_DISPLAY_CONTROLLER_ALIAS},"
|
||||
|
||||
PACKAGECONFIG:remove = "video-codecs"
|
||||
PACKAGECONFIG[video-codecs] = ""
|
||||
PACKAGECONFIG:remove = "elf-tls"
|
||||
PACKAGECONFIG[elf-tls] = ""
|
||||
PACKAGECONFIG:remove = "xvmc"
|
||||
PACKAGECONFIG[xvmc] = ""
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'pvr', ',pvr', '', d)}"
|
||||
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'sgx', ',sgx', '', d)}"
|
||||
|
||||
VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'pvr', ',pvr', '', d)}"
|
||||
|
||||
do_install:append () {
|
||||
# remove pvr custom pkgconfig
|
||||
rm -rf ${D}${datadir}/pkgconfig
|
||||
}
|
||||
|
||||
FILES:${PN}-dev += "${datadir}/mesa/wayland-drm.xml"
|
||||
FILES:mesa-vulkan-drivers += "${libdir}/libpvr_mesa_wsi.so"
|
||||
|
||||
RRECOMMENDS:mesa-megadriver:append:class-target = " ${@d.getVar('PREFERRED_PROVIDER_virtual/gpudriver')}"
|
||||
@@ -0,0 +1,54 @@
|
||||
# PowerVR Graphics require several patches that have not made their way
|
||||
# upstream yet. This allows us to build the shims we need without completely
|
||||
# clobbering mesa.
|
||||
|
||||
require recipes-graphics/mesa/mesa.inc
|
||||
|
||||
SUMMARY += " (with PowerVR support for TI platforms)"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://docs/license.rst;md5=63779ec98d78d823a9dc533a0735ef10"
|
||||
|
||||
BRANCH = "powervr/${PV}"
|
||||
|
||||
SRC_URI = " \
|
||||
git://gitlab.freedesktop.org/StaticRocket/mesa.git;protocol=https;branch=${BRANCH} \
|
||||
file://0001-meson.build-check-for-all-linux-host_os-combinations.patch \
|
||||
file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
|
||||
file://0001-gallium-Fix-build-with-llvm-17.patch \
|
||||
file://0001-drisw-fix-build-without-dri3.patch \
|
||||
file://0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch \
|
||||
file://0001-gallivm-Call-StringMapIterator-from-llvm-scope.patch \
|
||||
file://0001-Update-lp_bld_misc.cpp-to-support-llvm-19.patch \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
PACKAGECONFIG:append = " \
|
||||
${@bb.utils.contains('PREFERRED_PROVIDER_virtual/gpudriver', 'ti-img-rogue-driver', 'pvr', '', d)} \
|
||||
${@bb.utils.contains('PREFERRED_PROVIDER_virtual/gpudriver', 'ti-sgx-ddk-km', 'sgx', '', d)} \
|
||||
"
|
||||
|
||||
SRCREV = "82e6a9293c476267417c5b6b906b01fb73a34e38"
|
||||
PV = "24.0.1"
|
||||
|
||||
PVR_DISPLAY_CONTROLLER_ALIAS ??= "tidss"
|
||||
PACKAGECONFIG[pvr] = "-Dgallium-pvr-alias=${PVR_DISPLAY_CONTROLLER_ALIAS},"
|
||||
PACKAGECONFIG[sgx] = "-Dgallium-sgx-alias=${PVR_DISPLAY_CONTROLLER_ALIAS},"
|
||||
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'pvr', ',pvr', '', d)}"
|
||||
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'sgx', ',sgx', '', d)}"
|
||||
|
||||
VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'pvr', ',pvr', '', d)}"
|
||||
|
||||
do_install:append () {
|
||||
# remove pvr custom pkgconfig
|
||||
rm -rf ${D}${datadir}/pkgconfig
|
||||
}
|
||||
|
||||
FILES:${PN}-dev += "${datadir}/mesa/wayland-drm.xml"
|
||||
FILES:mesa-vulkan-drivers += "${libdir}/libpvr_mesa_wsi.so"
|
||||
|
||||
RRECOMMENDS:mesa-megadriver:append:class-target = " ${@d.getVar('PREFERRED_PROVIDER_virtual/gpudriver')}"
|
||||
@@ -0,0 +1,147 @@
|
||||
DESCRIPTION = "Userspace libraries for PowerVR Rogue GPU on TI SoCs"
|
||||
HOMEPAGE = "http://git.ti.com/graphics/ti-img-rogue-umlibs"
|
||||
LICENSE = "TI-TFL"
|
||||
LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSE;md5=7232b98c1c58f99e3baa03de5207e76f"
|
||||
|
||||
inherit bin_package
|
||||
|
||||
INHIBIT_DEFAULT_DEPS = ""
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
COMPATIBLE_MACHINE = "j721e|j721s2|j784s4|am62xx|am62pxx|j722s"
|
||||
|
||||
PR = "r3"
|
||||
|
||||
BRANCH = "linuxws/kirkstone/k6.1/${PV}"
|
||||
SRC_URI = "git://git.ti.com/git/graphics/ti-img-rogue-umlibs.git;protocol=https;branch=${BRANCH}"
|
||||
SRCREV = "0b9e64254269be2fa95c4f3e1dd925d6e4d58199"
|
||||
S = "${WORKDIR}/git/targetfs/${TARGET_PRODUCT}/${PVR_WS}/${PVR_BUILD}"
|
||||
|
||||
TARGET_PRODUCT:j721e = "j721e_linux"
|
||||
TARGET_PRODUCT:j721s2 = "j721s2_linux"
|
||||
TARGET_PRODUCT:j784s4 = "j784s4_linux"
|
||||
TARGET_PRODUCT:am62xx = "am62_linux"
|
||||
TARGET_PRODUCT:am62pxx = "am62p_linux"
|
||||
TARGET_PRODUCT:j722s = "j722s_linux"
|
||||
PVR_BUILD = "release"
|
||||
PVR_WS = "lws-generic"
|
||||
|
||||
RDEPENDS:${PN} = " \
|
||||
libdrm \
|
||||
ti-img-rogue-driver \
|
||||
${PN}-firmware \
|
||||
"
|
||||
|
||||
PACKAGECONFIG ?= " \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'vulkan wayland', 'vulkan', '', d)} \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'opengl opencl', d)} \
|
||||
"
|
||||
|
||||
PACKAGECONFIG[opengl] = ",,,,${GLES_PACKAGES}"
|
||||
PACKAGECONFIG[vulkan] = ",,,,${VULKAN_PACKAGES}"
|
||||
PACKAGECONFIG[opencl] = ",,,,${OPENCL_PACKAGES}"
|
||||
|
||||
def get_file_list(package_list_var, d):
|
||||
file_list = []
|
||||
package_list = d.getVar(package_list_var)
|
||||
prefix = f"{d.getVar('D')}/"
|
||||
if package_list:
|
||||
for package in package_list.split():
|
||||
package_file_string = d.getVar(f"FILES:{package}")
|
||||
if package_file_string:
|
||||
for package_file in package_file_string.split():
|
||||
file_list.append(f"{prefix}{package_file}")
|
||||
return " ".join(file_list)
|
||||
|
||||
do_install:append() {
|
||||
if ${@bb.utils.contains('PACKAGECONFIG', 'opengl', 'false', 'true', d)}; then
|
||||
for file in ${@get_file_list('GLES_PACKAGES', d)}; do
|
||||
rm -rf ${file}
|
||||
done
|
||||
fi
|
||||
if ${@bb.utils.contains('PACKAGECONFIG', 'vulkan', 'false', 'true', d)}; then
|
||||
for file in ${@get_file_list('VULKAN_PACKAGES', d)}; do
|
||||
rm -rf ${file}
|
||||
done
|
||||
fi
|
||||
if ${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'false', 'true', d)}; then
|
||||
for file in ${@get_file_list('OPENCL_PACKAGES', d)}; do
|
||||
rm -rf ${file}
|
||||
done
|
||||
fi
|
||||
if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then
|
||||
if [ -e ${D}/lib/firmware ]; then
|
||||
mv ${D}/lib/firmware ${D}${nonarch_base_libdir}
|
||||
fi
|
||||
fi
|
||||
|
||||
# clean up any empty directories
|
||||
find "${D}" -empty -type d -delete
|
||||
}
|
||||
|
||||
GLES_PACKAGES = "libgles1-rogue libgles2-rogue libgles3-rogue"
|
||||
VULKAN_PACKAGES = "libvk-rogue"
|
||||
OPENCL_PACKAGES = "libopencl-rogue libopencl-rogue-tools"
|
||||
|
||||
PACKAGES = " \
|
||||
${@bb.utils.contains('PACKAGECONFIG', 'opengl', d.getVar('GLES_PACKAGES'), '', d)} \
|
||||
${@bb.utils.contains('PACKAGECONFIG', 'vulkan', d.getVar('VULKAN_PACKAGES'), '', d)} \
|
||||
${@bb.utils.contains('PACKAGECONFIG', 'opencl', d.getVar('OPENCL_PACKAGES'), '', d)} \
|
||||
${PN}-tools \
|
||||
${PN}-firmware \
|
||||
${PN} \
|
||||
"
|
||||
|
||||
# Inject variables so that packages don't get Debian-renamed (which would
|
||||
# remove the -rogue suffix), but don't RPROVIDEs/RCONFLICTs on the generic
|
||||
# libgl name to prevent colliding with swrast libs
|
||||
python __anonymous() {
|
||||
suffix = ""
|
||||
if "-native" in d.getVar("PN"):
|
||||
suffix = "-native"
|
||||
for p in (("vulkan", "libvk",),
|
||||
("gles", "libgles1", "libglesv1-cm1"),
|
||||
("gles", "libgles2", "libglesv2-2"),
|
||||
("gles", "libgles3",),
|
||||
("opencl", "libopencl",)):
|
||||
mlprefix = d.getVar("MLPREFIX")
|
||||
fullp = mlprefix + p[1] + "-rogue" + suffix
|
||||
mlprefix = d.getVar("MLPREFIX")
|
||||
pkgs = " " + " ".join(mlprefix + x + suffix for x in p[1:])
|
||||
d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
|
||||
d.setVar("INSANE_SKIP:" + fullp, "dev-so ldflags")
|
||||
d.appendVar("RRECOMMENDS:" + fullp, " ${MLPREFIX}ti-img-rogue-umlibs" + suffix)
|
||||
}
|
||||
|
||||
# gles specific shared objects
|
||||
FILES:libgles1-rogue = "${libdir}/libGLESv1*.so*"
|
||||
FILES:libgles2-rogue = "${libdir}/libGLESv2*.so*"
|
||||
RDEPENDS:libgles1-rogue += "mesa-megadriver"
|
||||
RDEPENDS:libgles2-rogue += "mesa-megadriver"
|
||||
|
||||
# vulkan specific shared objects and configs
|
||||
FILES:libvk-rogue = "${libdir}/libVK_IMG.so* ${datadir}/vulkan"
|
||||
RDEPENDS:libvk-rogue += "vulkan-loader wayland libdrm"
|
||||
|
||||
# opencl specific shared objects and configs
|
||||
FILES:libopencl-rogue = "${libdir}/libPVROCL.so* ${sysconfdir}/OpenCL"
|
||||
RDEPENDS:libopencl-rogue += "opencl-icd-loader"
|
||||
RRECOMMENDS:libopencl-rogue += "libopencl-rogue-tools"
|
||||
FILES:libopencl-rogue-tools += "${bindir}/ocl*"
|
||||
DEBIAN_NOAUTONAME:libopencl-rogue-tools = "1"
|
||||
INSANE_SKIP:libopencl-rogue-tools = "ldflags"
|
||||
|
||||
# optional tools and tests
|
||||
FILES:${PN}-tools = "${bindir}/"
|
||||
RDEPENDS:${PN}-tools = "python3-core ${PN}"
|
||||
INSANE_SKIP:${PN}-tools = "ldflags"
|
||||
|
||||
# required firmware
|
||||
FILES:${PN}-firmware = "${base_libdir}/firmware/*"
|
||||
INSANE_SKIP:${PN}-firmware += "arch"
|
||||
|
||||
RRECOMMENDS:${PN} += " \
|
||||
${PN}-tools \
|
||||
"
|
||||
|
||||
INSANE_SKIP:${PN} += "already-stripped dev-so ldflags"
|
||||
@@ -0,0 +1,155 @@
|
||||
DESCRIPTION = "Userspace libraries for PowerVR Rogue GPU on TI SoCs"
|
||||
HOMEPAGE = "http://git.ti.com/graphics/ti-img-rogue-umlibs"
|
||||
LICENSE = "TI-TFL"
|
||||
LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSE;md5=7232b98c1c58f99e3baa03de5207e76f"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
COMPATIBLE_MACHINE = "j721e|j721s2|j784s4|j742s2|am62xx|am62pxx|j722s"
|
||||
|
||||
PR = "r4"
|
||||
|
||||
BRANCH = "linuxws/scarthgap/k6.12/${PV}"
|
||||
SRC_URI = "git://git.ti.com/git/graphics/ti-img-rogue-umlibs.git;protocol=https;branch=${BRANCH}"
|
||||
SRCREV = "1ed9ee185cd876200e6747192854015b8e94a7b0"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
TARGET_PRODUCT:j721e = "j721e_linux"
|
||||
TARGET_PRODUCT:j721s2 = "j721s2_linux"
|
||||
TARGET_PRODUCT:j784s4 = "j784s4_linux"
|
||||
TARGET_PRODUCT:j742s2 = "j784s4_linux"
|
||||
TARGET_PRODUCT:am62xx = "am62_linux"
|
||||
TARGET_PRODUCT:am62pxx = "am62p_linux"
|
||||
TARGET_PRODUCT:j722s = "j722s_linux"
|
||||
PVR_BUILD = "release"
|
||||
PVR_WS = "lws-generic"
|
||||
|
||||
RDEPENDS:${PN} = " \
|
||||
libdrm \
|
||||
ti-img-rogue-driver \
|
||||
${PN}-firmware \
|
||||
"
|
||||
|
||||
PACKAGECONFIG ?= " \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'vulkan wayland', 'vulkan', '', d)} \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'opengl opencl', d)} \
|
||||
"
|
||||
|
||||
PACKAGECONFIG[opengl] = ",,,,${GLES_PACKAGES}"
|
||||
PACKAGECONFIG[vulkan] = ",,,,${VULKAN_PACKAGES}"
|
||||
PACKAGECONFIG[opencl] = ",,,,${OPENCL_PACKAGES}"
|
||||
|
||||
def get_file_list(package_list_var, d):
|
||||
file_list = []
|
||||
package_list = d.getVar(package_list_var)
|
||||
prefix = f"{d.getVar('D')}/"
|
||||
if package_list:
|
||||
for package in package_list.split():
|
||||
package_file_string = d.getVar(f"FILES:{package}")
|
||||
if package_file_string:
|
||||
for package_file in package_file_string.split():
|
||||
file_list.append(f"{prefix}{package_file}")
|
||||
return " ".join(file_list)
|
||||
|
||||
EXTRA_OEMAKE += 'BUILD=${PVR_BUILD} TARGET_PRODUCT=${TARGET_PRODUCT} WINDOW_SYSTEM=${PVR_WS}'
|
||||
|
||||
do_configure[noexec] = "1"
|
||||
do_compile[noexec] = "1"
|
||||
do_install() {
|
||||
oe_runmake 'DESTDIR=${D}' install
|
||||
if ${@bb.utils.contains('PACKAGECONFIG', 'opengl', 'false', 'true', d)}; then
|
||||
for file in ${@get_file_list('GLES_PACKAGES', d)}; do
|
||||
rm -rf ${file}
|
||||
done
|
||||
fi
|
||||
if ${@bb.utils.contains('PACKAGECONFIG', 'vulkan', 'false', 'true', d)}; then
|
||||
for file in ${@get_file_list('VULKAN_PACKAGES', d)}; do
|
||||
rm -rf ${file}
|
||||
done
|
||||
fi
|
||||
if ${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'false', 'true', d)}; then
|
||||
for file in ${@get_file_list('OPENCL_PACKAGES', d)}; do
|
||||
rm -rf ${file}
|
||||
done
|
||||
fi
|
||||
if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then
|
||||
if [ -e ${D}/lib/firmware ]; then
|
||||
mv ${D}/lib/firmware ${D}${nonarch_base_libdir}
|
||||
fi
|
||||
fi
|
||||
|
||||
# clean up any empty directories
|
||||
find "${D}" -empty -type d -delete
|
||||
|
||||
# fix permissions
|
||||
chown -R root:root "${D}"
|
||||
}
|
||||
|
||||
GLES_PACKAGES = "libgles1-rogue libgles2-rogue libgles3-rogue"
|
||||
VULKAN_PACKAGES = "libvk-rogue"
|
||||
OPENCL_PACKAGES = "libopencl-rogue libopencl-rogue-tools"
|
||||
|
||||
PACKAGES = " \
|
||||
${@bb.utils.contains('PACKAGECONFIG', 'opengl', d.getVar('GLES_PACKAGES'), '', d)} \
|
||||
${@bb.utils.contains('PACKAGECONFIG', 'vulkan', d.getVar('VULKAN_PACKAGES'), '', d)} \
|
||||
${@bb.utils.contains('PACKAGECONFIG', 'opencl', d.getVar('OPENCL_PACKAGES'), '', d)} \
|
||||
${PN}-tools \
|
||||
${PN}-firmware \
|
||||
${PN} \
|
||||
"
|
||||
|
||||
# Inject variables so that packages don't get Debian-renamed (which would
|
||||
# remove the -rogue suffix), but don't RPROVIDEs/RCONFLICTs on the generic
|
||||
# libgl name to prevent colliding with swrast libs
|
||||
python __anonymous() {
|
||||
suffix = ""
|
||||
if "-native" in d.getVar("PN"):
|
||||
suffix = "-native"
|
||||
for p in (("vulkan", "libvk",),
|
||||
("gles", "libgles1", "libglesv1-cm1"),
|
||||
("gles", "libgles2", "libglesv2-2"),
|
||||
("gles", "libgles3",),
|
||||
("opencl", "libopencl",)):
|
||||
mlprefix = d.getVar("MLPREFIX")
|
||||
fullp = mlprefix + p[1] + "-rogue" + suffix
|
||||
mlprefix = d.getVar("MLPREFIX")
|
||||
pkgs = " " + " ".join(mlprefix + x + suffix for x in p[1:])
|
||||
d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
|
||||
d.setVar("INSANE_SKIP:" + fullp, "dev-so ldflags")
|
||||
d.appendVar("RRECOMMENDS:" + fullp, " ${MLPREFIX}ti-img-rogue-umlibs" + suffix)
|
||||
}
|
||||
|
||||
# gles specific shared objects
|
||||
FILES:libgles1-rogue = "${libdir}/libGLESv1*.so*"
|
||||
FILES:libgles2-rogue = "${libdir}/libGLESv2*.so*"
|
||||
RDEPENDS:libgles1-rogue += "mesa-megadriver"
|
||||
RDEPENDS:libgles2-rogue += "mesa-megadriver"
|
||||
|
||||
# vulkan specific shared objects and configs
|
||||
FILES:libvk-rogue = "${libdir}/libVK_IMG.so* ${datadir}/vulkan"
|
||||
RDEPENDS:libvk-rogue += "vulkan-loader wayland libdrm"
|
||||
|
||||
# opencl specific shared objects and configs
|
||||
FILES:libopencl-rogue = "${libdir}/libPVROCL.so* ${sysconfdir}/OpenCL"
|
||||
RDEPENDS:libopencl-rogue += "opencl-icd-loader"
|
||||
RRECOMMENDS:libopencl-rogue += "libopencl-rogue-tools"
|
||||
FILES:libopencl-rogue-tools += "${bindir}/ocl*"
|
||||
DEBIAN_NOAUTONAME:libopencl-rogue-tools = "1"
|
||||
INSANE_SKIP:libopencl-rogue-tools = "ldflags"
|
||||
|
||||
# optional tools and tests
|
||||
FILES:${PN}-tools = "${bindir}/"
|
||||
RDEPENDS:${PN}-tools = "python3-core libdrm ${PN}"
|
||||
INSANE_SKIP:${PN}-tools = "ldflags"
|
||||
|
||||
# required firmware
|
||||
FILES:${PN}-firmware = "${base_libdir}/firmware/*"
|
||||
INSANE_SKIP:${PN}-firmware += "arch"
|
||||
|
||||
# common libraries
|
||||
FILES:${PN} = "${libdir}"
|
||||
|
||||
RRECOMMENDS:${PN} += " \
|
||||
${PN}-tools \
|
||||
"
|
||||
|
||||
INSANE_SKIP:${PN} += "already-stripped dev-so ldflags"
|
||||
@@ -0,0 +1,69 @@
|
||||
DESCRIPTION = "Userspace libraries for PowerVR SGX chipset on TI SoCs"
|
||||
HOMEPAGE = "https://git.ti.com/graphics/omap5-sgx-ddk-um-linux"
|
||||
LICENSE = "TI-TSPA"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=7232b98c1c58f99e3baa03de5207e76f"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
COMPATIBLE_MACHINE = "ti33x|ti43x|omap-a15|am65xx"
|
||||
|
||||
PR = "r38"
|
||||
|
||||
BRANCH = "${PV}/mesa/glibc-2.35"
|
||||
|
||||
SRC_URI = " \
|
||||
git://git.ti.com/git/graphics/omap5-sgx-ddk-um-linux.git;protocol=https;branch=${BRANCH} \
|
||||
"
|
||||
SRCREV = "84a396a4fb379f10931421e489ac8a199d6a9f2c"
|
||||
|
||||
INITSCRIPT_NAME = "rc.pvr"
|
||||
INITSCRIPT_PARAMS = "defaults 8"
|
||||
SYSTEMD_SERVICE:${PN} = "pvrsrvctl.service"
|
||||
|
||||
# Prefer udev rules over everything, but we do have init services if necessary
|
||||
PACKAGECONFIG ??= "udev"
|
||||
PACKAGECONFIG[udev] = "UDEV=true,UDEV=false,,udev,,sysvinit systemd"
|
||||
PACKAGECONFIG[systemd] = "SYSTEMD=true,SYSTEMD=false,,,,udev sysvinit"
|
||||
PACKAGECONFIG[sysvinit] = ",,,,,udev systemd"
|
||||
|
||||
def pick_init(d):
|
||||
packageconfig = d.getVar('PACKAGECONFIG').split()
|
||||
if 'udev' not in packageconfig:
|
||||
if d.getVar('VIRTUAL-RUNTIME_init_manager') == 'sysvinit':
|
||||
return "update-rc.d"
|
||||
return "systemd"
|
||||
return ""
|
||||
|
||||
inherit ${@pick_init(d)}
|
||||
|
||||
TARGET_PRODUCT:ti33x = "ti335x_linux"
|
||||
TARGET_PRODUCT:ti43x = "ti437x_linux"
|
||||
TARGET_PRODUCT:omap-a15 = "ti572x_linux"
|
||||
TARGET_PRODUCT:am65xx = "ti654x_linux"
|
||||
|
||||
RDEPENDS:${PN} += "libdrm"
|
||||
|
||||
RRECOMMENDS:${PN} += "ti-sgx-ddk-km"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
EXTRA_OEMAKE += "DESTDIR=${D} TARGET_PRODUCT=${TARGET_PRODUCT} ${PACKAGECONFIG_CONFARGS}"
|
||||
|
||||
do_configure[noexec] = "1"
|
||||
do_compile[noexec] = "1"
|
||||
do_install() {
|
||||
oe_runmake install
|
||||
}
|
||||
|
||||
FILES:${PN} = "${bindir}/*"
|
||||
FILES:${PN} += " ${libdir}/*"
|
||||
FILES:${PN} += "${includedir}/*"
|
||||
FILES:${PN} += "${sysconfdir}/*"
|
||||
FILES:${PN} += "${datadir}/*"
|
||||
FILES:${PN} += "${nonarch_base_libdir}/udev/rules.d"
|
||||
FILES:${PN} += "${nonarch_base_libdir}/systemd/system"
|
||||
|
||||
# No debug or dev packages for this recipe
|
||||
PACKAGES = "${PN}"
|
||||
|
||||
INSANE_SKIP:${PN} += "ldflags"
|
||||
INSANE_SKIP:${PN} += "already-stripped dev-so"
|
||||
Reference in New Issue
Block a user