From a0bd59e76d9bf4cec9f3914af844156a432c88ac Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Thu, 7 Sep 2023 23:02:37 +0200 Subject: [PATCH] glrenderer: Shadows without offset do exist Not for opaque contents, but stuff can be semi-transparent. Testcase included. --- gsk/gl/gskglrenderjob.c | 4 ---- testsuite/gsk/compare/shadow-behind.node | 7 +++++++ testsuite/gsk/compare/shadow-behind.png | Bin 0 -> 147 bytes testsuite/gsk/meson.build | 1 + 4 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 testsuite/gsk/compare/shadow-behind.node create mode 100644 testsuite/gsk/compare/shadow-behind.png diff --git a/gsk/gl/gskglrenderjob.c b/gsk/gl/gskglrenderjob.c index c862cb50a3..6f3db87c24 100644 --- a/gsk/gl/gskglrenderjob.c +++ b/gsk/gl/gskglrenderjob.c @@ -3153,10 +3153,6 @@ gsk_gl_render_job_visit_shadow_node (GskGLRenderJob *job, offscreen.was_offscreen = TRUE; } - else if (dx == 0 && dy == 0) - { - continue; /* Invisible anyway */ - } else { offscreen.bounds = &shadow_child->bounds; diff --git a/testsuite/gsk/compare/shadow-behind.node b/testsuite/gsk/compare/shadow-behind.node new file mode 100644 index 0000000000..2ab2225ee0 --- /dev/null +++ b/testsuite/gsk/compare/shadow-behind.node @@ -0,0 +1,7 @@ +shadow { + shadows: rgb(255,0,0) 0 0; + child: color { + bounds: 0 0 50 50; + color: rgba(0,0,255,0.6); + } +} diff --git a/testsuite/gsk/compare/shadow-behind.png b/testsuite/gsk/compare/shadow-behind.png new file mode 100644 index 0000000000000000000000000000000000000000..1fd035d962d452bffa91febdc7dec46674414228 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nETC{Gv1kc`H+=NWkqC@>r_=(FaD zKlL@CspV;=XwG@5_vUp8_xLQ1dh|||QZ{wV>bWAZ(l97_$uWWgY0P`xF