diff options
author | Samuel Rødal <samuel.rodal@nokia.com> | 2010-09-01 06:57:36 (GMT) |
---|---|---|
committer | Samuel Rødal <samuel.rodal@nokia.com> | 2010-09-01 10:06:50 (GMT) |
commit | bc0c6e9bb53f935c659dda90c7968d7738705f38 (patch) | |
tree | 26dec4934457eb431e57fc0643b150bef9e32d67 /src/gui/painting/qdrawhelper.cpp | |
parent | 7b6028276cf5de1ffd5ab8d6dede7cca12e906fd (diff) | |
download | Qt-bc0c6e9bb53f935c659dda90c7968d7738705f38.zip Qt-bc0c6e9bb53f935c659dda90c7968d7738705f38.tar.gz Qt-bc0c6e9bb53f935c659dda90c7968d7738705f38.tar.bz2 |
Use NEON and preloading for 16 bit small / medium sized image blits.
This gives a nice speedup for blitting of small and medium sized
images by using preloading and avoiding function call overhead to
memcpy for each scanline. For larger image widths memcpy becomes more
efficient.
Speedups of up to 40 % for 64 pixel wide images were measured.
For image widths between 2 and 16 the speedup ranges between 12 %
and 28 %.
Task-number: QT-3401
Reviewed-by: Benjamin Poulain <benjamin.poulain@nokia.com>
Diffstat (limited to 'src/gui/painting/qdrawhelper.cpp')
-rw-r--r-- | src/gui/painting/qdrawhelper.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp index 5223458..5e1509d 100644 --- a/src/gui/painting/qdrawhelper.cpp +++ b/src/gui/painting/qdrawhelper.cpp @@ -8014,6 +8014,7 @@ void qInitDrawhelperAsm() qBlendFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32_on_argb32_neon; qBlendFunctions[QImage::Format_RGB16][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32_on_rgb16_neon; qBlendFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_RGB16] = qt_blend_rgb16_on_argb32_neon; + qBlendFunctions[QImage::Format_RGB16][QImage::Format_RGB16] = qt_blend_rgb16_on_rgb16_neon; qScaleFunctions[QImage::Format_RGB16][QImage::Format_ARGB32_Premultiplied] = qt_scale_image_argb32_on_rgb16_neon; qScaleFunctions[QImage::Format_RGB16][QImage::Format_RGB16] = qt_scale_image_rgb16_on_rgb16_neon; |