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: 0c05198d6b ("v3d: Always enable the NEON utile load/store code.")
This commit is contained in:
Eric Anholt 2019-03-01 12:48:51 -08:00
parent e0148bbcfd
commit f1122f78b7
1 changed files with 17 additions and 3 deletions

View File

@ -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(