diff options
Diffstat (limited to 'src/gui/egl/qeglcontext_p.h')
-rw-r--r-- | src/gui/egl/qeglcontext_p.h | 15 |
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; |