diff options
author | Samuel Nevala <samuel.nevala@intopalo.com> | 2015-09-10 13:14:57 +0300 |
---|---|---|
committer | Andrew Knight <andrew.knight@intopalo.com> | 2015-09-14 19:20:02 +0000 |
commit | f3fd7b3d961ffed480e5851e594f6981f558f486 (patch) | |
tree | 8acc33a2a5d706a48d893c78d3be35e8a5303955 /src/plugins/platforms/winrt/qwinrtwindow.h | |
parent | fe1ba879610c73075b10f274bba338af53a6bd43 (diff) |
winrt: Move EGL surface to window.
Fixes GPU memory leak when window is created/deleted dynamically and
repeatedly. EGL context used to own EGL surface, but the context
outlives the surface if window is created/deleted dynamically. The
EGL surface is now owned by the window and destroyed with it.
Change-Id: Ib949261ef6e77217018e60aad3e36e4a6d2eaba0
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
Diffstat (limited to 'src/plugins/platforms/winrt/qwinrtwindow.h')
-rw-r--r-- | src/plugins/platforms/winrt/qwinrtwindow.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/plugins/platforms/winrt/qwinrtwindow.h b/src/plugins/platforms/winrt/qwinrtwindow.h index 2957a7498b..9ac7adbf4d 100644 --- a/src/plugins/platforms/winrt/qwinrtwindow.h +++ b/src/plugins/platforms/winrt/qwinrtwindow.h @@ -39,6 +39,7 @@ #include <qpa/qplatformwindow.h> #include <qpa/qwindowsysteminterface.h> +#include <EGL/egl.h> QT_BEGIN_NAMESPACE @@ -63,6 +64,9 @@ public: qreal devicePixelRatio() const Q_DECL_OVERRIDE; void setWindowState(Qt::WindowState state) Q_DECL_OVERRIDE; + EGLSurface eglSurface() const; + void createEglSurface(EGLDisplay display, EGLConfig config); + private: QScopedPointer<QWinRTWindowPrivate> d_ptr; Q_DECLARE_PRIVATE(QWinRTWindow) |