summaryrefslogtreecommitdiff
path: root/sway/desktop/render.c
diff options
context:
space:
mode:
authorErik Reider <[email protected]>2023-05-30 06:18:58 +0200
committerGitHub <[email protected]>2023-05-30 00:18:58 -0400
commitc95306fcdf6fc11d4dd39309b392c0954784970a (patch)
treedbb77810e0cf2fb0fd56ca6c3f7ed46f0aba7fea /sway/desktop/render.c
parent8e6667ddadb4646e7d43ad5a004c77458ef88fcb (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.c9
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, &current_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, &current_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);