diff options
Diffstat (limited to 'meta-ti-bsp/recipes-graphics/mesa/files/0001-fix-gallivm-limit-usage-of-LLVMContextSetOpaquePoint.patch')
-rw-r--r-- | meta-ti-bsp/recipes-graphics/mesa/files/0001-fix-gallivm-limit-usage-of-LLVMContextSetOpaquePoint.patch | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/meta-ti-bsp/recipes-graphics/mesa/files/0001-fix-gallivm-limit-usage-of-LLVMContextSetOpaquePoint.patch b/meta-ti-bsp/recipes-graphics/mesa/files/0001-fix-gallivm-limit-usage-of-LLVMContextSetOpaquePoint.patch new file mode 100644 index 00000000..905fad04 --- /dev/null +++ b/meta-ti-bsp/recipes-graphics/mesa/files/0001-fix-gallivm-limit-usage-of-LLVMContextSetOpaquePoint.patch @@ -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 |