[Development] QTBUG-30440: restricting the SIMD files
Thiago Macieira
thiago.macieira at intel.com
Tue Aug 20 03:54:16 CEST 2013
On quinta-feira, 15 de agosto de 2013 08:06:19, Thiago Macieira wrote:
> > I'd agree that option (4) is the cleanest solution. Have you checked how
> > much we'd need to change to implement it?
>
> No, not yet.
>
> I don't think it will be too hard because those routines are still fairly
> limited. I will look into this soon.
Ok, just checked.
- We use many typedefs and constants from qglobal.h (Q_CC_xx, quint32, etc.)
- All of them depend on qsimd_p.h to get the right intrinsics #includes
- Also, qmath.h is used.
- We use a lot of some base classes like QRect, QRectF, QMatrix, QTransform.
The latter three are especially a problem because they do floating-point.
- The helpers access internal structures defined elsewhere, like QClipData,
QRasterBuffer
- There are a few C++ template classes for facilitating work (e.g.
QRadialFetchSimd).
In all, this will be hard work.
I don't want to include qglobal.h because that's where qRound comes from. That
automatically excludes each and every Qt header.
I can probably make the helpers #include "../../corelib/tools/qsimd_p.h", make
qsimd_p.h include only qconfig.h and qcompilerdetection.h.
But the rest is going to be quite difficult...
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/development/attachments/20130819/68584af8/attachment.sig>
More information about the Development
mailing list