summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qdrawhelper_ssse3.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2016-03-02 14:00:20 +0100
committerAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2016-03-04 10:14:37 +0000
commitb6b3803b213787a04dfc7542caeb541a5535d90f (patch)
tree0098ac68a6f3ba0698ba645ff2b5d32f5a94aa5c /src/gui/painting/qdrawhelper_ssse3.cpp
parentfd941ebb6f504c3397e5793992397829fd92a95d (diff)
Optimized fetchUntransformed RGB888
Reuses the optimized routines from qimage to make painting RGB888 images faster on SSSE3 and NEON. Change-Id: I99116b318322ba4cb0ddc2cb90bcf17a0350ef99 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Diffstat (limited to 'src/gui/painting/qdrawhelper_ssse3.cpp')
-rw-r--r--src/gui/painting/qdrawhelper_ssse3.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/gui/painting/qdrawhelper_ssse3.cpp b/src/gui/painting/qdrawhelper_ssse3.cpp
index e0d1bac6b1..7cd3e9ca1b 100644
--- a/src/gui/painting/qdrawhelper_ssse3.cpp
+++ b/src/gui/painting/qdrawhelper_ssse3.cpp
@@ -233,6 +233,16 @@ void QT_FASTCALL storePixelsBPP24_ssse3(uchar *dest, const uint *src, int index,
store_uint24_ssse3(dest + index * 3, src, count);
}
+extern void QT_FASTCALL qt_convert_rgb888_to_rgb32_ssse3(quint32 *dst, const uchar *src, int len);
+
+const uint * QT_FASTCALL qt_fetchUntransformed_888_ssse3(uint *buffer, const Operator *, const QSpanData *data,
+ int y, int x, int length)
+{
+ const uchar *line = data->texture.scanLine(y) + x * 3;
+ qt_convert_rgb888_to_rgb32_ssse3(buffer, line, length);
+ return buffer;
+}
+
QT_END_NAMESPACE
#endif // QT_COMPILER_SUPPORTS_SSSE3