| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
If we have span based clipping (complex) and we manage to intersect
down to a plain rectangle, we switch back to rectangle mode which
speeds up filling significantly...
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
|
|
|
| |
Since we now store QRegion's in the clipdata is possible for us to
detect that we should go back to a rect-clip mode when we get to
clip(region) or clip(rect)
It turns out that the qt_span_fill_clipRegion is very slow, even for
smaller regions, testcase was 3 rects, its 10% worse than span based
clipping. For a fullscreen ellipse it was more in the range of 100x
worse, so I removed the clip function entirely.
|
| |
|
|
|
|
| |
The list of shaders shouldn't change too much now.
|
|
|
|
|
| |
Returns true if it had to change the shader program so the engine knows
it needs to clean the uniforms.
|
| |
|
|
|
|
| |
I.e. After composition, not before.
|
|\
| |
| |
| |
| |
| | |
Conflicts:
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
src/opengl/opengl.pro
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Special-case TextDrawingMode in updateMatrix() as we know that we'll
have a pure translating transform, and round the transform's dx and dy
to avoid drawing on non-integer offsets.
Task-number: 245806
Reviewed-by: Tom
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In the case where a GL pixmap is used when there it still has an active
engine we need to ensure that the pixmap has been flushed from the
render FBO first. The newly added QGLPixmapData::copyBackFromRenderFbo()
handles this.
In addition, because several GL 2 paint engines can be active on the same
context at the same time, we can't make any assumptions and need to call
the newly added QGL2PaintEngineEx::ensureCreated() in the beginning of
any state-dependent paint engine function.
QGL2PaintEngineEx::ensureCreated() correctly transfers control to the
current engine if a different engine is active.
Running lance with -pixmap and -graphicssystem opengl works correctly
with the GL pixmap backend now.
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We now use FBOs to implement render-to-pixmap for the GL pixmap backend.
A multisample FBO is used for rendering, and is then blitted onto a
non-multisample FBO dynamically bound to the relevant texture.
Reviewed-by: Tom
|
| | |
| | |
| | |
| | | |
Fall back to using pbuffers only if the FBO fails.
|
| | |
| | |
| | |
| | |
| | | |
Zero the pointer before destroying the widget, as QGLWidget's destructor
may indirectly trigger access to the share widget.
|
| | |
| | |
| | |
| | | |
Only call updateDepthClip() if the clip has actually changed.
|
| | |
| | |
| | |
| | | |
The bottom-right coordinates are exclusive, not inclusive.
|
| |\ \
| | |/
| |/|
| | |
| | | |
Conflicts:
src/opengl/opengl.pro
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QTreeView sometimes autoresizes the wrong column
Task-number: 210390
Reviewed-by: janarve
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Implement the alphaRGBMapForGlyph function and make use of it in
the raster engine. The gamma correction is currently hardcoded to 2.0
which looks very good on two separate displays (iMac and MacBook Pro).
Ideally this would be picked from the system settings or computed
dynamically, but as long as 2.0 works, we'll stick to that.
Reviewed-by: Samuel
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
RevBy: Samuel
Details: Creating the intermediate stringlist and appending all the temporary
strings to it costs quite a bit. Fix this by introducing a StringSpliter
class that is malloc-free and uses QStringRef instead.
Found during S60 Performance week
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
RevBy: Samuel
Details: We have the size of the array and we don't realloc, so we can use direct
pointer access. This saves us a few detach() calls and some refcount
checking in the inner loops...
Found during S60 Performance week...
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
RevBy: Samuel
Details: When doing initFileEngine on a operational QFileInfo, it
will detach(), which creates copy of the file engine, then
we delete this engine and create our own engine. Creating a
clean QFileInfo, saves us one temporary file engine..
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Move the cleanPath call out of the function and outside the loops to
avoid doing the same work over and over.
Reviewed-by: Gunnar Sletta
|
| | |
| | |
| | |
| | |
| | |
| | | |
If the square of the length is very close to 1, then avoid the qSqrt().
Reviewed-by: trustme
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
nlerp() implements "normalized linear interpolation", which is faster
than slerp() and gives approximate results that are good enough for
some applications.
Reviewed-by: trustme
|
| | |
| | |
| | |
| | |
| | |
| | | |
slerp() is the more common-place name in the 3D community.
Reviewed-by: trustme
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The int constructors existed to make fixed-point conversions faster
in certain circumstances. With the removal of fixed-point support,
they are no longer required.
Reviewed-by: trustme
|
| | |\ |
|
| | | |
| | | |
| | | |
| | | | |
Task-number: 250574
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We should allways use the brush and not the color if possible.
Task-number: 240842
Reviewed-by: nrc
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: mariusSO
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The fix is basically remove the whitespaces at the end otherwise the
reg exp will be wrong.
Task-number: 240789
Reviewed-by: jasplin
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Use QUrl::fromLocalFile to construct the url string.
Reviewed-by: Jarek Kobus <jkobus@trolltech.com>
|
| | | |\ |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This fixes a few of the remaining glitches tabbar animations have:
* We no longer grab tabs but paint them through QStyle. This makes tabs
work and animate correctly when they are outside the visible region.
* Buttons now correctly follow tabs when dropped
* Gtkstyle recieved some polish to make it look more native.
Task-number: 247694, 251166
Reviewed-by: nrc
|
| | | | |\ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Clip both against the source and target device rectangles.
Task-number: 247937
Reviewed-by: Trond
BT: yes
|
| | | | |\ \
| | | | | |/
| | | | | |
| | | | | | |
Merge commit '4e9c2364e8e9580aa317e9387338d45207ac4baa' into HEAD
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
same.
updateBoudingRect update the item only if the boundingRect change
but if we have 123 as an initial text and then we set 321 as the new
text, then nothing happen because the rect is the same.
In case the boundingRect change then we call update 2 times but
the item is already dirty so the second call will just return.
BT:yes
Reviewed-by: Andreas
|
| | | | | | |
|