summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimm Bäder <mail@baedert.org>2018-12-02 16:03:08 +0100
committerTimm Bäder <mail@baedert.org>2018-12-02 16:03:08 +0100
commit0681c5d5bce33e1783926667e395556b9e7677d3 (patch)
treebbd2a85600b73c2d4a9b3f3f35a92e83090df60e
parentb19926c0795e55c577e37557a03adb5e02fbbd82 (diff)
downloadgtk+-0681c5d5bce33e1783926667e395556b9e7677d3.tar.gz
gl renderer: Reset opacity when rendering to a texture
The opacity will already be applied when rendering the final texture.
-rw-r--r--gsk/gl/gskglrenderer.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gsk/gl/gskglrenderer.c b/gsk/gl/gskglrenderer.c
index 4288ec0b7f..ac36b88117 100644
--- a/gsk/gl/gskglrenderer.c
+++ b/gsk/gl/gskglrenderer.c
@@ -2390,6 +2390,7 @@ add_offscreen_ops (GskGLRenderer *self,
graphene_rect_t prev_viewport;
graphene_matrix_t item_proj;
GskRoundedRect prev_clip;
+ float prev_opacity;
int texture_id = 0;
/* We need the child node as a texture. If it already is one, we don't need to draw
@@ -2455,9 +2456,11 @@ add_offscreen_ops (GskGLRenderer *self,
builder->dx = 0;
builder->dy = 0;
+ prev_opacity = ops_set_opacity (builder, 1.0);
gsk_gl_renderer_add_render_ops (self, child_node, builder);
+ ops_set_opacity (builder, prev_opacity);
builder->dx = dx;
builder->dy = dy;