On Wednesday 18 August 2010 15:09:37 Arjan van de Ven wrote: > On 8/18/2010 3:19 AM, Carsten Munk wrote: > > [this is not another SSSE3 discussion thread] > > > > Qt on OMAP3 has very big benefits from using NEON, just like using > > SSSE3 does on Atom. However, we do not currently compile for NEON in > > MeeGo for ARMv7 as not all ARMv7 has NEON (Marvell, Nvidia being > > notable exceptions). > > > > We'd obviously like to use NEON on Nokia N900 but we're wondering how > > to do this in the most ecosystem-friendly way. > > > > I have been talking to Thiago and he mentions that an environment > > variable QT_NO_NEON=1 exists to disable NEON usage by Qt. > > > > So, my proposal is the following: > > > > Compile Qt with NEON support by default on ARMv7. Include script in > > startup that provides QT_NO_NEON=1 to the UX session based on NEON > > presence in /proc/cpuinfo. > > couldn't QT read /proc/cpuinfo (or do the equivalent of cpuid) instead > of looking for the env variable?
I don't know how the kernel detects the presence of the Neon coprocessor. But
looking at ARM documentation doesn't show any instruction for cpuid. In
general, for embedded devices, you don't need cpuid since "you know what you
put in your device".
The kernel also passes the CPU capabilities to the process in the auxv, but
that is not exposed anywhere outside ld.so.
So the only option we have is to open and parse the /proc/cpuinfo file. I'll
add that code.
In any case, Qt 4.7 already does have the capability to turn on Neon support
for some files only (that's just src/gui/painting/qdrawhelper_neon.cpp). That
functionality is on by default, provided that the configure script could detect
that the compiler supports Neon.
The log that Carsten showed me indicates that the check failed. The configure
script has a bug in the processing of the CXXFLAGS environment variable -- in
general, I recommend you *don't* set it at all. Instead, modifying the mkspec
file is recommended, and this will apply to all applications whose Makefiles
are
created by qmake too.
--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
Senior Product Manager - Nokia, Qt Development Frameworks
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ MeeGo-dev mailing list [email protected] http://lists.meego.com/listinfo/meego-dev
