diff --git a/include/sway/desktop/fx_renderer/fx_renderer.h b/include/sway/desktop/fx_renderer/fx_renderer.h index 51f60557..4a60a7ea 100644 --- a/include/sway/desktop/fx_renderer/fx_renderer.h +++ b/include/sway/desktop/fx_renderer/fx_renderer.h @@ -161,8 +161,6 @@ void fx_renderer_fini(struct fx_renderer *renderer); void fx_renderer_begin(struct fx_renderer *renderer, int width, int height); -void fx_renderer_end(struct fx_renderer *renderer); - void fx_renderer_clear(const float color[static 4]); void fx_renderer_scissor(struct wlr_box *box); diff --git a/sway/desktop/fx_renderer/fx_renderer.c b/sway/desktop/fx_renderer/fx_renderer.c index 7122983e..81841a04 100644 --- a/sway/desktop/fx_renderer/fx_renderer.c +++ b/sway/desktop/fx_renderer/fx_renderer.c @@ -424,11 +424,6 @@ void fx_renderer_begin(struct fx_renderer *renderer, int width, int height) { fx_framebuffer_bind(&renderer->main_buffer); } -void fx_renderer_end(struct fx_renderer *renderer) { - // Release the main buffer - fx_framebuffer_release(&renderer->main_buffer); -} - void fx_renderer_clear(const float color[static 4]) { glClearColor(color[0], color[1], color[2], color[3]); glClearStencil(0); diff --git a/sway/desktop/render.c b/sway/desktop/render.c index 6efeaf5d..3472e12f 100644 --- a/sway/desktop/render.c +++ b/sway/desktop/render.c @@ -248,18 +248,12 @@ struct fx_framebuffer *get_main_buffer_blur(struct fx_renderer *renderer, struct // damage region will be scaled, make a temp pixman_region32_t tempDamage; pixman_region32_init(&tempDamage); - // When DOWNscaling, we make the region twice as small because it's the TARGET - wlr_region_scale(&tempDamage, &damage, 0.5f); int blur_radius = config->blur_params.radius; int blur_passes = config->blur_params.num_passes; - // First pass - render_blur_segments(renderer, gl_matrix, &tempDamage, ¤t_buffer, - &renderer->shaders.blur1, box, blur_radius); - // Downscale - for (int i = 1; i < blur_passes; ++i) { + for (int i = 0; i < blur_passes; ++i) { wlr_region_scale(&tempDamage, &damage, 1.0f / (1 << (i + 1))); render_blur_segments(renderer, gl_matrix, &tempDamage, ¤t_buffer, &renderer->shaders.blur1, box, blur_radius); @@ -1975,7 +1969,6 @@ renderer_end: } render_whole_output(renderer, wlr_output, &extended_damage, &renderer->main_buffer.texture); - fx_renderer_end(renderer); fx_renderer_scissor(NULL);