* [Buildroot] [PATCH] package/mesa3d: Gallium VC4 driver depends on NEON
@ 2022-01-09 17:15 Arnout Vandecappelle (Essensium/Mind)
2022-01-09 17:24 ` Romain Naour
2022-01-09 20:14 ` Yann E. MORIN
0 siblings, 2 replies; 4+ messages in thread
From: Arnout Vandecappelle (Essensium/Mind) @ 2022-01-09 17:15 UTC (permalink / raw)
To: buildroot; +Cc: Bernd Kuhls, Romain Naour, Peter Seiderer
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>
---
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 34b0352056..37c4f8078e 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
--
2.31.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [Buildroot] [PATCH] package/mesa3d: Gallium VC4 driver depends on NEON
2022-01-09 17:15 [Buildroot] [PATCH] package/mesa3d: Gallium VC4 driver depends on NEON Arnout Vandecappelle (Essensium/Mind)
@ 2022-01-09 17:24 ` Romain Naour
2022-01-09 18:11 ` Arnout Vandecappelle
2022-01-09 20:14 ` Yann E. MORIN
1 sibling, 1 reply; 4+ messages in thread
From: Romain Naour @ 2022-01-09 17:24 UTC (permalink / raw)
To: Arnout Vandecappelle (Essensium/Mind), buildroot
Cc: Bernd Kuhls, Romain Naour, Peter Seiderer
Hello Arnout,
Le 09/01/2022 à 18:15, Arnout Vandecappelle (Essensium/Mind) a écrit :
> 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.
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D selecting
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4 already requires NEON.
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Best regards,
Romain
>
> 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>
> ---
> 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 34b0352056..37c4f8078e 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
>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [Buildroot] [PATCH] package/mesa3d: Gallium VC4 driver depends on NEON
2022-01-09 17:24 ` Romain Naour
@ 2022-01-09 18:11 ` Arnout Vandecappelle
0 siblings, 0 replies; 4+ messages in thread
From: Arnout Vandecappelle @ 2022-01-09 18:11 UTC (permalink / raw)
To: Romain Naour, buildroot; +Cc: Bernd Kuhls, Romain Naour, Peter Seiderer
On 09/01/2022 18:24, Romain Naour wrote:
> Hello Arnout,
>
> Le 09/01/2022 à 18:15, Arnout Vandecappelle (Essensium/Mind) a écrit :
>> 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.
>
> BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D selecting
> BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4 already requires NEON.
Yeah, but VC4 doesn't select V3D so that doesn't mean anything.
Regards,
Arnout
>
> Reviewed-by: Romain Naour <romain.naour@smile.fr>
>
> Best regards,
> Romain
>
>
>>
>> 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>
>> ---
>> 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 34b0352056..37c4f8078e 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
>>
>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Buildroot] [PATCH] package/mesa3d: Gallium VC4 driver depends on NEON
2022-01-09 17:15 [Buildroot] [PATCH] package/mesa3d: Gallium VC4 driver depends on NEON Arnout Vandecappelle (Essensium/Mind)
2022-01-09 17:24 ` Romain Naour
@ 2022-01-09 20:14 ` Yann E. MORIN
1 sibling, 0 replies; 4+ messages in thread
From: Yann E. MORIN @ 2022-01-09 20:14 UTC (permalink / raw)
To: Arnout Vandecappelle (Essensium/Mind)
Cc: Bernd Kuhls, Romain Naour, Peter Seiderer, buildroot
Arnout, All,
On 2022-01-09 18:15 +0100, Arnout Vandecappelle (Essensium/Mind) spake thusly:
> 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>
Applied to master, thanks.
Regards,
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 34b0352056..37c4f8078e 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
> --
> 2.31.1
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-01-09 20:14 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-09 17:15 [Buildroot] [PATCH] package/mesa3d: Gallium VC4 driver depends on NEON Arnout Vandecappelle (Essensium/Mind)
2022-01-09 17:24 ` Romain Naour
2022-01-09 18:11 ` Arnout Vandecappelle
2022-01-09 20:14 ` Yann E. MORIN
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox