render/gles2: Lazily create buffer fbo

This commit is contained in:
Alexander Orzechowski 2023-11-29 13:58:42 -05:00
parent 67c77fdbdc
commit 0d9cd6932a
3 changed files with 48 additions and 27 deletions

View file

@ -260,6 +260,11 @@ struct wlr_gles2_render_pass *begin_gles2_buffer_pass(struct wlr_gles2_buffer *b
}
}
GLint fbo = gles2_buffer_get_fbo(buffer);
if (!fbo) {
return NULL;
}
struct wlr_gles2_render_pass *pass = calloc(1, sizeof(*pass));
if (pass == NULL) {
return NULL;
@ -274,7 +279,7 @@ struct wlr_gles2_render_pass *begin_gles2_buffer_pass(struct wlr_gles2_buffer *b
WL_OUTPUT_TRANSFORM_FLIPPED_180);
push_gles2_debug(renderer);
glBindFramebuffer(GL_FRAMEBUFFER, buffer->fbo);
glBindFramebuffer(GL_FRAMEBUFFER, fbo);
glViewport(0, 0, wlr_buffer->width, wlr_buffer->height);
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);