| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
| |
Reviewed-by: Trustme
|
|
|
|
|
| |
Added QGLContextPrivate::bindTextureFromNativePixmap() implementation
for X11/EGL.
|
|
|
|
|
|
|
|
| |
Make a clear seperation between the GL texture and the GLX pixmap. A
GLXPixmap is valid in any GL context and thus does not need to be
re-created every time the pixmap has changed.
Reviewed-By: Samuel
|
|
|
|
|
|
|
|
| |
Don't just assume they're going to be ARGB just because the config has
an alpha channel. This makes QGLWidgets with WA_TranslucentBackground
set work again on the rx71 when running under xcompmgr.
Reviewed-By: Trustme
|
|
|
|
| |
Reviewed-By: Trustme
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The patch tries to use texture_from_pixmap extentions on glX to properly
bind an X Pixmap to a texture in QGLContextPrivate::bindTexture(QPixmap,).
Because GL & X have different coordinate systems, the pixmap will be
inverted about the y-axis. The extension does however allow a
GLX_Y_INVERTED_EXT attribute to be set which will bind the pixmap the
correct way up. If the underlying driver doesn't support this,
texture_from_pixmap can't be used for QGLContext::bindTexture, because
that function expects the resulting texture to be the right way up.
However, it can still be used internally by the paint engine for
drawPixmap operations. For these cases, if the pixmap is inverted, the
paint engine can simply invert the texture coords to compensate. This is
why this patch also moves QGLTexture into qgl_p.h.
QGLContextPrivate::bindTexture(QPixmap,) now returns a QGLTexture which
the paint engine can inspect to see if it needs to invert the texture
coords.
Finally, it seems on some (probably all) drivers, deleting an X pixmap
which has been bound to a texture before calling glFinish/swapBuffers
renders garbage. Presumably this is because X deletes the pixmap behind
the driver's back before it's had a chance to use it. To fix this, we
reference all QPixmaps which have been bound to stop them being deleted
and only deref them after we swap the buffer, when they can be safely
deleted.
Reviewed-By: Kim
|
|
|
|
|
| |
This change also moves the EGL support classes from QtOpenGL to QtGui
so they can be shared between OpenGL and OpenVG.
|
|\ |
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
|
|
|
|
| |
Reviewed-By: TrustMe
|
|
|
|
|
|
|
|
|
| |
This patch is inspired by the "Fix ARGB visuals" patch in the Maemo
branch. Thanks go to the author of that patch (who isn't signed up to
Gitorious and thus can't be named - you know who you are! Thanks!!).
This patch should also fix ARGB visuals (even if they are supplied by
EGL) as such visuals require a colormap.
|
|
|
|
|
|
|
| |
EGL has an EGL_NATIVE_VISUAL_ID which can by used as the window's visual
ID. We now try to use this ID to avoid an XVisual <-> EGLConfig
mis-match. Of course this is usually broken in the EGL library, so we
fall back to trying to match outselves.
|
|
|