From: Eric Anholt Date: Fri, 1 Mar 2019 20:48:51 +0000 (-0800) Subject: v3d: Fix build of NEON code with Mesa's cflags not targeting NEON. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f1122f78b765ecbb5702b5c2e2bf4a03fb83d778;p=mesa.git 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.") --- 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(