| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
The format and internal_format parameters to glTexImage2D need to always
match on OpenGL ES 2.0.
Reviewed-by: Tom Cooksey
|
|
|
|
|
|
|
|
|
| |
If the user called QGLFramebufferObject::bind()/release() during a
beginNativePainting() callout, the release() would reset the context's
fbo to zero, not the actual window surface fbo.
Task-number: QTBUG-6204
Reviewed-by: Tom
|
|
|
|
|
|
|
|
|
|
|
| |
bindTexture() flipped images in-place, to reduce data copying.
But there is one case where the in-place is worse: when the
QImage is not detached. In that case, the flip was copying
the entire image and then flipping the lines, effectively
processing the contents twice. The new version uses mirrored()
to reduce the overhead for non-detached images.
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The first time a path is drawn we call makeCachable on the path, which
means that if it is drawn again, we start caching it. This is a bit of
a trick to avoid caching paths that are drawn once and discared while
at the same time cache paths that are reused automatically.
The GL engine owns the vertex information and is responsible for cleaning
it up. If the vectorpath is destroyed first, it will call the cleanup function.
if the engine dies first, we still require some hooks to clean up the cache
in the path. More to come. When VBO's are used, these will be a leaked if the
path is destroyed after the engine.
Reviewed-by: Samuel
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixed potential bug where you could end up taking the square root of a
negative number in drawTextItem() in the raster and OpenGL paint
engines.
Task-number: QTBUG-6327
Reviewed-by: Trond
|
| |
| |
| |
| | |
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| |
| | |
Some of the functions had become too long to be inlined in my
opinion.
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The stroker generated two points for each miter join, one on the
convex side of the join, and one on the concave side. For sharp
joins between curved segments, the point on the concave side
could end up poking out of the stroke. This was fixed by
generating one point on the convex side only.
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Complete circles were generated at every round join, so if the
join were close to a flat cap, the circle would extend beyond
the flat cap. This was fixed by generating arcs rather than
complete circles. Likewise, round caps are now semi-circles
instead of full circles.
I also removed some unnecessary calculations when generating
square caps.
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| | |
Use subpixel antialiasing even if the there is an alpha channel.
Reviewed-by: Trond
|
| |
| |
| |
| | |
Over src/ tools/ examples/ and demos/
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We always queried the client for its GLX extensions and used them
blindly, even though they might not be available in the server.
Also fixed the extension string check itself. We used simple sub-string
search, which could potentially break if one extension name is a
sub-string of another.
Task-number: QTBUG-5732
Reviewed-by: Kim
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This fixes a regression from 4.5, where exporting a GL capable display
from an old X11 HP/Sun workstation to a modern Linux machine causes
crashes and lots of X11 error output. Just relying on the client
GL version number is not enough under X11, since the server might
only support GL 1.1 with non or very few extensions.
Also, the extension checks worked a bit randomly since it checked
for sub-strings which might or might not occur within one or more
full extension names.
Task-number: QTBUG-5853
Reviewed-by: Kim
|
| |\ \ |
|
| | | |
| | | |
| | | | |
Revby: Gunnar
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: Samuel
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: Tom Cooksey
|
| |_|/
|/| |
| | |
| | |
| | |
| | | |
Testcase with rounded rects went from 55 -> 62 FPS for 1000 random rects
Reviewed-By: Tom Cooksey
|
|/ /
| |
| |
| | |
Reviewed-by: Sarah Smith
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The documentation for QGLContext::isSharing() indicates that
the function returns true only when the context is sharing.
However, previously the sharing flag would stay on if the
context was created as sharing but is no longer sharing.
Task-number: QTBUG-5578
Reviewed-by: Sarah Smith
|
| |
| |
| |
| |
| |
| |
| |
| | |
Also fixed square caps which in some cases were extruded in the wrong
direction.
Task-number: QTBUG-5736
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since the stroke is rendered as a triangle strip, zero area triangles
must be inserted in order to have gaps in the stroke. This is achieved
by duplicating vertices before and after each gap. It was already done
for open subpaths. This commit fixes gaps between closed subpaths.
Task-number: QTBUG-5736
Reviewed-by: Gunnar
|
|\ \
| |/
| |
| |
| | |
Conflicts:
dist/changes-4.6.0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Get rid of QGraphicsEffectSource from the public API, instead add
convenience functions in QGraphicsEffect. This way we commit to less
API, and are free to introduce a customizable QGraphicsEffectSource
in a future release.
* Move PixmapPadMode into QGraphicsEffect and tweak the names of the
enum values.
* Make QGraphicsBlurEffect::BlurHint into a bit flag, for extensibility.
Reviewed-by: Bjørn Erik Nilsen
|
| |
| |
| |
| |
| |
| |
| | |
QRegion::numRects() is marked obsolete.
Removed all usage of the old function inside Qt and test-cases.
Reviewed-by: Andreas Aardal Hanssen
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QPaintDevice and QImage used the functions numColors(), setNumColors(),
and numBytes(). However, this is not consistent with the rest of the Qt
API which uses *Count() and set*Count().
Removed all usage of these functions inside Qt and test-cases.
Reviewed-by: Andreas Aardal Hanssen
|
| |
| |
| |
| | |
Reviewed-by: Samuel
|
| |
| |
| |
| |
| |
| |
| | |
If we succeed in creating a shared context, then mark the original
as shared as well.
Reviewed-by: Sarah Smith
|
|/
|
|
|
|
|
|
| |
Context sharing was enabled on EGL systems, but QGLContext::isSharing()
was still returning false because the flag in QGLContextPrivate
was not updated.
Reviewed-by: Sarah Smith
|
|
|
|
|
|
|
|
|
|
| |
The GL2 paint engine adds a (0.49,0.49) pixel offset when doing aliased
rendering. But this assumed if it was doing aliased rendering then
multisampling was disabled. On GLES, multisampling is always enabled if
the surface has it enabled. So on GLES, we never add the offset if the
surface is multisampled.
Reviewed-By: Gunnar
|
|
|
|
| |
Reviewed-by: Trustme
|
|
|
|
| |
Reviewed-by: Samuel
|
|
|
|
|
|
|
| |
Warnings are for binding/releasing when the current context isn't in the
same context group as the FBO was created in.
Reviewed-By: Trond
|
|
|
|
|
|
|
| |
Now QGLFBO doesn't do stacking, QGLPaintDevice's base implementation is
ok to use.
Reviewed-By: Trond
|
|
|
|
|
|
|
| |
Having this behaviour in QGLFrameBufferObject complicates alot of things
and isn't really necessary.
Reviewed-by: Tom Cooksey
|
|
|
|
|
|
|
|
|
| |
Updated the soft-light composition mode implementation in the raster
and OpenGL1 engines to use the equations in the SVG specification as of
April 2009.
Task-number: QTBUG-3193
Reviewed-by: Trond
|
|
|
|
| |
Reviewed-by: Sarah Smith
|
| |
|
|
|
|
|
| |
Task-number: QTBUG-5148
Reviewed-by: Tom Cooksey
|
|
|
|
|
|
|
|
|
| |
Moved duplicated and broken code for setting up the include and library
paths into the egl.prf feature file, which egl.pri and opengl.pro now
includes using the qmake feature system.
Task-number: QTBUG-5148
Reviewed-by: Tom Cooksey
|
|
|
|
|
|
|
| |
On Mac, there are compat overloads to e.g. setInternalTextureFormat()
so we need to specify which function to call to avoid ambiguity.
Reviewed-by: Samuel
|
|\ |
|
| |
| |
| |
| | |
Reviewed-by: Trond
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
introduce QMAKE_LIBS_OPENGL_ES1, QMAKE_LIBS_OPENGL_ES1CL and
QMAKE_LIBS_OPENGL_ES2 so we do not have to force users to copy/paste
around entire mkspecs just to change the OpenGL backend.
This should make the "-opengl es2" (and friends) configure option
work out of the box with any mkspec on Linux+WinCE.
Also removes a WinCE specific hack that is not required anymore.
Reviewed-by: Tom Cooksey
Reviewed-by: Trond Kjernåsen
Approved-by: Lars Knoll
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
for WindowsCE
Be more consistant in the usage of <private/foo_p.h> vs "foo_p.h"
Task-number: QTBUG-5149
Reviewed-by: Trond Kjernåsen
|
| |\ |
|
| | |\ |
|