From a5cdb54ed78b136c83dd44aebfa27f715cda5ea3 Mon Sep 17 00:00:00 2001 From: "Arnout Vandecappelle (Essensium/Mind)" Date: Sun, 9 Jan 2022 18:15:11 +0100 Subject: [PATCH] package/mesa3d: Gallium VC4 driver depends on NEON Since version 21.3.0 of mesa3d, the generic broadcom infrastructure (which is called v3d but is used also for VC4) started using NEON instructions. This leads to assembler failures when VC4 is built for 32-bit ARM without NEON: FAILED: src/broadcom/libv3d_neon.a.p/common_v3d_tiling.c.o /home/buildroot/autobuild/instance-2/output-1/host/bin/arm-linux-gcc [...] -c ../src/broadcom/common/v3d_tiling.c /tmp/ccAvufNv.s: Assembler messages: /tmp/ccAvufNv.s:602: Error: selected processor does not support `vldm r7,{q0,q1,q2,q3}' in ARM mode [...] /tmp/ccAvufNv.s:686: Error: selected processor does not support `vstm r7,{q0,q1,q2,q3}' in ARM mode Let the VC4 driver depend on NEON for 32-bit ARM. Aarch64 always has NEON, so no condition is needed there. Fixes: http://autobuild.buildroot.net/results/2b5/2b531f7aa4506ee31a7252c87a2e401fffab9dfb/ http://autobuild.buildroot.net/results/6f9/6f9e7c864808dc0fafbca7c8984651fe92edbaf2/ Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: Romain Naour Signed-off-by: Yann E. MORIN --- package/mesa3d/Config.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in index b9a5574b63..7cf5c26227 100644 --- a/package/mesa3d/Config.in +++ b/package/mesa3d/Config.in @@ -274,7 +274,7 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4 bool "Gallium vc4 driver" - depends on BR2_arm || BR2_aarch64 + depends on (BR2_arm && BR2_ARM_CPU_HAS_NEON) || BR2_aarch64 depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER