summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Use the ARM version of UTF-8 detection in the Neon codeThiago Macieira2011-03-221-16/+13
|
* Update the data files for the QString benchmark testThiago Macieira2011-03-223-204/+71503
| | | | Also add the Neon build flags
* Fix a bug in the SSE2 UTF-8 decoder.Thiago Macieira2011-03-221-0/+4
| | | | | If the multibyte sequence crossed the end of the SSE2 area, then len would have a wrong value and the data wouldn't be read.
* Add ARM Neon versions of fromLatin1 and fromUtf8Thiago Macieira2011-03-221-0/+192
| | | | | | | | | | | | | | | | | | | | | The fromLatin1 code is very simple, yet the handwritten assembly performs better due to the use of post-increments. The fromUtf8 code has two alternatives. Neon lacks an instruction similar to SSE2's _mm_movemask_epi8 (PMOVMSKB) which extracts one bit from each byte and stores it in a register. We used that in the UTF-8 code to detect bytes with the highest bit set. To compensate, we used two alternatives: 1) AND the comparison result with a vector containing {128, 64, ...,1 } Do 3 parallel-adds (VPADD.I8), which will make the mask propagate to the lowest component in the vector. Trick found in: http://hilbert-space.de/?p=22 (comment 16-17) 2) Extract the two words from the doubleword Neon register and do the work in ARM assembly. It looks like the latter version is performing better.
* Make this compile on Atom/Core2 (no SSE4) and on ARM (no SSE)Thiago Macieira2011-03-221-1/+18
|
* Add baselines and zeros to the benchmarks.Thiago Macieira2011-03-221-6/+13
|
* Add an UTF-8 conversion on trusted data and no BOM.Thiago Macieira2011-03-221-0/+48
| | | | | This assumes that there are no overlong sequences, no continuation characters without the leading, no missing continuations and no BOM.
* Make it easier to write a UTF-8 conversion on trusted dataThiago Macieira2011-03-221-38/+58
|
* Add the missing tests and 4-byte UTF-8 sequencesThiago Macieira2011-03-221-1/+23
|
* Improve the code and avoid unnecessary storesThiago Macieira2011-03-221-7/+9
| | | | | If there's an UTF-8 high byte in the first 8 bytes, don't try to save the latter 8 characters
* Add an UTF-8 conversion optimised for ASCII using SSE2Thiago Macieira2011-03-221-1/+54
| | | | | This code is 2x faster than the original UTF-8 code and within 35% of the pure Latin1 code
* Add an UTF-8 conversion code that is optimised for ASCIIThiago Macieira2011-03-221-2/+94
| | | | This code is ~1.5x faster than the original UTF-8 code
* Add a stateless copy of the Qt 4.7 UTF-8 codec.Thiago Macieira2011-03-221-0/+99
| | | | For whatever reason, this code is worse than the stateful code...
* Add UTF-8 code benchmarksThiago Macieira2011-03-221-0/+223
| | | | | | Also compare to the Latin1 functions. The UTF-8 algorithm in Qt 4.7 right now is 109% slower than the unoptimised Latin-1 algo, 120% than the Qt 4.7 SSE2 code
* Improve a little more the core loop and propagate to the other codeThiago Macieira2011-03-221-18/+22
| | | | | | Currently are that the "improved SSE2" version and the SSE4.1 version are yielding the best results, within 1% of each other. These results are around 20% better than the Qt 4.7 code.
* Reduce the number of operations in the main loopThiago Macieira2011-03-221-8/+7
| | | | | | The more operations there are, the more time it takes. More importantly, the more variables we touch, the more the compiler may want to use the stack instead of registers.
* Add an SSE4 version using PMOVZXBW and PSRLDQThiago Macieira2011-03-221-0/+22
|
* Attempt to improve the epilog codeThiago Macieira2011-03-221-19/+72
|
* Add two SIMD overcommit prologsThiago Macieira2011-03-221-0/+21
|
* Try to remove the non-determinism by moving the malloc() awayThiago Macieira2011-03-221-10/+15
|
* Optimise the prolog even furtherThiago Macieira2011-03-221-16/+33
|
* Try to improve the prolog by doing less operationsThiago Macieira2011-03-221-7/+7
|
* Add an unrolled prologThiago Macieira2011-03-221-1/+22
|
* Make the prolog function more genericThiago Macieira2011-03-221-12/+6
|
* Add an SSE2 alternative with prologThiago Macieira2011-03-221-0/+48
|
* Add some boundary/spill protectionThiago Macieira2011-03-221-4/+8
|
* Correct the code: use ushorts, not QCharThiago Macieira2011-03-221-4/+4
|
* Add the SSE2 code we have in Qt 4.7 to the benchmarkThiago Macieira2011-03-221-0/+26
|
* Add a test for QString::fromLatin1 performace alternativesThiago Macieira2011-03-225-11/+414
|
* Remove the __attribute__((optimize)) marksThiago Macieira2011-03-221-11/+11
|
* Add a script that generates a string table of 8-bitsThiago Macieira2011-03-221-0/+203
|
* Add a benchmark for QString::fromLatin1Thiago Macieira2011-03-221-0/+36
|
* Compile in C++0x modeThiago Macieira2011-03-221-10/+10
|
* Merge remote-tracking branch 'mainline/master'Oswald Buddenhagen2011-03-2215-82/+442
|\ | | | | | | | | Conflicts: src/gui/image/qpnghandler.cpp
| * Merge remote branch 'qt/master' into staging-masterSamuel Rødal2011-03-2126-79/+702
| |\ | | | | | | | | | | | | | | | Conflicts: src/gui/image/qpnghandler.cpp src/opengl/qwindowsurface_gl.cpp
| | * Merge branch 4.7 into qt-master-from-4.7Qt Continuous Integration System2011-03-181-21/+146
| | |\
| | | * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2011-03-171-21/+146
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Fix accidental population of the disk cache with partial content Fix disk cache interaction for range retrieval HTTP requests.
| | | | * Fix accidental population of the disk cache with partial contentSimon Hausmann2011-03-171-0/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the disk cache does not support partial content, we should not try to store it in the cache altogether. Done-with: Jocelyn Turcotte Reviewed-by: Markus Goetz Reviewed-by: Peter Hartmann
| | | | * Fix disk cache interaction for range retrieval HTTP requests.Simon Hausmann2011-03-171-21/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The disk cache API does not currently support retrieving partial content, it can only serve entire files. Therefore we disable the use of the cache for these kinds of requests, as indicated by the presence of the Range header field. Done-with: Jocelyn Turcotte Reviewed-by: Markus Goetz Reviewed-by: Peter Hartmann
| | * | | Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Thiago Macieira2011-03-179-12/+183
| | |\ \ \ | | | |/ / | | | | | | | | | | | | | | | Conflicts: tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp
| | | * | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7-integrationQt Continuous Integration System2011-03-174-1/+95
| | | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: PathView doesn't update if preferred highlight range changes. Image.PreserveAspectFit has unexpected effect on Image's sourceSize Doc improvement for Image.fillMode.
| | | | * | PathView doesn't update if preferred highlight range changes.Martin Jones2011-03-172-1/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simply call refill() when they change. Change-Id: I45ab56cbcaf5c726ce4c4f23f66ee687a6d89dad Task-number: QTBUG-15356 Reviewed-by: Kevin Wu Won
| | | | * | Image.PreserveAspectFit has unexpected effect on Image's sourceSizeMartin Jones2011-03-172-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sourceSize should always be the size of the image, unless set otherwise. When calculating the size of an image with Image.PreserveAspectFit set the natural image size should be used for the calculation if no size has been set explicitly. Change-Id: I104b7d1c3c16aa5b4fc98b1f9078ed8ae997cf69 Task-number: QTBUG-16389 Reviewed-by: Joona Petrell
| | | * | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7-integrationQt Continuous Integration System2011-03-171-3/+3
| | | |\ \ \ | | | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | * '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: QDeclarativeView flickers when composited on MeeGo Re-enable lineHeight tests.
| | | | * | Re-enable lineHeight tests.Yann Bodson2011-03-171-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These tests were disabled by 24d8e96624af91ab01a20c10625858300f16099b Change-Id: I5bf3e11dfb3c975415c3039b39a39c22984d2900
| | | * | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-water-staging into ↵Qt Continuous Integration System2011-03-161-11/+58
| | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-water-staging: Introduce QGraphicsItem::ItemStopsFocusHandling flag
| | | | * \ \ Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-water-team into 4.7Jan-Arve Sæther2011-03-1649-89/+2645
| | | | |\ \ \
| | | | * | | | Introduce QGraphicsItem::ItemStopsFocusHandling flagMichael Hasselmann2011-03-161-11/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When set for an item, QGraphicsScene will skip focus handling for this item and everything underneath it (including focus-out). Allows users to reimplement custom focus handling. Use case: touch devices that implement panning. Here, focus-in has to happen only if no panning was triggered. Analogous, no focus-out should happen when panning was detected. Fixes the alternative proposal ("black holes for focus changes") of QTBUG-16343: QGraphicsView doesn't support focus change on mouse release. The previous test was only testing one scenario, which didn't give a good idea whether the flag was actually working as intended. Task-number: QTBUG-17505 Reviewed-by: Yoann Lopes Reviewed-by: Jan-Arve Sæther
| | | * | | | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7-integrationQt Continuous Integration System2011-03-164-0/+30
| | | |\ \ \ \ \ | | | | | |_|/ / | | | | |/| | / | | | | |_|_|/ | | | |/| | | * '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: Qt.include() used in WorkerScript is broken on Windows.
| | | | * | | Qt.include() used in WorkerScript is broken on Windows.Martin Jones2011-03-164-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The script local filename was used to resolve the source URL rather than the script URL. Change-Id: I78aa23eadbd76e100bb872b6ac9459aa9a5ee5ce Task-number: QTBUG-17977 Reviewed-by: Aaron Kennedy