kumquat-buildroot/package/mesa3d/0003-vc4-add-meson-option-to-disable-optional-neon-suppor.patch
Bernd Kuhls d51736f472 package/mesa3d: bump version to 21.1.0
Removed kmsro-related options, these are now handled by the build
system:
https://cgit.freedesktop.org/mesa/mesa/commit/?id=70813c1c13b99cb029c8fa3537163650bdd17b6d

Updated license hash due to typo fix in upstream commit:
https://cgit.freedesktop.org/mesa/mesa/commit/?id=2f42c21221cf89f738225e3ac2aa2e85953c1dc1

Rebased patch 0003 due to upstream commit:
https://cgit.freedesktop.org/mesa/mesa/commit/?id=a9618e7c4214e29c97009870ad8904623746ffe9

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-05-18 21:57:01 +02:00

85 lines
2.9 KiB
Diff

From e3b47c1b84964c62b3e1fa782f1ffa4be0ae62f9 Mon Sep 17 00:00:00 2001
From: Peter Seiderer <ps.report@gmx.net>
Date: Mon, 9 Mar 2020 13:01:14 +0100
Subject: [PATCH] vc4: add meson option to disable optional neon support
Not all toolchains are able to compile the runtime
optional vc4 neon support, so add an meson option
to force disabling it at compile time.
[Upstream: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4114]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[rebased for 20.2.0, 20.3.0 & 21.1.0]
---
meson_options.txt | 7 +++++++
src/gallium/drivers/vc4/meson.build | 4 ++--
src/gallium/drivers/vc4/vc4_tiling.h | 4 ++--
3 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/meson_options.txt b/meson_options.txt
index a39596a6f19..0f6b6c62b55 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -123,6 +123,13 @@ option(
choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
description : 'enable gallium va frontend.',
)
+option(
+ 'gallium-vc4-neon',
+ type : 'combo',
+ value : 'auto',
+ choices : ['auto', 'disabled'],
+ description : 'enable gallium vc4 optional neon support.',
+)
option(
'va-libs-path',
type : 'string',
diff --git a/src/gallium/drivers/vc4/meson.build b/src/gallium/drivers/vc4/meson.build
index 5ce5af5f6b4..e3f7d8d62ae 100644
--- a/src/gallium/drivers/vc4/meson.build
+++ b/src/gallium/drivers/vc4/meson.build
@@ -84,7 +84,7 @@ files_libvc4 = files(
vc4_c_args = []
libvc4_neon = []
-if host_machine.cpu_family() == 'arm'
+if host_machine.cpu_family() == 'arm' and get_option('gallium-vc4-neon') != 'disabled'
libvc4_neon = static_library(
'vc4_neon',
'vc4_tiling_lt_neon.c',
@@ -93,7 +93,7 @@ if host_machine.cpu_family() == 'arm'
],
c_args : '-mfpu=neon',
)
- vc4_c_args += '-DUSE_ARM_ASM'
+ vc4_c_args += '-DVC4_TILING_LT_NEON'
endif
if dep_simpenrose.found()
diff --git a/src/gallium/drivers/vc4/vc4_tiling.h b/src/gallium/drivers/vc4/vc4_tiling.h
index 66767e7f1f8..7446f1c3d0c 100644
--- a/src/gallium/drivers/vc4/vc4_tiling.h
+++ b/src/gallium/drivers/vc4/vc4_tiling.h
@@ -89,7 +89,7 @@ vc4_load_lt_image(void *dst, uint32_t dst_stride,
void *src, uint32_t src_stride,
int cpp, const struct pipe_box *box)
{
-#ifdef USE_ARM_ASM
+#ifdef VC4_TILING_LT_NEON
if (util_get_cpu_caps()->has_neon) {
vc4_load_lt_image_neon(dst, dst_stride, src, src_stride,
cpp, box);
@@ -105,7 +105,7 @@ vc4_store_lt_image(void *dst, uint32_t dst_stride,
void *src, uint32_t src_stride,
int cpp, const struct pipe_box *box)
{
-#ifdef USE_ARM_ASM
+#ifdef VC4_TILING_LT_NEON
if (util_get_cpu_caps()->has_neon) {
vc4_store_lt_image_neon(dst, dst_stride, src, src_stride,
cpp, box);
--
2.25.1