diff options
author | Erik Reider <[email protected]> | 2023-05-30 06:18:58 +0200 |
---|---|---|
committer | GitHub <[email protected]> | 2023-05-30 00:18:58 -0400 |
commit | c95306fcdf6fc11d4dd39309b392c0954784970a (patch) | |
tree | dbb77810e0cf2fb0fd56ca6c3f7ed46f0aba7fea /sway/desktop/render.c | |
parent | 8e6667ddadb4646e7d43ad5a004c77458ef88fcb (diff) |
fix: blur not being able to blur edges of damage (#168)
Diffstat (limited to 'sway/desktop/render.c')
-rw-r--r-- | sway/desktop/render.c | 9 |
1 files changed, 1 insertions, 8 deletions
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); |