From 1edc42157bbb01b25ec27750f883fd84ee5908d6 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Tue, 19 May 2020 11:54:59 +0200 Subject: 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 --- include/wlr/render/egl.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'include/wlr') 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, -- cgit v1.2.3