From 4c9423278a66ddb9cb03cee33473b1332150230f Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Thu, 7 Nov 2019 13:38:45 -0500 Subject: [PATCH] Introduce wlr_renderer_get_egl --- include/wlr/render/gles2.h | 2 ++ include/wlr/render/wlr_renderer.h | 1 + render/gles2/renderer.c | 6 ++++++ 3 files changed, 9 insertions(+) diff --git a/include/wlr/render/gles2.h b/include/wlr/render/gles2.h index b8c9a41a..c53353d3 100644 --- a/include/wlr/render/gles2.h +++ b/include/wlr/render/gles2.h @@ -17,6 +17,8 @@ struct wlr_egl; struct wlr_renderer *wlr_gles2_renderer_create(struct wlr_egl *egl); +struct wlr_egl *wlr_gles2_renderer_get_egl(struct wlr_renderer *renderer); + struct wlr_texture *wlr_gles2_texture_from_pixels(struct wlr_egl *egl, enum wl_shm_format wl_fmt, uint32_t stride, uint32_t width, uint32_t height, const void *data); diff --git a/include/wlr/render/wlr_renderer.h b/include/wlr/render/wlr_renderer.h index 33f96b68..522ce738 100644 --- a/include/wlr/render/wlr_renderer.h +++ b/include/wlr/render/wlr_renderer.h @@ -109,6 +109,7 @@ bool wlr_renderer_format_supported(struct wlr_renderer *r, enum wl_shm_format fmt); void wlr_renderer_init_wl_display(struct wlr_renderer *r, struct wl_display *wl_display); + /** * Destroys this wlr_renderer. Textures must be destroyed separately. */ diff --git a/render/gles2/renderer.c b/render/gles2/renderer.c index 1f579aeb..c156923b 100644 --- a/render/gles2/renderer.c +++ b/render/gles2/renderer.c @@ -356,6 +356,12 @@ static void gles2_init_wl_display(struct wlr_renderer *wlr_renderer, } } +struct wlr_egl *wlr_gles2_renderer_get_egl(struct wlr_renderer *wlr_renderer) { + struct wlr_gles2_renderer *renderer = + gles2_get_renderer(wlr_renderer); + return renderer->egl; +} + static void gles2_destroy(struct wlr_renderer *wlr_renderer) { struct wlr_gles2_renderer *renderer = gles2_get_renderer(wlr_renderer);