render/egl: add wlr_egl_get_{context,display}

This allows compositors to integrate with the wlroots GLES2
renderer, if they need to perform custom GL rendering.
This commit is contained in:
Simon Ser 2022-05-25 17:42:24 +02:00 committed by Simon Zeni
parent 4b77eadf06
commit 452a8ec940
2 changed files with 24 additions and 0 deletions

View file

@ -70,6 +70,22 @@ struct wlr_egl {
struct wlr_egl *wlr_egl_create_with_context(EGLDisplay display, struct wlr_egl *wlr_egl_create_with_context(EGLDisplay display,
EGLContext context); 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. * Make the EGL context current.
* *

View file

@ -583,6 +583,14 @@ void wlr_egl_destroy(struct wlr_egl *egl) {
free(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) { bool wlr_egl_destroy_image(struct wlr_egl *egl, EGLImage image) {
if (!egl->exts.KHR_image_base) { if (!egl->exts.KHR_image_base) {
return false; return false;