[gtk] gl renderer: Grow unblurred outset shadow outline on the gpu



commit 2977e91aed49ff5f14603e3659d847a74130a089
Author: Timm Bäder <mail baedert org>
Date:   Fri Oct 11 10:16:39 2019 +0200

    gl renderer: Grow unblurred outset shadow outline on the gpu

 gsk/gl/gskglrenderer.c                             | 2 --
 gsk/resources/glsl/unblurred_outset_shadow.fs.glsl | 5 +++--
 2 files changed, 3 insertions(+), 4 deletions(-)
---
diff --git a/gsk/gl/gskglrenderer.c b/gsk/gl/gskglrenderer.c
index 64c9a116f6..137f64d3ea 100644
--- a/gsk/gl/gskglrenderer.c
+++ b/gsk/gl/gskglrenderer.c
@@ -1391,8 +1391,6 @@ render_unblurred_outset_shadow_node (GskGLRenderer       *self,
   GskRoundedRect r = *gsk_outset_shadow_node_peek_outline (node);
   RenderOp *op;
 
-  gsk_rounded_rect_shrink (&r, -spread, -spread, -spread, -spread);
-
   ops_set_program (builder, &self->unblurred_outset_shadow_program);
   op = ops_begin (builder, OP_CHANGE_UNBLURRED_OUTSET_SHADOW);
   rgba_to_float (gsk_outset_shadow_node_peek_color (node), op->unblurred_outset_shadow.color);
diff --git a/gsk/resources/glsl/unblurred_outset_shadow.fs.glsl 
b/gsk/resources/glsl/unblurred_outset_shadow.fs.glsl
index 1ae48ecb49..f859123d52 100644
--- a/gsk/resources/glsl/unblurred_outset_shadow.fs.glsl
+++ b/gsk/resources/glsl/unblurred_outset_shadow.fs.glsl
@@ -12,9 +12,10 @@ void main() {
   f.x += u_viewport.x;
   f.y = (u_viewport.y + u_viewport.w) - f.y;
 
-  RoundedRect outline = RoundedRect(vec4(u_outline.xy, u_outline.xy + u_outline.zw),
+  RoundedRect inside = RoundedRect(vec4(u_outline.xy, u_outline.xy + u_outline.zw),
                                     u_corner_widths, u_corner_heights);
-  RoundedRect inside = rounded_rect_shrink(outline, vec4(u_spread));
+
+  RoundedRect outline = rounded_rect_shrink(inside, vec4(- u_spread));
 
   vec2 offset = vec2(u_offset.x, - u_offset.y);
   vec4 color = vec4(u_color.rgb * u_color.a, u_color.a);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]