From ebcb4c2156e9c0900fce6ee9ce6e3bd7894f7953 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 8 Nov 2017 14:07:38 -0800 Subject: [PATCH] meson: Enable VC4's NEON assembly support. Reviewed-by: Dylan Baker Reviewed-by: Eric Engestrom Tested-by: Timothy Arceri --- meson.build | 4 ++-- src/gallium/drivers/vc4/meson.build | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index ce97fa95..ddd7680 100644 --- a/meson.build +++ b/meson.build @@ -489,8 +489,8 @@ endif # FIXME: enable asm when cross compiler # This is doable (autotools does it), but it's not of immediate concern -if meson.is_cross_build() - message('Cross compiling, disabling asm') +if meson.is_cross_build() and host_machine.cpu_family().startswith('x86') + message('Cross compiling, disabling x86/x86_64 asm') with_asm = false endif diff --git a/src/gallium/drivers/vc4/meson.build b/src/gallium/drivers/vc4/meson.build index 38b47fb..572d4b4 100644 --- a/src/gallium/drivers/vc4/meson.build +++ b/src/gallium/drivers/vc4/meson.build @@ -81,6 +81,18 @@ files_libvc4 = files( 'vc4_uniforms.c', ) +libvc4_neon = [] +if with_asm_arch == 'arm' + libvc4_neon = static_library( + 'vc4_neon', + 'vc4_tiling_lt_neon.c', + include_directories : [ + inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_broadcom + ], + c_args : '-mfpu=neon', + ) +endif + simpenrose_c_args = [] dep_simpenrose = dependency('simpenrose', required : false) if dep_simpenrose.found() @@ -94,6 +106,7 @@ libvc4 = static_library( inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_broadcom, inc_gallium_drivers, inc_drm_uapi, ], + link_with: libvc4_neon, c_args : [c_vis_args, simpenrose_c_args], cpp_args : [cpp_vis_args], dependencies : [dep_simpenrose, dep_libdrm, dep_valgrind], -- 2.7.4