| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (47 commits)
QScript: More missing APIShim
QScriptEngine: Fix reentrency involving creation and desctructions of QScriptEngines
Work-around Symbian 10.1's broken egl.h
Add some #warnings to debug Symbian EGL build failure
Don't detect EGLImage presence by testing function pointers
Implement proper QStaticText support in QPaintBuffer
Make QStaticText layout lazy
Change QStaticText::setMaximumSize() to setTextWidth()
Respect QPainter::pen() in QPainter::drawStaticText()
QVarLenghtArray: add some API to be consistant to QVector
Don't try to resolve EGLImage function pointers if they are defined
Change ORs to ANDs when checking EGLImage extension defines
Protect EGLImage function definitions in #ifdef
Fix a bug in greek shaping causing infinite loops
Define QT_NO_EGL in configure.exe
improve mingw 64 bit support
Fix build on Windows
Round instead of ceil font metrics when ForceIntegerMetrics is enabled
cetest: remove source file duplicates from cetest.pro
Remove EGLImage create/destroy resolving from VG pixmap data
...
|
| |
| |
| |
| | |
Fixes crash in tst_QScriptValueIterator::remove on windows
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QScriptEngines
the currentIdentifierTable table, which is a static thread local variable, could be corrupted.
The main change is to fix the QScriptEngine constructor not to alter the currentIdentifierTable
This showed a lot of cases where APIShim guards where missings.
The problem was seen with creator, related to QTBUG-9426
Reviewed-by: Jedrzej Nowacki
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In Symbian 10.1, egl.h itself includes eglext.h. This leads to
EGL_KHR_image & EGL_KHR_image_base being defined, but not the actual
function prototypes for eglCreateImageKHR/eglDestroyImageKHR. But,
because the extension defines were set, Qt assumed (wrongly) that
the EGL library would define eglCreateImageKHR. This left these
functions undefined. The work-around is to check the define
EGL_EGLEXT_PROTOTYPES and still define the function pointers if
it isn't set.
Reviewed-By: TrustMe
|
| |
| |
| |
| |
| |
| | |
This should probably be reverted before we release.
Reviewed-By: TrustMe
|
| |
| |
| |
| |
| |
| | |
Might fix the Symbian build failures... who knows with Symbian.
Reviewed-By: TrustMe
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
That way it is easier to have QVarLenghtArray as a drop-in replacement for QVector
Reviewed-by: Joao
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We should only define the EGLImage functions if both EGL_KHR_image
_and_ EGL_KHR_image_base are undefined.
Reviewed-By: TrustMe
|
| | |
| | |
| | |
| | |
| | |
| | | |
This should fix the build on Symbian.
Reviewed-By: TrustMe
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Update harfbuzz to 33b9cde6a08293d26047734e046c6677a2959adb
Reviewed-By: TrustMe
AutoTest: qtextscriptengine
Task-number: QTBUG-391
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This matches how both the simple and complex paths in WebKit handle
float to integer conversion, and looks much better.
Reviewed-by: Eskil
|
| | |\
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
...
|
| | | |
| | | |
| | | |
| | | | |
epocroot.cpp and registry.cpp are already in qmake_include.pri
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
eglCreateImageKHR and eglDestroyImageKHR are now defined in qegl.cpp
and resolved when the display is opened with QEgl::display().
Reviewed-By: Jason Barron
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-By: TrustMe
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Regression since b881d8fb99972f1bd04ab4c84843cc8d43ddbeed
Task-number: QTBUG-9354
Reviewed-by: Kent Hansen
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
'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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Use qt_draw_glyphs() to implement a QPaintBuffer::drawStaticText() which
will actually replay via drawStaticTextItem() on engines that support
it.
Task-number: QTBUG-9064
Reviewed-by: Gunnar
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
To avoid the unnecessary overhead of doing the text layout every time
a part of the QStaticText object is changed, we mark it as invalid
instead and do the layout when we have to. This means an overhead on
the first paint event for most users. The overhead can be avoided by
using the QStaticText::prepare() function and will probably not be
noticable anyway, since it's a one-time thing.
Task-number: QTBUG-9030
Reviewed-by: Gunnar
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
To avoid having to precalculate the height of the laid out text, we
now only supply a maximum text width to QStaticText. The only usage of
the maximum height would be to clip the results, and clipping should be
set separately from the QStaticText call, since this has no impact on
the layout of the glyphs. The tests have been updated to reflect the
change in logic.
We also need a consistent way of specifying the position of the text.
Before, the position meant "baseline position" for unbroken text and
"top left position" for text with a specified layout width. We want
to be consistent, and since baseline position makes no sense for
multiline text, we standardize on top left position.
Task-number: QTBUG-9029
Reviewed-by: Gunnar
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QStaticText needs to support changing the pen on the painter to support
rich text, but it should not override the pen unless it has been
explicitly set in the rich text. We do this by marking the pen as dirty
in updateState() when we record the text items.
Task-number: QTBUG-8908
Reviewed-by: Gunnar
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Fixes: QTBUG-5510
Reviewed-by: Eskil
|
| | |\ \ |
|
| | | |\ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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
|
| | | | |\ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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
|
| | |_|_|/ /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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
|
| | | | | | |
|
| |\ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Conflicts:
tools/qdoc3/generator.cpp
tools/qdoc3/node.cpp
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Task-number: QTBUG-8478
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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>
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Reviewed-by: mauricek
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Conflicts:
tests/auto/declarative/qdeclarativedom/data/importlib/sublib/qmldir
|
| | | |/ / / /
| | |/| | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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
|