summaryrefslogtreecommitdiffstats
path: root/src/opengl/qgl_x11egl.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Update contact URL in license headers.Jason McDonald2009-08-121-1/+1
| | | | Reviewed-by: Trust Me
* Fix build on X11/EGL without XRenderTom Cooksey2009-08-031-2/+4
| | | | Reviewed-by: Trustme
* Support EGL_NOKIA_texture_from_pixmap on HarmattanTom Cooksey2009-07-291-8/+163
| | | | | Added QGLContextPrivate::bindTextureFromNativePixmap() implementation for X11/EGL.
* Refactor texture_from_pixmap to not re-create the gl surface each bindTom Cooksey2009-07-291-2/+8
| | | | | | | | 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
* Add an ARGB check for EGL-provided X visualsTom Cooksey2009-07-241-3/+20
| | | | | | | | 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
* Fix build on HarmattanTom Cooksey2009-07-231-1/+1
| | | | Reviewed-By: Trustme
* Use texture_from_pixmap on X11 & avoid copiesTom Cooksey2009-07-221-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Integrate the OpenVG graphics system into Qt 4.6Rhys Weatherley2009-06-221-3/+3
| | | | | This change also moves the EGL support classes from QtOpenGL to QtGui so they can be shared between OpenGL and OpenVG.
* Merge license header changes from 4.5Volker Hilsheimer2009-06-161-2/+2
|\
| * Update license headers as requested by the marketing department.Jason McDonald2009-06-161-2/+2
| | | | | | | | Reviewed-by: Trust Me
| * Long live Qt 4.5!Lars Knoll2009-03-231-0/+378
|
* Make WA_TranslucentBackground work for QGLWidgets on X11/EGLTom Cooksey2009-05-281-11/+15
| | | | Reviewed-By: TrustMe
* If EGL fails to provide a valid Visual ID, try XRender for ARGBsTom Cooksey2009-05-221-9/+55
| | | | | | | | | 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.
* Try to use the X11 visual ID provided by EGLTom Cooksey2009-05-221-30/+74
| | | | | | | 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.
* Long live Qt!Lars Knoll2009-03-231-0/+378