aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2020-05-19 11:54:59 +0200
committerDrew DeVault <sir@cmpwn.com>2020-05-19 14:56:20 +0200
commit1edc42157bbb01b25ec27750f883fd84ee5908d6 (patch)
tree068205ea52bf4c76a86e96f19862f794852937d0 /include
parent781ed1ff02e38dffdfebca0fa80baa1791849c3b (diff)
render/egl: introduce wlr_egl_unset_current
This function can be called after wlr_egl_make_current to cleanup the EGL context. This avoids having lingering EGL contexts that make things work by chance. Closes: https://github.com/swaywm/wlroots/issues/2197
Diffstat (limited to 'include')
-rw-r--r--include/wlr/render/egl.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/wlr/render/egl.h b/include/wlr/render/egl.h
index c810b08e..627e9aaf 100644
--- a/include/wlr/render/egl.h
+++ b/include/wlr/render/egl.h
@@ -122,9 +122,18 @@ bool wlr_egl_export_image_to_dmabuf(struct wlr_egl *egl, EGLImageKHR image,
*/
bool wlr_egl_destroy_image(struct wlr_egl *egl, EGLImageKHR image);
+/**
+ * Make the EGL context current. The provided surface will be made current
+ * unless EGL_NO_SURFACE.
+ *
+ * Callers are expected to clear the current context when they are done by
+ * calling wlr_egl_unset_current.
+ */
bool wlr_egl_make_current(struct wlr_egl *egl, EGLSurface surface,
int *buffer_age);
+bool wlr_egl_unset_current(struct wlr_egl *egl);
+
bool wlr_egl_is_current(struct wlr_egl *egl);
bool wlr_egl_swap_buffers(struct wlr_egl *egl, EGLSurface surface,