summaryrefslogtreecommitdiff
path: root/src/gui/egl/qeglcontext_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/egl/qeglcontext_p.h')
-rw-r--r--src/gui/egl/qeglcontext_p.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/gui/egl/qeglcontext_p.h b/src/gui/egl/qeglcontext_p.h
index ccde00d91c..85d3982c4d 100644
--- a/src/gui/egl/qeglcontext_p.h
+++ b/src/gui/egl/qeglcontext_p.h
@@ -80,7 +80,11 @@ public:
EGLSurface createSurface(QPaintDevice *device, const QEglProperties *properties = 0);
void destroySurface(EGLSurface surface);
+#ifndef Q_WS_WAYLAND
bool makeCurrent(EGLSurface surface);
+#else
+ bool makeCurrent(EGLImageKHR img);
+#endif
bool doneCurrent();
bool lazyDoneCurrent();
bool swapBuffers(EGLSurface surface);
@@ -99,7 +103,18 @@ private:
QEgl::API apiType;
EGLContext ctx;
EGLConfig cfg;
+#ifndef Q_WS_WAYLAND
EGLSurface currentSurface;
+#else
+ EGLImageKHR currentImage;
+ /*
+ * Wayland doesn't have a "native" drawing API aside from EGL, so we
+ * have to use an EGL image and a framebuffer object for our rendering
+ * needs
+ */
+ GLuint wl_color_rbo;
+ GLuint wl_fbo;
+#endif
bool current;
bool ownsContext;
bool sharing;