From c04190e7611fd9877fba9f8ebdc4ff6b0041d9c7 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Thu, 28 Mar 2019 23:57:00 +0100 Subject: [PATCH] rendernode: Round pixel colors in color matrix drawing Fixes symbolic-icon-translucent-color.ui reftest --- gsk/gskrendernodeimpl.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gsk/gskrendernodeimpl.c b/gsk/gskrendernodeimpl.c index 5e7ade0a20..271723cd29 100644 --- a/gsk/gskrendernodeimpl.c +++ b/gsk/gskrendernodeimpl.c @@ -3060,10 +3060,10 @@ gsk_color_matrix_node_draw (GskRenderNode *node, if (alpha > 0.0) { alpha = MIN (alpha, 1.0); - pixel_data[x] = (((guint32) (alpha * 255)) << 24) | - (((guint32) (CLAMP (graphene_vec4_get_x (&pixel), 0, 1) * alpha * 255)) << 16) | - (((guint32) (CLAMP (graphene_vec4_get_y (&pixel), 0, 1) * alpha * 255)) << 8) | - ((guint32) (CLAMP (graphene_vec4_get_z (&pixel), 0, 1) * alpha * 255)); + pixel_data[x] = (((guint32) roundf (alpha * 255)) << 24) | + (((guint32) roundf (CLAMP (graphene_vec4_get_x (&pixel), 0, 1) * alpha * 255)) << 16) | + (((guint32) roundf (CLAMP (graphene_vec4_get_y (&pixel), 0, 1) * alpha * 255)) << 8) | + ((guint32) roundf (CLAMP (graphene_vec4_get_z (&pixel), 0, 1) * alpha * 255)); } else {