gl renderer: Don't invert offset value twice
authorTimm Bäder <mail@baedert.org>
Tue, 17 Dec 2019 15:24:17 +0000 (16:24 +0100)
committerTimm Bäder <mail@baedert.org>
Tue, 7 Jan 2020 16:27:16 +0000 (17:27 +0100)
gsk/gl/gskglrenderer.c
gsk/resources/glsl/inset_shadow.glsl
gsk/resources/glsl/unblurred_outset_shadow.glsl

index e7f4234576c81fcd3fc90612060202cb0a2f979c..68fcdf6ddbe393ca1000b854ed6653e7bb3d3a26 100644 (file)
@@ -1555,7 +1555,7 @@ render_unblurred_inset_shadow_node (GskGLRenderer   *self,
   op->outline = transform_rect (self, builder, gsk_inset_shadow_node_peek_outline (node));
   op->spread = spread * scale;
   op->offset[0] = dx * scale;
-  op->offset[1] = -dy * scale;
+  op->offset[1] = dy * scale;
 
   load_vertex_data (vertex_data, node, builder);
 
@@ -1737,7 +1737,7 @@ render_unblurred_outset_shadow_node (GskGLRenderer   *self,
   op->outline = transform_rect (self, builder, outline);
   op->spread = spread * scale;
   op->offset[0] = dx * scale;
-  op->offset[1] = dy * scale;
+  op->offset[1] = dy * scale;
 
   load_vertex_data (vertex_data, node, builder);
   ops_draw (builder, vertex_data);
index 1658559536c7d5b8de6f1f9e18a1ea41152a43e5..1549800363d6df9e1a6fd1c1150fa2da769c9dc7 100644 (file)
@@ -17,10 +17,9 @@ void main() {
 
   RoundedRect outside = create_rect(u_outline_rect);
   RoundedRect inside = rounded_rect_shrink(outside, vec4(u_spread));
-  vec2 offset = vec2(u_offset.x, - u_offset.y);
   vec4 color = vec4(u_color.rgb * u_color.a, u_color.a);
   color = color * clamp (rounded_rect_coverage (outside, f.xy) -
-                         rounded_rect_coverage (inside, f.xy - offset),
+                         rounded_rect_coverage (inside, f.xy - u_offset),
                          0.0, 1.0);
   setOutputColor(color * u_alpha);
 }
index 876ee9eb1e1ef009f706784e9cf785636201cccd..27606f14761bb2a4cf71be849bde22cceb9c4ecb 100644 (file)
@@ -19,9 +19,8 @@ void main() {
   RoundedRect inside = create_rect(u_outline_rect);
   RoundedRect outside = 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);
-  color = color * clamp (rounded_rect_coverage (outside, f.xy - offset) -
+  color = color * clamp (rounded_rect_coverage (outside, f.xy - u_offset) -
                          rounded_rect_coverage (inside, f.xy),
                          0.0, 1.0);
   setOutputColor(color * u_alpha);