From 4f2b1cc930b3f805358571e809ccba4bf6d6272c Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Tue, 15 Aug 2017 07:58:07 -0400 Subject: [PATCH] implement get_buffer_size for egl buffers --- render/gles2/texture.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/render/gles2/texture.c b/render/gles2/texture.c index 1f4ae22c..4eb79374 100644 --- a/render/gles2/texture.c +++ b/render/gles2/texture.c @@ -222,7 +222,19 @@ static void gles2_texture_get_buffer_size(struct wlr_texture *texture, struct wl_resource *resource, int *width, int *height) { struct wl_shm_buffer *buffer = wl_shm_buffer_get(resource); if (!buffer) { - wlr_log(L_ERROR, "getting buffer size is only implemented for shm buffers"); + struct wlr_gles2_texture *tex = (struct wlr_gles2_texture *)texture; + if (!glEGLImageTargetTexture2DOES) { + return; + } + if (!wlr_egl_query_buffer(tex->egl, resource, EGL_WIDTH, + (EGLint*)&width)) { + wlr_log(L_ERROR, "could not get size of the buffer " + "(no buffer found)"); + return; + }; + wlr_egl_query_buffer(tex->egl, resource, EGL_HEIGHT, + (EGLint*)&height); + return; }