From 7de9494766d907af974a9d0f52b1715f4b1e4da1 Mon Sep 17 00:00:00 2001 From: Yuxuan Shui Date: Sun, 15 Mar 2020 20:08:27 +0000 Subject: [PATCH] gl_common: apply alpha to the right target In gl_image_apply_alpha, the call to _gl_fill uses 0 as the target framebuffer, so the alpha is not applied to the target texture. Fix that by using the correct framebuffer. Signed-off-by: Yuxuan Shui --- src/backend/gl/gl_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/gl/gl_common.c b/src/backend/gl/gl_common.c index 3225d82..9710baa 100644 --- a/src/backend/gl/gl_common.c +++ b/src/backend/gl/gl_common.c @@ -1366,7 +1366,7 @@ static void gl_image_apply_alpha(backend_t *base, struct gl_image *img, glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, img->inner->texture, 0); glDrawBuffer(GL_COLOR_ATTACHMENT0); - _gl_fill(base, (struct color){0, 0, 0, 0}, reg_op, 0, 0, false); + _gl_fill(base, (struct color){0, 0, 0, 0}, reg_op, fbo, 0, false); glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); glDeleteFramebuffers(1, &fbo);