gallium: Enable ARM NEON CPU detection.
authorEric Anholt <eric@anholt.net>
Thu, 13 Apr 2017 18:43:30 +0000 (11:43 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 2 May 2017 20:35:23 +0000 (13:35 -0700)
commit463b7d0332c59d7115642c9922915d097535b4d9
tree97664a34bd2538a43c6f9e7abc4995df1adc1052
parent3c730639740f9b1243e95d06e6608cb54649be9a
gallium: Enable ARM NEON CPU detection.

I wrote this code with reference to pixman, though I've only decided to
cover Linux (what I'm testing) and Android (seems obvious enough).  Linux
has getauxval() as a cleaner interface to the /proc entry, but it's more
glibc-specific and I didn't want to add detection for that.

This will be used to enable NEON at runtime on ARMv6 builds of vc4.

v2: Actually initialize the temp vars in the Android path (noticed by
    daniels)
v3: Actually pull in the cpufeatures library (change by robher).
    Use O_CLOEXEC.  Break out of the loop when we find our feature.
v4: Drop VFP code, which was confused about what it was detecting and not
    actually used yet.

Reviewed-by: Grazvydas Ignotas <notasas@gmail.com>
src/gallium/auxiliary/Android.mk
src/gallium/auxiliary/util/u_cpu_detect.c
src/gallium/auxiliary/util/u_cpu_detect.h