[gtk] gl renderer: Reset opacity when rendering to a texture



commit 0681c5d5bce33e1783926667e395556b9e7677d3
Author: Timm Bäder <mail baedert org>
Date:   Sun Dec 2 16:03:08 2018 +0100

    gl renderer: Reset opacity when rendering to a texture
    
    The opacity will already be applied when rendering the final texture.

 gsk/gl/gskglrenderer.c | 3 +++
 1 file changed, 3 insertions(+)
---
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;
 


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