summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2019-03-01 12:48:51 -0800
committerEric Anholt <[email protected]>2019-03-01 14:21:49 -0800
commitf1122f78b765ecbb5702b5c2e2bf4a03fb83d778 (patch)
tree06a4daeb6bbb55fbf5456128f11f6fb10410f25e
parente0148bbcfdc0870fc60688ab6ac4ccb33545a181 (diff)
v3d: Fix build of NEON code with Mesa's cflags not targeting NEON.
v3d may be built as part of a set of drivers in a system not requiring NEON, but we know V3D devices will be paired with CPUs with NEON so we should be able to use this asm. Fixes: 0c05198d6b5b ("v3d: Always enable the NEON utile load/store code.")
-rw-r--r--src/gallium/drivers/v3d/meson.build20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/gallium/drivers/v3d/meson.build b/src/gallium/drivers/v3d/meson.build
index 4f517ada9cd..7f9fdf10ac2 100644
--- a/src/gallium/drivers/v3d/meson.build
+++ b/src/gallium/drivers/v3d/meson.build
@@ -37,8 +37,6 @@ files_libv3d = files(
'v3d_screen.h',
'v3d_simulator.c',
'v3d_simulator_wrapper.cpp',
- 'v3d_tiling.c',
- 'v3d_tiling.h',
'v3d_uniforms.c',
)
@@ -77,6 +75,22 @@ foreach ver : v3d_versions
endforeach
+v3d_neon_c_args = []
+if host_machine.cpu_family() == 'arm'
+ v3d_neon_c_args = '-mfpu=neon'
+endif
+
+libv3d_neon = static_library(
+ 'v3d_neon',
+ 'v3d_tiling.c',
+ include_directories : [
+ inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_broadcom,
+ inc_gallium_drivers,
+ ],
+ c_args : [c_vis_args, v3d_args, v3d_neon_c_args],
+ dependencies : [dep_v3dv3, dep_libdrm, dep_valgrind, idep_nir_headers],
+)
+
libv3d = static_library(
'v3d',
[files_libv3d, v3d_xml_pack],
@@ -87,7 +101,7 @@ libv3d = static_library(
c_args : [c_vis_args, v3d_args],
cpp_args : [cpp_vis_args, v3d_args],
dependencies : [dep_v3dv3, dep_libdrm, dep_valgrind, idep_nir_headers],
- link_with: per_version_libs,
+ link_with: [per_version_libs, libv3d_neon],
)
driver_v3d = declare_dependency(