summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* QVarLenghtArray: add some API to be consistant to QVectorOlivier Goffart2010-03-293-1/+63
| | | | | | That way it is easier to have QVarLenghtArray as a drop-in replacement for QVector Reviewed-by: Joao
* Don't try to resolve EGLImage function pointers if they are definedTom Cooksey2010-03-291-0/+2
| | | | | | | | We assume the presence of EGL_KHR_image or EGL_KHR_image_base means that the eglCreateImageKHR/eglDestroyImageKHR methods are exported by the EGL library and thus do not need to be resolved. Reviewed-By: TrustMe
* Change ORs to ANDs when checking EGLImage extension definesTom Cooksey2010-03-292-4/+4
| | | | | | | We should only define the EGLImage functions if both EGL_KHR_image _and_ EGL_KHR_image_base are undefined. Reviewed-By: TrustMe
* Protect EGLImage function definitions in #ifdefTom Cooksey2010-03-291-0/+2
| | | | | | This should fix the build on Symbian. Reviewed-By: TrustMe
* Fix a bug in greek shaping causing infinite loopsLars Knoll2010-03-263-13/+90
| | | | | | | | Update harfbuzz to 33b9cde6a08293d26047734e046c6677a2959adb Reviewed-By: TrustMe AutoTest: qtextscriptengine Task-number: QTBUG-391
* Define QT_NO_EGL in configure.exeTom Cooksey2010-03-261-0/+4
| | | | | | | | This is the "proper" fix for the windows build failure introduced by 75bb84ac. a44026a3 should be reverted once configure.exe is rebuilt to incorperate this fix. Reviewed-By: Marius Storm-Olsen
* improve mingw 64 bit supportThierry Bastian2010-03-261-1/+1
|
* Fix build on WindowsTom Cooksey2010-03-261-0/+1
| | | | | | | On unix platforms, QT_NO_EGL is defined by configure. However, this is not defined by windows's configure.exe so add it in opengl.pro. Reviewed-By: Brad
* Round instead of ceil font metrics when ForceIntegerMetrics is enabledTor Arne Vestbø2010-03-261-24/+24
| | | | | | | This matches how both the simple and complex paths in WebKit handle float to integer conversion, and looks much better. Reviewed-by: Eskil
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-03-2659-1108/+5113
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (29 commits) cetest: remove source file duplicates from cetest.pro Remove EGLImage create/destroy resolving from VG pixmap data Avoid having to create temporary QPixmaps when binding to texture Implement Texture-From-Pixmap using EGLImage extensions on X11/EGL Stabilize tst_QTreeView::taskQTBUG_9216_setSizeAndUniformRowHeightsWrongRepaint QMetaObject::normalizeType: Fix parsing of type which contains "const" in names QMetaObject::normalizeType: fix uses of const and template. Synchronize rich text and plain text code paths in QStaticText Paintbuffer single frame profiling. Optimized ARGB32PM on RGB16 blending with opacity using NEON. Optimized SourceOver and 16 bit dest fetches, dest stores using NEON. Optimized scaled/transformed image blending for ARGB32PM and RGB16 on RGB16. Included ARM NEON optimizations from pixman in Qt. Safeguard the colortable access when converting corrupted indexed8 Fix QItemDelegate::textRectangle Fix bad merge Fix wrong arguments order in a warning in QObject::moveToThread Fix warnings and build on mingw Fixes a deadlock with streaming in Phonon. cetest build fix ...
| * cetest: remove source file duplicates from cetest.proJoerg Bornemann2010-03-261-2/+0
| | | | | | | | epocroot.cpp and registry.cpp are already in qmake_include.pri
| * Remove EGLImage create/destroy resolving from VG pixmap dataTom Cooksey2010-03-261-6/+1
| | | | | | | | | | | | | | eglCreateImageKHR and eglDestroyImageKHR are now defined in qegl.cpp and resolved when the display is opened with QEgl::display(). Reviewed-By: Jason Barron
| * Avoid having to create temporary QPixmaps when binding to textureTom Cooksey2010-03-264-13/+10
| | | | | | | | Reviewed-By: TrustMe
| * Implement Texture-From-Pixmap using EGLImage extensions on X11/EGLTom Cooksey2010-03-266-37/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's lots of EGLImage extensions, split between EGL and client rendering APIs like OpenGL ES & OpenVG. To implement texture-from- pixmap using EGLImage, both EGL extensions and OpenGL ES extensions are needed. This patch resolves the EGL extension function pointers after the display is initialized in QEgl::display(). These are then exported from QtGui so they can be used in QtOpenGL. The OpenGL ES extension function pointers are resolved using the usual qglextensions.cpp mechanism. Using EGLImage seems to remove a fixed ~10 millisecond overhead per pixmap bind when compared to using EGLSurface. Exact results per bind for 100 QPixmaps are: 8x8 Pixmap: 12 -> 1.71 msecs (EGLSurface -> EGLImage) 64x64 Pixmap: 11.6 -> 1.83 msecs (EGLSurface -> EGLImage) 128x128 Pixmap: 12.8 -> 2.74 msecs (EGLSurface -> EGLImage) 256x256 Pixmap: 16 -> 6.20 msecs (EGLSurface -> EGLImage) Reviewed-By: Trond
| * Stabilize tst_QTreeView::taskQTBUG_9216_setSizeAndUniformRowHeightsWrongRepaintGabriel de Dietrich2010-03-261-3/+6
| | | | | | | | | | | | | | Non expected paint events and screen size on pulse_qws/linux-x86-g++ seem to be the reason the auto-test fails. Reviewed-by: jeremy
| * QMetaObject::normalizeType: Fix parsing of type which contains "const" in namesOlivier Goffart2010-03-263-1/+19
| | | | | | | | | | | | | | Regression since b881d8fb99972f1bd04ab4c84843cc8d43ddbeed Task-number: QTBUG-9354 Reviewed-by: Kent Hansen
| * QMetaObject::normalizeType: fix uses of const and template.Olivier Goffart2010-03-264-1/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 'const' was not removed from templated class This even fixes compilation errors if using const return templated types We can change the normalized signature in Qt 4.7 as it has already changed and we have code to check that if moc revision < 5 it will renormalize all the symbols cf commit b881d8fb99972f1bd04ab4c84843cc8d43ddbeed Task-number: QTBUG-7421 Reviewed-by: Brad Reviewed-by: Kent Hansen
| * Merge branch '4.7' of git@scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.7Eskil Abrahamsen Blomfeldt2010-03-2629-541/+4385
| |\
| | * Paintbuffer single frame profiling.Samuel Rødal2010-03-264-25/+400
| | | | | | | | | | | | | | | | | | | | | Added new --instrumentframe=X argument which gives a detailed run-down of how many milliseconds each paint command of that frame takes. Reviewed-by: Gunnar Sletta
| | * Optimized ARGB32PM on RGB16 blending with opacity using NEON.Samuel Rødal2010-03-261-5/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the blend_8_pixels_argb32_on_rgb16_neon function that was introduced in an earlier commit. Before: traces/qmlsamegame.trace, iterations: 3, frames: 15, min(ms): 63, median(ms): 64, stddev: 1,275776 %, max(fps): 238,095238 After: traces/qmlsamegame.trace, iterations: 3, frames: 15, min(ms): 57, median(ms): 58, stddev: 0,817464 %, max(fps): 263,157895 Task-number: QTBUG-6684 Reviewed-by: Gunnar Sletta
| | * Optimized SourceOver and 16 bit dest fetches, dest stores using NEON.Samuel Rødal2010-03-263-15/+134
| | | | | | | | | | | | | | | | | | | | | | | | This makes for example linear gradient blending on top of RGB16 156 % faster (from 20.4 fps to 52.3 fps in my benchmark). Task-number: QTBUG-6684 Reviewed-by: Gunnar Sletta
| | * Optimized scaled/transformed image blending for ARGB32PM and RGB16 on RGB16.Samuel Rødal2010-03-267-419/+890
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before: :/traces/qmlphoneconcept.trace, iterations: 5, frames: 48, min(ms): 1207, median(ms): 1212, stddev: 0,165153 %, max(fps): 39,768020 After: traces/qmlphoneconcept.trace, iterations: 3, frames: 48, min(ms): 884, median(ms): 886, stddev: 0,383097 %, max(fps): 54,298643 Task-number: QTBUG-6684 Reviewed-by: Gunnar Sletta
| | * Included ARM NEON optimizations from pixman in Qt.Samuel Rødal2010-03-2610-49/+2820
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On the N900 16 bit text blending is 30 - 50 % faster, and ARGB32PM on RGB16 image blending now runs in 1/10th of the time it used to. We now make ARGB32PM the default pixmap format for alpha pixmaps instead of ARGB8565PM which is unaligned and bad for performance. The relevant numbers: Mostly opaque pixels: ARGB24 on ARGB24 using QPainter..................: 336,813033 ARGB32 on ARGB32 using QPainter.................: 18,419387 RGB16 on ARGB24 using QPainter..................: 167,301014 RGB16 on ARGB32 using QPainter..................: 17,279372 ARGB24 on RGB16 using QPainter..................: 35,100147 ARGB32PM on RGB16 using QPainter................: 15,924256 No opaque pixels: ARGB24 on ARGB24 using QPainter..................: 412,190765 ARGB32 on ARGB32 using QPainter.................: 16,818389 RGB16 on ARGB24 using QPainter..................: 170,957878 RGB16 on ARGB32 using QPainter..................: 16,742984 ARGB24 on RGB16 using QPainter..................: 93,600482 ARGB32PM on RGB16 using QPainter................: 15,999310 So switching to ARGB32PM should give a boost in all areas. Task-number: QTBUG-6684 Reviewed-by: Gunnar Sletta
| | * Safeguard the colortable access when converting corrupted indexed8Gunnar Sletta2010-03-261-2/+2
| | | | | | | | | | | | | | | Fixes: QTBUG-5510 Reviewed-by: Eskil
| | * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.7Eskil Abrahamsen Blomfeldt2010-03-26309-14542/+14361
| | |\
| | | * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-03-2625-556/+555
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Fix bad merge Fix wrong arguments order in a warning in QObject::moveToThread Fix warnings and build on mingw Fixes a deadlock with streaming in Phonon. cetest build fix cetest build fix for TCP sync connection Fixed QPrintPreview text drawing (visible in Assistant). Fix glyph advance on Mac/Carbon itemChange() is now called when transformation properties change. stabilize tst_QTreeView::taskQTBUG_9216_setSizeAndUniformRowHeightsWrongRepaint Fix QLabel::sizeHint() Fix QFontMetrics::height() and QFontMetrics autotest Add QFont::ForceIntegerMetrics style strategy flag Auto test for commit 4a4458d1cf5ec7885c6f63f739b7ee80c70ad211
| | | | * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-03-2625-556/+555
| | | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Fix bad merge Fix wrong arguments order in a warning in QObject::moveToThread Fix warnings and build on mingw Fixes a deadlock with streaming in Phonon. cetest build fix cetest build fix for TCP sync connection Fixed QPrintPreview text drawing (visible in Assistant). Fix glyph advance on Mac/Carbon itemChange() is now called when transformation properties change. stabilize tst_QTreeView::taskQTBUG_9216_setSizeAndUniformRowHeightsWrongRepaint Fix QLabel::sizeHint() Fix QFontMetrics::height() and QFontMetrics autotest Add QFont::ForceIntegerMetrics style strategy flag Auto test for commit 4a4458d1cf5ec7885c6f63f739b7ee80c70ad211
| | * | | | Fix QItemDelegate::textRectangleEskil Abrahamsen Blomfeldt2010-03-261-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The textRectangle should contain all pixels in the text, including those which are only partially covered, so the width and height should never be rounded down. Adding support for fractional font metrics on Mac made this bug visible. Fixes test failure in itemdelegate autotest. Reviewed-by: Olivier
| * | | | | Synchronize rich text and plain text code paths in QStaticTextEskil Abrahamsen Blomfeldt2010-03-262-2/+40
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Drawing a string as plain text and rich text should have identical results unless special formatting information is added in the html. This means we should not have any implicit margin on the QTextDocument used to paint the text, and we should make up for the fact that the drawStaticText() call currently takes the position of the baseline and QTextDocument::drawContents() takes the top-left corner. Reviewed-by: Gunnar
| * | | | Fix bad mergeOlivier Goffart2010-03-251-15/+7
| | | | |
| * | | | Merge remote branch 'origin/4.7' into 4.7Olivier Goffart2010-03-25284-13975/+13795
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: tools/qdoc3/generator.cpp tools/qdoc3/node.cpp
| * | | | | Fix wrong arguments order in a warning in QObject::moveToThreadOlivier Goffart2010-03-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-8478
| * | | | | Fix warnings and build on mingwThierry Bastian2010-03-258-497/+164
| | | | | |
| * | | | | Fixes a deadlock with streaming in Phonon.unknown2010-03-251-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Deadlock can occur with certain DirectShow filters when stopping a streamed video. Task-number: QTBUG-8420 Merge-request: 2317 Reviewed-by: Pierre Rossi <pierre.rossi@nokia.com> Reviewed-by: Thierry Bastian <thierry.bastian@nokia.com>
| * | | | | cetest build fixJoerg Bornemann2010-03-252-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introducing a new define for building qmake without generators. QT_BUILD_QMAKE_NO_GENERATORS is used for cetest and the qmake COM wrapper of the Visual Studio Add-in. Reviewed-by: mauricek
| * | | | | cetest build fix for TCP sync connectionJoerg Bornemann2010-03-252-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | Reviewed-by: mauricek
| * | | | | Fixed QPrintPreview text drawing (visible in Assistant).Trond Kjernåsen2010-03-251-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WebKit (which Assistant uses) uses QFont::setPixelSize() to specify the font sizes. Those are treated differently in Qt than fonts specified with setPointSize(). Fonts specified with setPixelSize() should *not* be scaled to compensate for DPI changes between devices, unlike fonts with a pointSize() set. Task-number: QTBUG-9282 Reviewed-by: Eskil
| * | | | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.7Eskil Abrahamsen Blomfeldt2010-03-25234-3459/+2754
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/declarative/qdeclarativedom/data/importlib/sublib/qmldir
| | * | | | | itemChange() is now called when transformation properties change.Yoann Lopes2010-03-253-7/+209
| | | |/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When changing transformation properties (i.e., setRotation(), setScale(), setTransformOriginPoint()), itemChange() is now called to allow notification and change of the values. The flag ItemSendsGeometryChanges needs to be set to enable this. Autotest included. Task-number: QTBUG-8112 Reviewed-by: alexis
| | * | | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.7Eskil Abrahamsen Blomfeldt2010-03-25228-3448/+2538
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/declarative/qdeclarativedom/data/importlib/sublib/qmldir
| | | * | | | stabilize tst_QTreeView::taskQTBUG_9216_setSizeAndUniformRowHeightsWrongRepaintOlivier Goffart2010-03-251-0/+6
| | | | | | |
| | | * | | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-03-254-21/+83
| | | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Add QFont::ForceIntegerMetrics style strategy flag Auto test for commit 4a4458d1cf5ec7885c6f63f739b7ee80c70ad211
| | | | * \ \ \ Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-03-244-21/+83
| | | | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Add QFont::ForceIntegerMetrics style strategy flag Auto test for commit 4a4458d1cf5ec7885c6f63f739b7ee80c70ad211
| | * | | | | | | Fix QLabel::sizeHint()Eskil Abrahamsen Blomfeldt2010-03-251-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QTextControl case of QLabel calculated the bounding rect of the label by taking the size of the control (floating point) and using toSize() to convert this to an integer QSize. While this would work when the font engine always returned integer values, it is not the correct way to calculate a bounding rect, since the bounding rect needs to contain all the pixels of the text, including the ones that are only partially covered, thus its size should never be rounded down. Reviewed-by: Olivier
| | * | | | | | | Fix QFontMetrics::height() and QFontMetrics autotestEskil Abrahamsen Blomfeldt2010-03-252-3/+3
| | | |_|/ / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the Mac font engine has been fixed to support fractional metrics, we can no longer expect qRound(A + B) to be equal to qRound(A) + qRound(B). The documentation states that height = ascent + descent + 1. To honor this contract, we need to rewrite the implementation of height() to round each metric separately. Same with lineSpacing. The bearingIncludedInBoundingrect() test was wrong. We can guarantee that the italic text is not more narrow than the normal text, but we cannot guarantee that they are never the same width. Reviewed-by: Olivier
| * | | | | | | Fix glyph advance on Mac/CarbonEskil Abrahamsen Blomfeldt2010-03-251-10/+43
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Device metrics was turned on for Mac/Carbon to work around a bug in WebKit that required the font engine to report only integer values. This in turn caused positioning of glyphs to be slightly off compared to native applications. The bug has been fixed in WebKit, so now we can turn off the device metrics flag. Since we are now reporting fractional values as well, we need to round the numbers when the ForceIntegerMetrics style strategy flag is set. Task-number: qtbug-5529 Reviewed-by: Trond
| * | | | | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.7Eskil Abrahamsen Blomfeldt2010-03-2433-163/+584
| |\ \ \ \ \ \
| | * | | | | | Auto test for commit 4a4458d1cf5ec7885c6f63f739b7ee80c70ad211Gabriel de Dietrich2010-03-241-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reviewed-by: Trust me Task-number: QTBUG-9216
| * | | | | | | Add QFont::ForceIntegerMetrics style strategy flagEskil Abrahamsen Blomfeldt2010-03-243-21/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WebKit uses integers internally to deal with positioning and sizing of text objects, but on Mac, Qt uses floating point values. This caused a discrepancy between the size used by WebKit to position text objects and the actual size of the objects when rendered by Qt. The problem was so bad that it has been holding back fixes for other bugs in the mac font engine since these would make the WebKit bug more visible. To work around the problem, we introduce a StyleStrategy flag in QFont which allows you to force the use of integers all over the line. This makes text rendering slightly different from native applications, but should fix several issues with WebKit on Mac. The WebKit-part of this patch will be submitted up-stream. Reviewed-by: Simon Hausmann Reviewed-by: Prasanth
* | | | | | | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-03-265-5/+10
|\ \ \ \ \ \ \ \ | |_|_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Qualify ptrdiff_t's namespace in stltest configure test Fix the bug where the ampersand symbol would be discarded. QtScript: Add missing API shim for signal handling Designer: Fix broken resource view filtering.