1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- From f719e942dde0a46a9ff0080001cb3466012ffcc0 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.net>
- [rebased for 20.2.0, 20.3.0, 21.1.0, 23.1.0, 23.2.0, 24.3.0 & 25.1.0]
- Signed-off-by: Peter Seiderer <ps.report@gmx.net>
- [fix syntax error after previous rebases]
- ---
- meson.options | 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 b/meson.options
- index 8e0bf2a..1cf0e07 100644
- --- a/meson.options
- +++ b/meson.options
- @@ -117,6 +117,13 @@ option(
- description : 'enable gallium va frontend.',
- )
-
- +option(
- + 'gallium-vc4-neon',
- + type : 'feature',
- + deprecated: {'true': 'enabled', 'false': '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 84da951..7f950de 100644
- --- a/src/gallium/drivers/vc4/meson.build
- +++ b/src/gallium/drivers/vc4/meson.build
- @@ -72,7 +72,7 @@ files_libvc4 = files(
- ]
-
- libvc4_neon = []
- -if host_machine.cpu_family() == 'arm'
- +if host_machine.cpu_family() == 'arm' and not get_option('gallium-vc4-neon').disabled()
- libvc4_neon = static_library(
- 'vc4_neon',
- 'vc4_tiling_lt.c',
- @@ -82,7 +82,7 @@ if host_machine.cpu_family() == 'arm'
- c_args : ['-mfpu=neon', '-DV3D_BUILD_NEON'],
- dependencies : vc4_deps,
- )
- - 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 5afe329..919b299 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.41.0
|