Created attachment 187176 [details]
libvc4_neon_la is built on armv6 and armv7 but not actually used due to lack of runtime detection. powerpc* can avoid relying on SIGILL by using hw.altivec, similar to OS X.
Build tested on 11.1 armv6/aarch64, 12.0 armv6/aarch64.
Is VC4 usable on FreeBSD somehow? I don't see the vc4 KMS module anywhere…
Created attachment 187177 [details]
> Is VC4 usable on FreeBSD somehow?
I guess, not yet. Bug 214580 enabled it to be future-proof. ;)
Is this patch valid for mesa 17.3? I just updated our mesa ports to that version.
I want to let the mesa update simmer for a little while, before I commit this as well.
(In reply to Niclas Zeising from comment #4)
> Is this patch valid for mesa 17.3?
Should be. src/gallium/auxiliary/util/u_cpu_detect.c didn't change since Mesa 17.2.3. NEON detection here maybe incorrect style-wise but I can't agree with arm@ folks about non-sysctl API.
Added this to the branch tracking mesa 18.1.0.
Comment on attachment 187176 [details]
On FreeBSD NEON and AltiVec can be detected via elf_aux_info(3) which is more simple/efficient. Unfortunately, on /stable/11 the old sysctl code have to be used.
Is this PR still valid, or are we still waiting to land these changes to the mesa port/pkg?
I've submitted upstream an improved version.
Created attachment 207539 [details]
- Don't bother detecting NEON on FreeBSD 11
- Switch to hw.cpu_features on powerpc* for VSX
Piotr, can you check build on powerpc64? If possible also run glxgears using gallium driver (e.g., llvmpipe).
(In reply to Jan Beich from comment #11)
Just tested it with llvmpipe without your patch and with it.
On both configurations, glxgears segfaults. X11 may be a little faster with this patch, but this is only subjective.
Note that in order to start X11, acceleration needs to be disabled by putting:
Option "Accel" "off"
This disables 3D acceleration, otherwise Xorg doesn't start at all. My GPU is HD 7790 and I use radeonkms from drm-current-kmod (amdgpu doesn't work on ppc64).