diff options
author | Jani Hautakangas <jani.hautakangas@nokia.com> | 2011-05-10 08:08:59 (GMT) |
---|---|---|
committer | Jani Hautakangas <jani.hautakangas@nokia.com> | 2011-05-10 10:14:19 (GMT) |
commit | ae245c770449f3cc8629d9d9836ef9c03486b852 (patch) | |
tree | cfec5a38f9d2a23b0f598225dce86f62ed870b4c /src/opengl | |
parent | 0ec06f76484d64676bcd8b981b54593cdb8b539e (diff) | |
download | Qt-ae245c770449f3cc8629d9d9836ef9c03486b852.zip Qt-ae245c770449f3cc8629d9d9836ef9c03486b852.tar.gz Qt-ae245c770449f3cc8629d9d9836ef9c03486b852.tar.bz2 |
Introduce platform extension to QGraphicsSystem
Qt on Symbian needs some special capabilities to be able
to work on 32MB GPU. This patch introduces some Symbian
specific functions to QGraphicsSystem
Task-number: QTBUG-17882
Reviewed-by: Laszlo Agocs
Diffstat (limited to 'src/opengl')
-rw-r--r-- | src/opengl/qgraphicssystem_gl.cpp | 10 | ||||
-rw-r--r-- | src/opengl/qgraphicssystem_gl_p.h | 13 |
2 files changed, 19 insertions, 4 deletions
diff --git a/src/opengl/qgraphicssystem_gl.cpp b/src/opengl/qgraphicssystem_gl.cpp index 0aa3c2e..5a01d8c 100644 --- a/src/opengl/qgraphicssystem_gl.cpp +++ b/src/opengl/qgraphicssystem_gl.cpp @@ -104,11 +104,17 @@ QWindowSurface *QGLGraphicsSystem::createWindowSurface(QWidget *widget) const return new QGLWindowSurface(widget); } -#ifdef QGL_USE_TEXTURE_POOL -void QGLGraphicsSystem::releaseCachedResources() +#ifdef Q_OS_SYMBIAN +void QGLGraphicsSystem::releaseCachedGpuResources() { QGLTexturePool::instance()->hibernate(); } + +QGraphicsSystemEx* QGLGraphicsSystem::platformExtension() +{ + return this; +} #endif + QT_END_NAMESPACE diff --git a/src/opengl/qgraphicssystem_gl_p.h b/src/opengl/qgraphicssystem_gl_p.h index 5829dcc..5372443 100644 --- a/src/opengl/qgraphicssystem_gl_p.h +++ b/src/opengl/qgraphicssystem_gl_p.h @@ -55,11 +55,19 @@ #include "private/qgraphicssystem_p.h" +#ifdef Q_OS_SYMBIAN +#include "private/qgraphicssystemex_symbian_p.h" +#endif + #include <QMap> QT_BEGIN_NAMESPACE class Q_OPENGL_EXPORT QGLGraphicsSystem : public QGraphicsSystem +#ifdef Q_OS_SYMBIAN + , public QSymbianGraphicsSystemEx +#endif + { public: QGLGraphicsSystem(bool useX11GL); @@ -67,8 +75,9 @@ public: QPixmapData *createPixmapData(QPixmapData::PixelType type) const; QWindowSurface *createWindowSurface(QWidget *widget) const; -#ifdef QGL_USE_TEXTURE_POOL - void releaseCachedResources(); +#ifdef Q_OS_SYMBIAN + void releaseCachedGpuResources(); + QGraphicsSystemEx* platformExtension(); #endif private: bool m_useX11GL; |