summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/winrt/qwinrtwindow.h
diff options
context:
space:
mode:
authorSamuel Nevala <samuel.nevala@intopalo.com>2015-09-10 13:14:57 +0300
committerAndrew Knight <andrew.knight@intopalo.com>2015-09-14 19:20:02 +0000
commitf3fd7b3d961ffed480e5851e594f6981f558f486 (patch)
tree8acc33a2a5d706a48d893c78d3be35e8a5303955 /src/plugins/platforms/winrt/qwinrtwindow.h
parentfe1ba879610c73075b10f274bba338af53a6bd43 (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.h4
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)