summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qcompositionfunctions.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix grayscale painting regression in 64-bit raster engineAllan Sandfeld Jensen2016-08-031-2/+6
| | | | | | | | | | | A new define for better vectorized compositioning had a mistake that caused some sources to be converted to grayscale when composited. Added two 10 bit per channel formats to the lancelot test to catch regressions in the future. Change-Id: I1c468e6b93d68185e517fc0d44c6c927f9f7135f Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* Fix rgb64 on aarch64Laszlo Agocs2016-06-151-4/+4
| | | | | | | | | | | | Instead of quint64 use uint64_t in order to avoid errors like error: invalid conversion from 'quint64* {aka long long unsigned int*}' to 'const uint64_t* {aka const long unsigned int*}' Unify const usage for LOAD and switch to C++ casts. Change-Id: I4a6a8ec5b24f2f306645178fe00f6bfb1c429403 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* ARM: Vectorize common QRgba64 compositing functions.Erik Verbruggen2016-05-241-30/+70
| | | | | | | | | | | | | | | | Adds overloaded functions for some common operations used for compositing, and use those together with specialized loading/storing. QRgba64 is represented as a quint64, so most of the time it lives in the integer registers. By overloading functions to return SIMD data types, the temporary values are kept in SIMD registers (so no more unnecessary transfers between the registers, which can cost a lot on ARM). It also allows the compiler to do better TBAA and optimizations. Another benefit is that the loop bodies are smaller, giving them a higher chance to fit in the micro-op cache of modern CPUs. Change-Id: I5f13cd0677176b1162425fe59d42868d0d20f6e2 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Updated license headersJani Heikkinen2016-01-151-14/+20
| | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: I046ec3e47b1876cd7b4b0353a576b352e3a946d9 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Move composition out of qdrawhelper.cAllan Sandfeld Jensen2015-04-161-0/+2197
Also changes the way the SSE2 composition modes are inserted into the table, so it is handled like all the other tables and doesn't require duplicating most of the table. Change-Id: I8de383caece0367bc7466d7a1b145aa820c3bd6a Reviewed-by: Gunnar Sletta <gunnar@sletta.org>