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) <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
Arnout Vandecappelle (Essensium/Mind) 2022-01-09 18:15:11 +01:00 committed by Yann E. MORIN
parent 02e679d8bf
commit a5cdb54ed7

View File

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