| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Custom window surfaces, graphics systems, and Qt/Embedded screen
drivers often need to access QPaintDevice::metric(), but it is
protected. Hence the growing number of friends in QWidget and
QImage. The qt_paint_device_metric() function provides a more
future-proof approach that doesn't require lots of friends.
Reviewed-by: Gunnar
|
|
|
|
|
|
|
|
|
| |
The qt_qgl_paint_engine() function was being used by QWS, but there's
no reason why it can't be used by other platforms too. This should
also fix ES 2.0 paint engine support under QWS, which was stubbed out.
Reviewed-by: Sarah Smith
Reviewed-by: Gunnar
|
|
|
|
|
|
|
|
|
|
| |
The GLSL implementation messes up return values from functions so that
all our srcPixel()'s become black and several matrices are off. We
don't want to rewrite the shader code to fit an "ancient" graphics
card, so we simply fall back to the GL 1 engine.
Reviewed-by: Trond
(cherry picked from commit 33ed3d0bacddce214a43be60eb6481903e753a88)
|
|
|
|
|
|
| |
Task-number: QTBUG-4822, QTBUG-4824
Reviewed-by: Sarah Smith
Reviewed-by: Samuel
|
|
|
|
|
|
| |
Also, unbind the texture after it is initialized.
Reviewed-by: Sarah Smith
|
|
|
|
|
|
|
|
| |
The previous code was comparing QGLFramebufferObjectFormat::textureTarget()
against GL_RGB to determine if alpha was present. This should be
internalTextureFormat() instead.
Reviewed-by: Sarah Smith
|
|
|
|
| |
Reviewed-by: trustme
|
|
|
|
| |
Reviewed-by: trustme
|
|
|
|
|
|
|
| |
Fixing the surface memory leak in b125af1b for widgets caused this
knock-on effect in pbuffers.
Reviewed-by: trustme
|
|
|
|
|
|
|
|
| |
The previous code was searching for an exact pbuffer format of
RGBA = 1, 1, 1, 0, which of course is never going to happen.
Instead, search for the best format.
Reviewed-by: trustme
|
|
|
|
|
|
|
|
|
|
|
|
| |
Making the triangle fan of each sub path start at the sub path's
centroid will on average improve performance for complex paths, because
less pixels that are outside the path need to be touched. The centroid
is a more balanced choice than just picking the first element of the
sub path as triangle fan origin.
A performance improvement of 20 % was measured for star formed paths.
Reviewed-by: Trond
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When no stencil clip is set we reduce the number of compositing passes
for rendering winding fill paths from four to two. When stencil clip is
set, the number of compositing passes is reduced from five to four.
For clipping with a winding fill path, the number of compositing passes
are reduced from five to four when stencil clipping is already enabled.
A performance improvement of up to 85 % was measured in certain cases.
Reviewed-by: Trond
|
|
|
|
| |
Reviewed-by: Markus Goetz
|
|
|
|
|
| |
Merge-request: 1716
Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
|
|
|
|
|
|
|
| |
Keep track of what state actually changed so we don't have to set all
the uniforms as dirty etc.
Reviewed-by: Trond
|
|
|
|
| |
This frees all the current dependencies on the depth uniform.
|
|
|
|
| |
Also we should force Raster_A8 glyph format in renderText().
|
| |
|
|
|
|
|
| |
Based on Aaron Kennedy's patch. All tests are green, but when enabling
scissoring UniteClip seems to be broken atm.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Need to set shader manager to dirty in case we change the shader program
using native calls.
Reviewed-by: Trond
|
|
|
|
|
|
|
| |
The cleanup code for the QX11PixmapData was called incorrectly for
QGLPixmapData.
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
|
| |
After we started caching the current context internally, it revealed
an old bug: when a QGLWidget is reparented under X11, it will
get a new window id, but its context will still be bound to the
old window, so we need to rebind it.
Reviewed-by: Samuel
|
|
|
|
|
| |
Task-number: QTBUG-4583
Reviewed-by: trustme
|
|
|
|
| |
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
| |
QGLShareContextScope is safer and more reliable than trying to manually
detect how and when to temporarily switch contexts. Replace the few
remaining instances of context-switching with it.
Reviewed-by: trustme
|
|
|
|
| |
Reviewed-by: trustme
|
|
|
|
|
|
|
|
|
| |
Context resources are per-group, so they should be managed
by the group. This should also improve performance of context
shutdown slightly by removing QGLSignalProxy::aboutToDestroyContext()
signal dispatches to the resources.
Reviewed-by: trustme
|
|
|
|
| |
Reviewed-by: trustme
|
|
|
|
| |
Reviewed-by: Trond
|
|
|
|
|
|
|
|
|
| |
This is internal API.
It's possible to specify a horizontal and vertical scale, rotation,
opacity and source rectangle for each pixmap item.
Useful for particle effects.
Reviewed-by: Trond
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Move the list of shared contexts from QGLShareRegister into
QGLContextGroup. There is then no need for the QHash.
Reviewed-by: trustme
|
| |
| |
| |
| | |
Reviewed-by: Andrew den Exter
|
| |
| |
| |
| |
| |
| | |
The qt_qgl_egl_display() function no longer exists.
Reviewed-by: trustme
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It's actually not really reparenting, but calling setWindowFlags which
triggered the errors. But setWindowFlags causes a re-parent.
The context isn't really the right please to free the surface, but
fixing that is a much more intrusive change.
Reviewed-By: TrustMe
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We need this in qwindowsurface_gl.cpp.
This patch was modified slightly by Tom, who stole it from another
branch. :-)
Reviewed-by: Gunnar
|
| | |
|
| |
| |
| |
| | |
Reviewed-by: trust me
|
| |
| |
| |
| |
| | |
This is needed to implement render-to-pixmap on x11/EGL, which will also
need to create an EGL surface for pixmaps.
|
| |
| |
| |
| | |
Reviewed-by: Samuel
|
| |
| |
| |
| | |
Reviewed-by: Sarah Smith
|
| |
| |
| |
| | |
Reviewed-by: Sarah Smith
|