From f424abbc298b37dc8bf99441c7f6e1877bc2983b Mon Sep 17 00:00:00 2001 From: Victoria Brekenfeld Date: Fri, 22 May 2026 17:15:16 +0200 Subject: [PATCH] render/blur: Fix div-by-zero in shaders --- src/backend/render/shaders/blur_downsample.frag | 6 +++++- src/backend/render/shaders/blur_upsample.frag | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/backend/render/shaders/blur_downsample.frag b/src/backend/render/shaders/blur_downsample.frag index 1fa24beb..1fff7522 100644 --- a/src/backend/render/shaders/blur_downsample.frag +++ b/src/backend/render/shaders/blur_downsample.frag @@ -22,5 +22,9 @@ void main() { sum += texture2D(tex, v_coords + vec2(half_pixel.x, -half_pixel.y) * offset); sum += texture2D(tex, v_coords - vec2(half_pixel.x, -half_pixel.y) * offset); - gl_FragColor = sum / sum.a; + if (sum.a == 0.0) { + gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0); + } else { + gl_FragColor = sum / sum.a; + } } diff --git a/src/backend/render/shaders/blur_upsample.frag b/src/backend/render/shaders/blur_upsample.frag index ac026d19..588fcb65 100644 --- a/src/backend/render/shaders/blur_upsample.frag +++ b/src/backend/render/shaders/blur_upsample.frag @@ -23,5 +23,9 @@ void main() { sum += texture2D(tex, v_coords + vec2(0.0, -half_pixel.y * 2.0) * offset); sum += texture2D(tex, v_coords + vec2(-half_pixel.x, -half_pixel.y) * offset) * 2.0; - gl_FragColor = sum / sum.a; + if (sum.a == 0.0) { + gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0); + } else { + gl_FragColor = sum / sum.a; + } }