gl renderer: Force blur shadow node children offscreen

This broke the overlay blur demoe when resizing the window to a size
that would completely move the image below a button, causing the
GtkSnapshot code to remove the clip node below the blur node.
This commit is contained in:
Timm Bäder 2019-01-13 08:21:58 +01:00
parent 44a2a49f31
commit 59bf76dce1

View File

@ -1091,10 +1091,15 @@ render_blur_node (GskGLRenderer *self,
gboolean is_offscreen;
RenderOp op;
/* TODO(perf): We're forcing the child offscreen even if it's a texture
* so the resulting offscreen texture is bigger by the gaussian blur factor
* (see gsk_blur_node_new), but we didn't have to do that if the blur
* shader could handle that situation. */
add_offscreen_ops (self, builder,
&node->bounds,
gsk_blur_node_get_child (node),
&texture_id, &is_offscreen, FALSE, TRUE);
&texture_id, &is_offscreen, TRUE, TRUE);
ops_set_program (builder, &self->blur_program);
op.op = OP_CHANGE_BLUR;