aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/wlr/render/egl.h16
-rw-r--r--render/egl.c8
2 files changed, 24 insertions, 0 deletions
diff --git a/include/wlr/render/egl.h b/include/wlr/render/egl.h
index 81d4dfa4..06222237 100644
--- a/include/wlr/render/egl.h
+++ b/include/wlr/render/egl.h
@@ -71,6 +71,22 @@ struct wlr_egl *wlr_egl_create_with_context(EGLDisplay display,
EGLContext context);
/**
+ * Get the EGL display used by the struct wlr_egl.
+ *
+ * This is typically used by compositors which need to perform custom OpenGL
+ * operations.
+ */
+EGLDisplay wlr_egl_get_display(struct wlr_egl *egl);
+
+/**
+ * Get the EGL context used by the struct wlr_egl.
+ *
+ * This is typically used by compositors which need to perform custom OpenGL
+ * operations.
+ */
+EGLContext wlr_egl_get_context(struct wlr_egl *egl);
+
+/**
* Make the EGL context current.
*
* Callers are expected to clear the current context when they are done by
diff --git a/render/egl.c b/render/egl.c
index 81ce3b26..dfba8edd 100644
--- a/render/egl.c
+++ b/render/egl.c
@@ -583,6 +583,14 @@ void wlr_egl_destroy(struct wlr_egl *egl) {
free(egl);
}
+EGLDisplay wlr_egl_get_display(struct wlr_egl *egl) {
+ return egl->display;
+}
+
+EGLContext wlr_egl_get_context(struct wlr_egl *egl) {
+ return egl->context;
+}
+
bool wlr_egl_destroy_image(struct wlr_egl *egl, EGLImage image) {
if (!egl->exts.KHR_image_base) {
return false;