| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Sometimes it isn't possible to arrange for the QGLFramebufferObject
to be destroyed before the QGLContext group in which it was created.
Especially during application shutdown or in applications with
multiple shared contexts.
This change modifies QGLFramebufferObject to use QGLSharedResourceGuard,
which ensures that when the last QGLContext in a sharing group is
destroyed, any remaining FBO's will revert to !isValid(). It is now
safe to destroy the context before the FBO, or the FBO before the context.
Unit test included.
Reviewed-by: Sarah Smith
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We need a way to control various rendering operations. For example,
whether quality is more important than performance, or the other way
around.
This change also replaces occurences of QPixmapFilter/QGraphicsEffect::BlurHint
(introduced in 1a431e850893b6b162c833f4f148f090e2427dda) with Qt::RenderHint.
Reviewed-by: Samuel
|
| |
| |
| |
| | |
Reviewed-by: Julian de Bhal
|
| |
| |
| |
| |
| |
| |
| | |
The convolution filter was still using the old-style OpenGL1
method for interfacing to the paint engine.
Reviewed-by: trustme
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The QPF implementation of alphaMapForGlyph() was returning
color values of RGBA = (a, a, a, 255) instead of (0, 0, 0, a),
which was inconsistent with all the other font engines.
This inconsistency caused some QPF-specific workarounds in the
OpenGL and OpenVG paint engines. This change removes the workarounds
and makes QPF generate the right colors from the start. Paint
engines that ignore the color table or which don't use the
alphaMapForGlyph() function (e.g. raster) are not affected.
Reviewed-by: Paul
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The QScopedPointer changes mean that the pixmap data's reference count
is now decremented after the cleanup hooks are called. The hooks should
also only be called when the pixmap data gets deleted, so we don't
actually have to check the reference count at all.
Reviewed-by: TrustMe
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On systems where the GL driver is pluggable (like Mesa), we have to use
the glXGetProcAddressARB extension to resolve other function pointers as
the symbols wont be in the GL library, but rather in a plugin loaded by
the GL library.
This fix basically makes texture-from-pixmap work on Mesa drivers like
intel i915 & friends.
Reviewed-by: Trond
|
| |
| |
| |
| | |
Reviewed-by: Eskil
|
| |
| |
| |
| | |
Reviewed-by: TrustMe
|
|/
|
|
| |
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
|
|
|
|
| |
Several problems:
1. The demo leaked the scene contents, which caused cleanup problems.
2. The QGLContext::currentContext() could be changed behind Qt's back
under Windows (the temp contexts never reset the current context).
3. QGLFormat::openGLVersionFlags() function would return uninitialized
flags if the QGLWidget constructor happened to call
qt_gl_preferGL2Engine().
Reviewed-by: Kim
|
|
|
|
| |
Reviewed-by: trustme
|
|
|
|
| |
Reviewed-by: trustme
|
|
|
|
|
|
|
|
| |
Convolution filter is not compatible with OpenGL/ES 2.0 in its
current form, and we probably don't need it now that we have a
special-purpose blur filter.
Reviewed-by: trustme
|