Bug 223014 - graphics/mesa-dri: enable NEON and AltiVec
Summary: graphics/mesa-dri: enable NEON and AltiVec
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-x11 mailing list
Keywords: patch, patch-ready
Depends on: 227685
  Show dependency treegraph
Reported: 2017-10-14 20:34 UTC by Jan Beich
Modified: 2018-12-07 17:22 UTC (History)
4 users (show)

See Also:
bugzilla: maintainer-feedback? (x11)

v0 (2.96 KB, patch)
2017-10-14 20:34 UTC, Jan Beich
jbeich: maintainer-approval? (x11)
Details | Diff
standalone check (876 bytes, text/plain)
2017-10-14 20:48 UTC, Jan Beich
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Beich freebsd_committer 2017-10-14 20:34:42 UTC
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.
Comment 1 Greg V 2017-10-14 20:37:01 UTC
Is VC4 usable on FreeBSD somehow? I don't see the vc4 KMS module anywhere…
Comment 2 Jan Beich freebsd_committer 2017-10-14 20:48:42 UTC
Created attachment 187177 [details]
standalone check
Comment 3 Jan Beich freebsd_committer 2017-10-14 20:53:33 UTC
> Is VC4 usable on FreeBSD somehow?

I guess, not yet. Bug 214580 enabled it to be future-proof. ;)
Comment 4 Niclas Zeising freebsd_committer 2017-12-17 13:20:37 UTC
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.

Comment 5 Jan Beich freebsd_committer 2017-12-18 03:55:09 UTC
(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.

Comment 6 Niclas Zeising freebsd_committer 2018-05-20 10:03:31 UTC
Added this to the branch tracking mesa 18.1.0.
See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227685
Comment 7 Jan Beich freebsd_committer 2018-12-07 17:22:06 UTC
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.