| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |/ / |
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/gui/kernel/qeventdispatcher_mac.mm
src/gui/kernel/qt_cocoa_helpers_mac.mm
src/gui/widgets/qmenu_mac.mm
tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
tools/assistant/tools/assistant/centralwidget.cpp
tools/linguist/lupdate/main.cpp
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Need to bind the PMV matrix's attributes to their indexes in the
simple shader, which is created in a seperate code path to all the
other shaders. This should fix the qgl autotest failures.
Reviewed-By: TrustMe
|
| | |
| | |
| | |
| | |
| | |
| | | |
This makes GLSL dumps _significantly_ easier to read.
Reviewed-By: TrustMe
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This has several advantages: First, updating an attribute value
seems to be cheaper than updating a uniform. Second, vertex atribute
values are independent of shader program, which means they persist
across changing of the shader program. This makes code simpler and
reduces GL state changes. Note: Credit goes to Samuel for finding
this little gem. :-)
For the 25920 solid QGraphicsRectItem test case, this gives 10%
improvement on desktop and 27% on the SGX.
Reviewed-By: Kim
|
| | |
| | |
| | |
| | | |
Reviewed-By: Samuel
|
| | |
| | |
| | |
| | | |
Reviewed-by: Trond
|
|\ \ \
| |/ /
| | |
| | |
| | | |
Conflicts:
tools/assistant/lib/qhelpsearchquerywidget.cpp
|
| |/
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| |
| | |
The painter path caching needed to be updated after an
optimisation (45fedfeb) in the 4.6 branch was merged into the
master branch.
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
bin/syncqt
doc/src/deployment/deployment.qdoc
src/corelib/io/qfsfileengine_win.cpp
src/corelib/xml/qxmlstream.cpp
src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h
tools/assistant/tools/assistant/centralwidget.cpp
tools/linguist/lupdate/main.cpp
|
| |
| |
| |
| |
| |
| |
| |
| | |
We need to clobber the vertex attribute pointers _before_ we call
setState() to regenerate the clip, or we'll use invalid vertex
pointers when writing the clip.
Reviewed-by: Paul
|
| |\
| | |
| | |
| | |
| | | |
Conflicts:
dist/changes-4.6.1
|
| | |\
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/multimedia/audio/qaudioformat.cpp
|
| | |\ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1:
QIODevice: Fix readAll()
Temporary hackiesh solution to prevent BOM in the xml data.
Fixed qxmlstream autotest when using shadow builds.
Attempt at readding the capital P headers for Phonon
Remove special Phonon processing from syncqt.
Use the lowercase/shortname.h headers for Phonon includes
Fixes a crash when setting focus on a widget with a focus proxy.
Update copyright year to 2010
doc: Clarified activeSubControls and subControls.
Remove warning "statement with no effect"
doc: Clarified that .lnk files are System files on Windows.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Reviewed-by: Trust Me
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Fixed bug where drawing subpixel antialiased glyphs on a
translucent surface would cause all the pixels in the glyphs'
bounding box to become opaque.
Task-number: QTBUG-7190
Reviewed-by: Trond
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This removes a lot of unnecessary GL state changes resulting in an
18% performance boost on desktop and 5% on SGX for the 25920 3x3
solid rectangle test case.
Reviewed-By: Samuel
|
| | | | |
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/corelib/io/qfsfileengine.cpp
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
src/opengl/opengl.pro
|
| |/ /
| | |
| | |
| | |
| | | |
Task-number: QTBUG-7203
Reviewed-by: Samuel
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We don't add new public methods in patch releases.
This reverts commit 2b4d3391fd922dfc5ac28815bbd5f36c4041b658.
This patch also fixes the paint engine to use glUniformMatrix3fv
directly now it has been removed from 4.6. It is a 3 line change.
Reviewed-By: Samuel
|
| | | |
|
| | |
| | |
| | |
| | | |
Reviewed-By: Samuel
|
| | |
| | |
| | |
| | |
| | | |
Task-number: QT-2600
Reviewed-by: Samuel
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When we're rendering text, the glyphs need to be aligned to the
pixel grid otherwise we get strange artifacts. Normally text is
drawn at integer coordinates, however it is still possible to
have a transform which translates by a non-integer offset. This
patch adds a flag to the engine which can be used to snap any
translate to the pixel grid.
Task-number: QTBUG-7094
Reviewed-By: Kim
|
| | |
| | |
| | |
| | | |
Reviewed-By: Trustme
|
| | |
| | |
| | |
| | |
| | | |
Merge-request: 412
Reviewed-by: Tom Cooksey <thomas.cooksey@nokia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fall back and use the GL 1 engine for the renderText() functions.
Getting it to work with the GL 2 engine is a futile effort.
Making it work with renderPixmap() in the GL 2 engine is not possible
at all, since software contexts in general do not support shader
programs.
Task-number: QTBUG-5002, QTBUG-6931
Reviewed-by: Kim
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Now that the shader manager takes care of enabling/disabling the
vertex attribute arrays for us, the GL2 paint engine doesn't have
to do it. This reduces GL state changes within the paint engine
and provides significant performance improvements. For a given test
case (25,000 3x3px solid rects), the improvement is 67% on desktop
(nVidia) and 9% on embedded (SGX).
Reviewed-By: Kim
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The GL2 engine (and probably Qt/3D) needs to track which vertex
attribute arrays are currently enabled and which are disabled. As
this is per-context state, the logical place to track this is in the
context and not in the paint engine.
This patch also makes the GL2 engine's shader manager enable/disable
the appropriate attribute arrays for a given shader program when it
is used.
Reviewed-By: Kim
|
| |
| |
| |
| |
| |
| | |
This function was renamed in b06313579aad82f8dda64ad14384080754f2b222.
Reviewed-by: TrustMe
|
| |
| |
| |
| |
| |
| |
| | |
My Qt is built with -no-stl, so the STL headers aren't included and,
thus, std::pair isn't defined.
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| |
| |
| |
| | |
src/opengl/gl2paintengineex/qtriangulator.cpp:655:5: warning: multi-line comment
So add some padding characters to the right (can't just add spaces
though).
Reviewed-by: TrustMe
|
|\ \
| |/
| |
| |
| | |
Conflicts:
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
|
| |
| |
| |
| |
| |
| |
| | |
This change is in response to the review for b063135, but was missed
from that patch.
Reviewed-By: Kim
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Move most of drawPixmaps to private
* Move most of stroke to private
* Remove dead code: context()
* Make optimiseForBrushTransform use xform type
* Use GLuint for uniform location
* Rename lastTexture -> lastTextureUsed
* Move qopengl2paintengine_cleanup_vectorpath to private
* Re-ordered declarations in header
* Remove dead temporaryTransform
* Rename use_system_clip -> useSystemClip
Reviewed-By: Kim
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The old code set and unset a temporary matrix for every draw command
when doing aliased rendering. Instead, we just use a flag to indicate
that updateMatrix() should add the offset. This means the offset is
added only once. When doing lots of small rendering operations on a
(non-multisampled) QGLWidget, this gives up to 72% performance boost
on the SGX.
Reviewed-By: Kim
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If you draw with a brush, then draw a pixmap, then draw with the
same brush, the GL2 engine wouldn't update the fragment shader to
use the brush. This is because it detected the brush hadn't changed
and so didn't need updating. To fix this, we now set the current
brush to noBrush when drawing an image/pixmap so the engine knows
it needs to update the GL state for the brush.
Reviewed-By: Kim
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
examples/webkit/fancybrowser/main.cpp
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
tools/assistant/tools/assistant/bookmarkmanager.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QGraphicsView based applications will set a new transform for every
item before it's painted. This leads to lots of updates to the PMV
matrix. So switching to a 3x3 rather than a 4x4 gives us less data
to pass to GL for each QGraphicsItem which gets rendered. It also
means the vertex shader is more efficient. However, this patch only
gives a maximum 2.5% speed improvement on the SGX, which seems to be
only due to the faster vertex shader rather than the reduced amount
of data we pass to GL.
Reviewed-By: Kim
|
| |
| |
| |
| |
| |
| |
| | |
The shader manager will now a) not seg-fault and b) actually tell you
which shader has the error.
Reviewed-By: Kim
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In the triangulating stroker, the last point was being duplicated in
dashed paths. But because QDataBuffer::add() takes a ref to a float
rather than a float, it would resize the data buffer and then try to
fetch the values out of a pointer to the original buffer memory.
This change copies the values into temporary variables before
resizing the array.
Task-number: QTBUG-6045
Reviewed-by: Sarah Smith
|
| |
| |
| |
| |
| |
| |
| |
| | |
If the same brush is used over and over again, this gives a
huge performance boost (measured to be 25% faster on desktop
and 73% faster on SGX).
Reviewed-By: Samuel Rødal
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Do the blur in half the resolution in software and then upload the
result as a texture and smooth-scale it on the GPU. This leads to stable
and decent performance regardless of the blur radius, and simplifies the
implementation quite a bit.
Reviewed-by: Bjørn Erik Nilsen
|
| |
| |
| |
| | |
Reviewed-by: Gunnar
|
| |
| |
| |
| | |
Reviewed-by: Gunnar
|
| |
| |
| |
| | |
The result of a function returning qint64 was stored in an int.
|
| |
| |
| |
| |
| | |
Because of numerical inaccuracy, the interpolation factor could
exceed 1 by a small amount which would cause an assert failure.
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
src/corelib/io/qfsfileengine.cpp
src/network/access/qnetworkrequest.cpp
tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
|