diff options
author | Matthias Clasen <mclasen@redhat.com> | 2021-07-15 13:16:37 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2021-07-15 13:18:23 -0400 |
commit | fd48afb77d27c6d0402f7938e73b4315cb8842c3 (patch) | |
tree | 94ba702877580076ea6d12f1f7a6491300481ab4 | |
parent | aaa68954c34a31fb95b717f2fed6736037e0d644 (diff) | |
download | gtk+-fd48afb77d27c6d0402f7938e73b4315cb8842c3.tar.gz |
ngl: Do nothing for transparent color nodes
No need to send commands to the GPU to render transparency.
-rw-r--r-- | gsk/ngl/gsknglrenderjob.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gsk/ngl/gsknglrenderjob.c b/gsk/ngl/gsknglrenderjob.c index b876e6e248..8785766612 100644 --- a/gsk/ngl/gsknglrenderjob.c +++ b/gsk/ngl/gsknglrenderjob.c @@ -1373,11 +1373,16 @@ static inline void gsk_ngl_render_job_visit_color_node (GskNglRenderJob *job, const GskRenderNode *node) { + const GdkRGBA *rgba; guint16 color[4]; GskNglProgram *program; GskNglCommandBatch *batch; - rgba_to_half (gsk_color_node_get_color (node), color); + rgba = gsk_color_node_get_color (node); + if (gdk_rgba_is_clear (rgba)) + return; + + rgba_to_half (rgba, color); /* Avoid switching away from the coloring program for * rendering a solid color. |