diff --git a/sway/desktop/fx_renderer.c b/sway/desktop/fx_renderer.c index 9ba96c29..90601351 100644 --- a/sway/desktop/fx_renderer.c +++ b/sway/desktop/fx_renderer.c @@ -286,13 +286,13 @@ error: void fx_renderer_begin(struct fx_renderer *renderer, uint32_t width, uint32_t height) { // Create and render the stencil buffer - glGenRenderbuffers(1, &renderer->stencil_buffer_id); + if (renderer->stencil_buffer_id == 0) { + glGenRenderbuffers(1, &renderer->stencil_buffer_id); + } glBindRenderbuffer(GL_RENDERBUFFER, renderer->stencil_buffer_id); glRenderbufferStorage(GL_RENDERBUFFER, GL_STENCIL_INDEX8, width, height); - // TODO: Needed? - int status = glCheckFramebufferStatus(GL_FRAMEBUFFER); - assert(status == GL_FRAMEBUFFER_COMPLETE); - glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, renderer->stencil_buffer_id); + glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, + GL_RENDERBUFFER, renderer->stencil_buffer_id); glViewport(0, 0, width, height);