From 9f71528a05defe1320d4e46bf757ed58613ece4d Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 30 Jul 2024 17:24:17 +0200 Subject: [PATCH] gpu: Fix shadows even more Math is hard. But this time, it comes with a test! --- gsk/gpu/shaders/gskgpuboxshadow.glsl | 2 +- .../compare/outset-shadow-corner-blur-normal.node | 7 +++++++ .../compare/outset-shadow-corner-blur-normal.png | Bin 0 -> 111 bytes testsuite/gsk/meson.build | 1 + 4 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 testsuite/gsk/compare/outset-shadow-corner-blur-normal.node create mode 100644 testsuite/gsk/compare/outset-shadow-corner-blur-normal.png diff --git a/gsk/gpu/shaders/gskgpuboxshadow.glsl b/gsk/gpu/shaders/gskgpuboxshadow.glsl index 93d111c721..37bb67da7b 100644 --- a/gsk/gpu/shaders/gskgpuboxshadow.glsl +++ b/gsk/gpu/shaders/gskgpuboxshadow.glsl @@ -115,7 +115,7 @@ blur_corner (vec2 p, r /= _sigma; if (min (p.x, p.y) <= -2.95 || - max (p.x, p.y) >= 2.95) + max (p.x - r.x, p.y - r.y) >= 2.95) return 0.0; float result = 0.0; diff --git a/testsuite/gsk/compare/outset-shadow-corner-blur-normal.node b/testsuite/gsk/compare/outset-shadow-corner-blur-normal.node new file mode 100644 index 0000000000..54f109b526 --- /dev/null +++ b/testsuite/gsk/compare/outset-shadow-corner-blur-normal.node @@ -0,0 +1,7 @@ +clip { + clip: 0 0 25 25; + child: outset-shadow { + blur: 1; + outline: 0 0 100 100 / 100 0 100 0; + } +} diff --git a/testsuite/gsk/compare/outset-shadow-corner-blur-normal.png b/testsuite/gsk/compare/outset-shadow-corner-blur-normal.png new file mode 100644 index 0000000000000000000000000000000000000000..9f25e9985576403c2c04d0c274979c21e0aef722 GIT binary patch literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^k|4~%1|*NXY)uAIjKx9jP7LeL$-D$|Sdu-R0~mQ3 z80TbK8-Y}Mx;Tb-biO?Z6k}jGwBWmcE