From 6f6991a1b38b03e87fd3f73607ca2393ae62cfea Mon Sep 17 00:00:00 2001 From: William McKinnon Date: Wed, 6 Sep 2023 00:32:08 -0400 Subject: refactor: simplify blur (#219) * refactor: removed surface_width + surface_height from render_blur() * Fixed scaling issues * Minor refactors * removed scaled_dst box * removed uneeded fb bind * removed unneeded src_box * removed unneeded wlr_fbox_from_box function * removed src_box * Don't scale the blur translucent region twice * Renamed extended_damage to original_damage to reflect better what it actually is * Removed unneeded clearing of the wlr fbo before rendering onto it * Removed the need for our own main FBO, also fixes some damage bugs * Simplified detection of blur on workspace * cleaned up comments --------- Co-authored-by: Erik Reider <35975961+ErikReider@users.noreply.github.com> --- sway/desktop/fx_renderer/fx_framebuffer.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'sway/desktop/fx_renderer/fx_framebuffer.c') diff --git a/sway/desktop/fx_renderer/fx_framebuffer.c b/sway/desktop/fx_renderer/fx_framebuffer.c index 3ef3129a..dd8c27b1 100644 --- a/sway/desktop/fx_renderer/fx_framebuffer.c +++ b/sway/desktop/fx_renderer/fx_framebuffer.c @@ -67,17 +67,11 @@ void fx_framebuffer_add_stencil_buffer(struct fx_framebuffer *buffer, int width, if (first_alloc || buffer->stencil_buffer.width != width || buffer->stencil_buffer.height != height) { glBindRenderbuffer(GL_RENDERBUFFER, buffer->stencil_buffer.rb); glRenderbufferStorage(GL_RENDERBUFFER, GL_STENCIL_INDEX8, width, height); - glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, buffer->stencil_buffer.rb); buffer->stencil_buffer.width = width; buffer->stencil_buffer.height = height; - - GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER); - if (status != GL_FRAMEBUFFER_COMPLETE) { - sway_log(SWAY_ERROR, "Stencil buffer incomplete, couldn't create! (FB status: %i)", status); - return; - } - sway_log(SWAY_DEBUG, "Stencil buffer created, status %i", status); } + + glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, buffer->stencil_buffer.rb); } void fx_framebuffer_release(struct fx_framebuffer *buffer) { -- cgit v1.2.3