diff options
author | Samuel Rødal <sroedal@trolltech.com> | 2010-06-30 08:32:01 (GMT) |
---|---|---|
committer | Samuel Rødal <samuel.rodal@nokia.com> | 2010-07-01 08:37:02 (GMT) |
commit | e302b2b1e65c616d7ed6adfcf4b252a6741f3053 (patch) | |
tree | 3941f4c4dd453723d0ac49f96609afb252894e06 /src/gui/painting/qdrawhelper.cpp | |
parent | 91678119c0d5df8064cd27dd9e0f0119942bcbd5 (diff) | |
download | Qt-e302b2b1e65c616d7ed6adfcf4b252a6741f3053.zip Qt-e302b2b1e65c616d7ed6adfcf4b252a6741f3053.tar.gz Qt-e302b2b1e65c616d7ed6adfcf4b252a6741f3053.tar.bz2 |
Improved performance of 16 bit memrotates using NEON instructions.
Make the memrotate functions a function pointer table so that we can
replace it with optimized versions, and implement an optimized NEON
version for the 90 and 270 rotations.
Measured performance improvement for a 400x400 16-bit pixmap was
17 % for 270 degree rotation and 11 % for 90 degree rotation.
Reviewed-by: Trond
Diffstat (limited to 'src/gui/painting/qdrawhelper.cpp')
-rw-r--r-- | src/gui/painting/qdrawhelper.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp index 5727b3c..d7f7dc3 100644 --- a/src/gui/painting/qdrawhelper.cpp +++ b/src/gui/painting/qdrawhelper.cpp @@ -7901,6 +7901,9 @@ void qInitDrawhelperAsm() functionForModeSolid_C[QPainter::CompositionMode_SourceOver] = comp_func_solid_SourceOver_neon; destFetchProc[QImage::Format_RGB16] = qt_destFetchRGB16_neon; destStoreProc[QImage::Format_RGB16] = qt_destStoreRGB16_neon; + + qMemRotateFunctions[QImage::Format_RGB16][0] = qt_memrotate90_16_neon; + qMemRotateFunctions[QImage::Format_RGB16][2] = qt_memrotate270_16_neon; } #endif |