From f91e89fd9f701781ff320f643acdb129ab4f4e55 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Tue, 8 Dec 2020 19:37:21 +0100 Subject: [PATCH] render/gles2: query alpha size from render buffer If we're using a render buffer, query the alpha size from it. Closes: https://github.com/swaywm/wlroots/issues/2527 --- render/gles2/renderer.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/render/gles2/renderer.c b/render/gles2/renderer.c index bb8dab02..db313034 100644 --- a/render/gles2/renderer.c +++ b/render/gles2/renderer.c @@ -453,7 +453,12 @@ static enum wl_shm_format gles2_preferred_read_format( pop_gles2_debug(renderer); EGLint alpha_size = -1; - if (renderer->egl->config != EGL_NO_CONFIG_KHR) { + if (renderer->current_buffer != NULL) { + glBindRenderbuffer(GL_RENDERBUFFER, renderer->current_buffer->rbo); + glGetRenderbufferParameteriv(GL_RENDERBUFFER, + GL_RENDERBUFFER_ALPHA_SIZE, &alpha_size); + glBindRenderbuffer(GL_RENDERBUFFER, 0); + } else if (renderer->egl->config != EGL_NO_CONFIG_KHR) { eglGetConfigAttrib(renderer->egl->display, renderer->egl->config, EGL_ALPHA_SIZE, &alpha_size); }