diff options
author | Gunnar Sletta <gunnar.sletta@jollamobile.com> | 2014-04-07 07:22:13 +0000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-04-07 15:50:59 +0200 |
commit | 1c5581d4d666b61878f1f89655bd69fbb3813eb8 (patch) | |
tree | d0c05e644433c56a498c08e1362c71f4ce6f0e38 /src/hardwareintegration | |
parent | 439a084cd359acfafa284961b5f08d6b2891c6c6 (diff) |
Implement invalidateSurface() to free up surface memory
Change-Id: I848a9f37f1b2e9616c3e5254a6329531e8eec825
Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Diffstat (limited to 'src/hardwareintegration')
-rw-r--r-- | src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp | 8 | ||||
-rw-r--r-- | src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.h | 2 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp index 5d2866ea3..306f08507 100644 --- a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp +++ b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp @@ -139,6 +139,14 @@ QSurfaceFormat QWaylandEglWindow::format() const return m_format; } +void QWaylandEglWindow::invalidateSurface() +{ + if (m_eglSurface) { + eglDestroySurface(m_clientBufferIntegration->eglDisplay(), m_eglSurface); + m_eglSurface = 0; + } +} + EGLSurface QWaylandEglWindow::eglSurface() const { return m_eglSurface; diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.h b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.h index c2c4dfa4c..d8fdbcfce 100644 --- a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.h +++ b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.h @@ -69,6 +69,8 @@ public: void bindContentFBO(); + void invalidateSurface() Q_DECL_OVERRIDE; + private: QWaylandEglClientBufferIntegration *m_clientBufferIntegration; struct wl_egl_window *m_waylandEglWindow; |