summaryrefslogtreecommitdiffstats
path: root/src/opengl/qgraphicssystem_gl.cpp
diff options
context:
space:
mode:
authorTom Cooksey <thomas.cooksey@nokia.com>2009-10-20 12:37:29 (GMT)
committerTom Cooksey <thomas.cooksey@nokia.com>2009-10-20 12:57:39 (GMT)
commitf0a7e831394683190faf8a51bf724462f98568e9 (patch)
tree90d10163705c2509970c78849af5807feeb69f9e /src/opengl/qgraphicssystem_gl.cpp
parent6e1e26741e682c869c45e4cf8dfe4c79e37b9716 (diff)
downloadQt-f0a7e831394683190faf8a51bf724462f98568e9.zip
Qt-f0a7e831394683190faf8a51bf724462f98568e9.tar.gz
Qt-f0a7e831394683190faf8a51bf724462f98568e9.tar.bz2
Add a new window surface which utilises QX11GLPixmapData
The new surface uses XCopyArea to post updates to the window and thus, supports partial updates.
Diffstat (limited to 'src/opengl/qgraphicssystem_gl.cpp')
-rw-r--r--src/opengl/qgraphicssystem_gl.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/opengl/qgraphicssystem_gl.cpp b/src/opengl/qgraphicssystem_gl.cpp
index 0ee1e82..c0d9233 100644
--- a/src/opengl/qgraphicssystem_gl.cpp
+++ b/src/opengl/qgraphicssystem_gl.cpp
@@ -47,8 +47,9 @@
#include "private/qgl_p.h"
#include <private/qwindowsurface_raster_p.h>
-#ifdef Q_WS_X11
+#if defined(Q_WS_X11) && defined(QT_OPENGL_ES)
#include "private/qpixmapdata_x11gl_p.h"
+#include "private/qwindowsurface_x11gl_p.h"
#endif
QT_BEGIN_NAMESPACE
@@ -75,6 +76,11 @@ QWindowSurface *QGLGraphicsSystem::createWindowSurface(QWidget *widget) const
return new QRasterWindowSurface(widget);
#endif
+#if defined(Q_WS_X11) && defined(QT_OPENGL_ES)
+ if (QX11GLPixmapData::hasX11GLPixmaps())
+ return new QX11GLWindowSurface(widget);
+#endif
+
return new QGLWindowSurface(widget);
}