diff --git a/src/draw/sw/blend/lv_draw_sw_blend_to_argb8888_premultiplied.c b/src/draw/sw/blend/lv_draw_sw_blend_to_argb8888_premultiplied.c index 7996efcf45..c0b3031653 100644 --- a/src/draw/sw/blend/lv_draw_sw_blend_to_argb8888_premultiplied.c +++ b/src/draw/sw/blend/lv_draw_sw_blend_to_argb8888_premultiplied.c @@ -41,6 +41,11 @@ typedef struct { static void /* LV_ATTRIBUTE_FAST_MEM */ argb8888_image_blend(lv_draw_sw_blend_image_dsc_t * dsc); #endif +#if LV_DRAW_SW_SUPPORT_RGB888 || LV_DRAW_SW_SUPPORT_XRGB8888 +static void /* LV_ATTRIBUTE_FAST_MEM */ rgb888_image_blend(lv_draw_sw_blend_image_dsc_t * dsc, + const uint8_t src_px_size); +#endif + static void /* LV_ATTRIBUTE_FAST_MEM */ argb8888_premultiplied_image_blend(lv_draw_sw_blend_image_dsc_t * dsc); static inline void /* LV_ATTRIBUTE_FAST_MEM */ blend_non_normal_pixel_premultiplied( @@ -77,6 +82,23 @@ static inline void * /* LV_ATTRIBUTE_FAST_MEM */ drawbuf_next_row(const void * b #define LV_DRAW_SW_ARGB8888_BLEND_NORMAL_TO_ARGB8888_PREMULTIPLIED_MIX_MASK_OPA(...) LV_RESULT_INVALID #endif +#ifndef LV_DRAW_SW_RGB888_BLEND_NORMAL_TO_ARGB8888_PREMULTIPLIED + #define LV_DRAW_SW_RGB888_BLEND_NORMAL_TO_ARGB8888_PREMULTIPLIED(...) LV_RESULT_INVALID +#endif + +#ifndef LV_DRAW_SW_RGB888_BLEND_NORMAL_TO_ARGB8888_PREMULTIPLIED_WITH_OPA + #define LV_DRAW_SW_RGB888_BLEND_NORMAL_TO_ARGB8888_PREMULTIPLIED_WITH_OPA(...) LV_RESULT_INVALID +#endif + +#ifndef LV_DRAW_SW_RGB888_BLEND_NORMAL_TO_ARGB8888_PREMULTIPLIED_WITH_MASK + #define LV_DRAW_SW_RGB888_BLEND_NORMAL_TO_ARGB8888_PREMULTIPLIED_WITH_MASK(...) LV_RESULT_INVALID +#endif + +#ifndef LV_DRAW_SW_RGB888_BLEND_NORMAL_TO_ARGB8888_PREMULTIPLIED_MIX_MASK_OPA + #define LV_DRAW_SW_RGB888_BLEND_NORMAL_TO_ARGB8888_PREMULTIPLIED_MIX_MASK_OPA(...) LV_RESULT_INVALID +#endif + + #ifndef LV_DRAW_SW_ARGB8888_PREMULTIPLIED_BLEND_NORMAL_TO_ARGB8888_PREMULTIPLIED #define LV_DRAW_SW_ARGB8888_PREMULTIPLIED_BLEND_NORMAL_TO_ARGB8888_PREMULTIPLIED(...) LV_RESULT_INVALID #endif @@ -121,11 +143,18 @@ void LV_ATTRIBUTE_FAST_MEM lv_draw_sw_blend_color_to_argb8888_premultiplied(lv_d int32_t y; /* Convert source color to premultiplied */ + if(opa >= LV_OPA_MAX) opa = 0xff; lv_color32_t color_argb = lv_color_to_32(dsc->color, opa); - color_argb.red = (color_argb.red * color_argb.alpha) >> 8; - color_argb.green = (color_argb.green * color_argb.alpha) >> 8; - color_argb.blue = (color_argb.blue * color_argb.alpha) >> 8; - + lv_color32_t color_argb_premul; + if(opa == 0xff) { + color_argb_premul = color_argb; + } + else { + color_argb_premul.alpha = opa; + color_argb_premul.red = (color_argb.red * opa) >> 8; + color_argb_premul.green = (color_argb.green * opa) >> 8; + color_argb_premul.blue = (color_argb.blue * opa) >> 8; + } /* Simple fill */ if(mask == NULL && opa >= LV_OPA_MAX) { @@ -144,7 +173,7 @@ void LV_ATTRIBUTE_FAST_MEM lv_draw_sw_blend_color_to_argb8888_premultiplied(lv_d lv_color32_t * dest_buf = dsc->dest_buf; for(y = 0; y < h; y++) { for(x = 0; x < w; x++) { - dest_buf[x] = lv_color_32_32_mix_premul(color_argb, dest_buf[x], &cache); + dest_buf[x] = lv_color_32_32_mix_premul(color_argb_premul, dest_buf[x], &cache); } dest_buf = drawbuf_next_row(dest_buf, dest_stride); } @@ -155,11 +184,16 @@ void LV_ATTRIBUTE_FAST_MEM lv_draw_sw_blend_color_to_argb8888_premultiplied(lv_d for(y = 0; y < h; y++) { for(x = 0; x < w; x++) { lv_color32_t color_premul = color_argb; - color_premul.alpha = mask[x]; - color_premul.red = (color_premul.red * color_premul.alpha) >> 8; - color_premul.green = (color_premul.green * color_premul.alpha) >> 8; - color_premul.blue = (color_premul.blue * color_premul.alpha) >> 8; - dest_buf[x] = lv_color_32_32_mix_premul(color_premul, dest_buf[x], &cache); + if(mask[x] >= LV_OPA_MAX) { + dest_buf[x] = lv_color_32_32_mix_premul(color_premul, dest_buf[x], &cache); + } + else if(mask[x] > LV_OPA_MIN) { + color_premul.alpha = mask[x]; + color_premul.red = (color_premul.red * color_premul.alpha) >> 8; + color_premul.green = (color_premul.green * color_premul.alpha) >> 8; + color_premul.blue = (color_premul.blue * color_premul.alpha) >> 8; + dest_buf[x] = lv_color_32_32_mix_premul(color_premul, dest_buf[x], &cache); + } } dest_buf = drawbuf_next_row(dest_buf, dest_stride); mask += mask_stride; @@ -171,11 +205,17 @@ void LV_ATTRIBUTE_FAST_MEM lv_draw_sw_blend_color_to_argb8888_premultiplied(lv_d for(y = 0; y < h; y++) { for(x = 0; x < w; x++) { lv_color32_t color_premul = color_argb; - color_premul.alpha = LV_OPA_MIX2(mask[x], opa); - color_premul.red = (color_premul.red * color_premul.alpha) >> 8; - color_premul.green = (color_premul.green * color_premul.alpha) >> 8; - color_premul.blue = (color_premul.blue * color_premul.alpha) >> 8; - dest_buf[x] = lv_color_32_32_mix_premul(color_premul, dest_buf[x], &cache); + lv_opa_t alpha = LV_OPA_MIX2(mask[x], opa); + if(alpha >= LV_OPA_MAX) { + dest_buf[x] = lv_color_32_32_mix_premul(color_premul, dest_buf[x], &cache); + } + else if(mask[x] > LV_OPA_MIN) { + color_premul.alpha = alpha; + color_premul.red = (color_premul.red * color_premul.alpha) >> 8; + color_premul.green = (color_premul.green * color_premul.alpha) >> 8; + color_premul.blue = (color_premul.blue * color_premul.alpha) >> 8; + dest_buf[x] = lv_color_32_32_mix_premul(color_premul, dest_buf[x], &cache); + } } dest_buf = drawbuf_next_row(dest_buf, dest_stride); mask += mask_stride; @@ -199,6 +239,19 @@ void LV_ATTRIBUTE_FAST_MEM lv_draw_sw_blend_image_to_argb8888_premultiplied(lv_d argb8888_image_blend(dsc); break; #endif + +#if LV_DRAW_SW_SUPPORT_RGB888 + case LV_COLOR_FORMAT_RGB888: + rgb888_image_blend(dsc, 3); + break; +#endif + +#if LV_DRAW_SW_SUPPORT_XRGB8888 + case LV_COLOR_FORMAT_XRGB8888: + rgb888_image_blend(dsc, 4); + break; +#endif + case LV_COLOR_FORMAT_ARGB8888_PREMULTIPLIED: argb8888_premultiplied_image_blend(dsc); break; @@ -240,12 +293,23 @@ static void LV_ATTRIBUTE_FAST_MEM argb8888_image_blend(lv_draw_sw_blend_image_ds for(x = 0; x < w; x++) { color_argb = src_buf_c32[x]; - /* Premultiply alpha */ - color_argb.red = (color_argb.red * color_argb.alpha) >> 8; - color_argb.green = (color_argb.green * color_argb.alpha) >> 8; - color_argb.blue = (color_argb.blue * color_argb.alpha) >> 8; + if(color_argb.alpha >= LV_OPA_MAX) { + color_argb.alpha = 0xff; + dest_buf_c32[x] = color_argb; + } + else if(color_argb.alpha > LV_OPA_MIN) { + /*Premultiplication can cause loss of precision which can result slightly + *darker color when blending the same color to the background.*/ + if(dest_buf_c32[x].red != color_argb.red || + dest_buf_c32[x].green != color_argb.green || + dest_buf_c32[x].blue != color_argb.blue) { - dest_buf_c32[x] = lv_color_32_32_mix_premul(color_argb, dest_buf_c32[x], &cache); + color_argb.red = (color_argb.red * color_argb.alpha) >> 8; + color_argb.green = (color_argb.green * color_argb.alpha) >> 8; + color_argb.blue = (color_argb.blue * color_argb.alpha) >> 8; + dest_buf_c32[x] = lv_color_32_32_mix_premul(color_argb, dest_buf_c32[x], &cache); + } + } } dest_buf_c32 = drawbuf_next_row(dest_buf_c32, dest_stride); src_buf_c32 = drawbuf_next_row(src_buf_c32, src_stride); @@ -259,14 +323,25 @@ static void LV_ATTRIBUTE_FAST_MEM argb8888_image_blend(lv_draw_sw_blend_image_ds color_argb = src_buf_c32[x]; /* Apply global opacity */ - color_argb.alpha = LV_OPA_MIX2(color_argb.alpha, opa); + lv_opa_t alpha = LV_OPA_MIX2(color_argb.alpha, opa); - /* Premultiply alpha */ - color_argb.red = (color_argb.red * color_argb.alpha) >> 8; - color_argb.green = (color_argb.green * color_argb.alpha) >> 8; - color_argb.blue = (color_argb.blue * color_argb.alpha) >> 8; - - dest_buf_c32[x] = lv_color_32_32_mix_premul(color_argb, dest_buf_c32[x], &cache); + if(alpha >= LV_OPA_MAX) { + color_argb.alpha = 0xff; + dest_buf_c32[x] = color_argb; + } + else if(alpha > LV_OPA_MIN) { + /*Premultiplication can cause loss of precision which can result slightly + *darker color when blending the same color to the background.*/ + if(dest_buf_c32[x].red != color_argb.red || + dest_buf_c32[x].green != color_argb.green || + dest_buf_c32[x].blue != color_argb.blue) { + color_argb.alpha = alpha; + color_argb.red = (color_argb.red * color_argb.alpha) >> 8; + color_argb.green = (color_argb.green * color_argb.alpha) >> 8; + color_argb.blue = (color_argb.blue * color_argb.alpha) >> 8; + dest_buf_c32[x] = lv_color_32_32_mix_premul(color_argb, dest_buf_c32[x], &cache); + } + } } dest_buf_c32 = drawbuf_next_row(dest_buf_c32, dest_stride); src_buf_c32 = drawbuf_next_row(src_buf_c32, src_stride); @@ -280,14 +355,25 @@ static void LV_ATTRIBUTE_FAST_MEM argb8888_image_blend(lv_draw_sw_blend_image_ds color_argb = src_buf_c32[x]; /* Apply mask opacity */ - color_argb.alpha = LV_OPA_MIX2(color_argb.alpha, mask_buf[x]); + lv_opa_t alpha = LV_OPA_MIX2(color_argb.alpha, mask_buf[x]); - /* Premultiply alpha */ - color_argb.red = (color_argb.red * color_argb.alpha) >> 8; - color_argb.green = (color_argb.green * color_argb.alpha) >> 8; - color_argb.blue = (color_argb.blue * color_argb.alpha) >> 8; - - dest_buf_c32[x] = lv_color_32_32_mix_premul(color_argb, dest_buf_c32[x], &cache); + if(alpha >= LV_OPA_MAX) { + color_argb.alpha = 0xff; + dest_buf_c32[x] = color_argb; + } + else if(alpha > LV_OPA_MIN) { + /*Premultiplication can cause loss of precision which can result slightly + *darker color when blending the same color to the background.*/ + if(dest_buf_c32[x].red != color_argb.red || + dest_buf_c32[x].green != color_argb.green || + dest_buf_c32[x].blue != color_argb.blue) { + color_argb.alpha = alpha; + color_argb.red = (color_argb.red * color_argb.alpha) >> 8; + color_argb.green = (color_argb.green * color_argb.alpha) >> 8; + color_argb.blue = (color_argb.blue * color_argb.alpha) >> 8; + dest_buf_c32[x] = lv_color_32_32_mix_premul(color_argb, dest_buf_c32[x], &cache); + } + } } dest_buf_c32 = drawbuf_next_row(dest_buf_c32, dest_stride); src_buf_c32 = drawbuf_next_row(src_buf_c32, src_stride); @@ -302,14 +388,25 @@ static void LV_ATTRIBUTE_FAST_MEM argb8888_image_blend(lv_draw_sw_blend_image_ds color_argb = src_buf_c32[x]; /* Apply both mask and global opacity */ - color_argb.alpha = LV_OPA_MIX3(color_argb.alpha, opa, mask_buf[x]); + lv_opa_t alpha = LV_OPA_MIX3(color_argb.alpha, opa, mask_buf[x]); - /* Premultiply alpha */ - color_argb.red = (color_argb.red * color_argb.alpha) >> 8; - color_argb.green = (color_argb.green * color_argb.alpha) >> 8; - color_argb.blue = (color_argb.blue * color_argb.alpha) >> 8; - - dest_buf_c32[x] = lv_color_32_32_mix_premul(color_argb, dest_buf_c32[x], &cache); + if(alpha >= LV_OPA_MAX) { + color_argb.alpha = 0xff; + dest_buf_c32[x] = color_argb; + } + else if(alpha > LV_OPA_MIN) { + /*Premultiplication can cause loss of precision which can result slightly + *darker color when blending the same color to the background.*/ + if(dest_buf_c32[x].red != color_argb.red || + dest_buf_c32[x].green != color_argb.green || + dest_buf_c32[x].blue != color_argb.blue) { + color_argb.alpha = alpha; + color_argb.red = (color_argb.red * color_argb.alpha) >> 8; + color_argb.green = (color_argb.green * color_argb.alpha) >> 8; + color_argb.blue = (color_argb.blue * color_argb.alpha) >> 8; + dest_buf_c32[x] = lv_color_32_32_mix_premul(color_argb, dest_buf_c32[x], &cache); + } + } } dest_buf_c32 = drawbuf_next_row(dest_buf_c32, dest_stride); src_buf_c32 = drawbuf_next_row(src_buf_c32, src_stride); @@ -345,6 +442,128 @@ static void LV_ATTRIBUTE_FAST_MEM argb8888_image_blend(lv_draw_sw_blend_image_ds #endif +#if LV_DRAW_SW_SUPPORT_RGB888 || LV_DRAW_SW_SUPPORT_XRGB8888 + +static void LV_ATTRIBUTE_FAST_MEM rgb888_image_blend(lv_draw_sw_blend_image_dsc_t * dsc, const uint8_t src_px_size) +{ + + int32_t w = dsc->dest_w; + int32_t h = dsc->dest_h; + lv_opa_t opa = dsc->opa; + lv_color32_t * dest_buf_c32 = dsc->dest_buf; + int32_t dest_stride = dsc->dest_stride; + const uint8_t * src_buf = dsc->src_buf; + int32_t src_stride = dsc->src_stride; + const lv_opa_t * mask_buf = dsc->mask_buf; + int32_t mask_stride = dsc->mask_stride; + + lv_color32_t color_argb; + lv_color_mix_alpha_cache_t cache; + lv_color_mix_with_alpha_cache_init(&cache); + + int32_t dest_x; + int32_t src_x; + int32_t y; + + LV_UNUSED(color_argb); + + if(dsc->blend_mode == LV_BLEND_MODE_NORMAL) { + /*Special case*/ + if(mask_buf == NULL && opa >= LV_OPA_MAX) { + if(LV_RESULT_INVALID == LV_DRAW_SW_RGB888_BLEND_NORMAL_TO_ARGB8888_PREMULTIPLIED(dsc, src_px_size)) { + if(src_px_size == 4) { + uint32_t line_in_bytes = w * 4; + for(y = 0; y < h; y++) { + lv_memcpy(dest_buf_c32, src_buf, line_in_bytes); + dest_buf_c32 = drawbuf_next_row(dest_buf_c32, dest_stride); + src_buf = drawbuf_next_row(src_buf, src_stride); + } + } + else if(src_px_size == 3) { + for(y = 0; y < h; y++) { + for(dest_x = 0, src_x = 0; dest_x < w; dest_x++, src_x += 3) { + dest_buf_c32[dest_x].red = src_buf[src_x + 2]; + dest_buf_c32[dest_x].green = src_buf[src_x + 1]; + dest_buf_c32[dest_x].blue = src_buf[src_x + 0]; + dest_buf_c32[dest_x].alpha = 0xff; + } + dest_buf_c32 = drawbuf_next_row(dest_buf_c32, dest_stride); + src_buf = drawbuf_next_row(src_buf, src_stride); + } + } + } + } + if(mask_buf == NULL && opa < LV_OPA_MAX) { + if(LV_RESULT_INVALID == LV_DRAW_SW_RGB888_BLEND_NORMAL_TO_ARGB8888_PREMULTIPLIED_WITH_OPA(dsc, src_px_size)) { + color_argb.alpha = opa; + for(y = 0; y < h; y++) { + for(dest_x = 0, src_x = 0; dest_x < w; dest_x++, src_x += src_px_size) { + color_argb.red = (src_buf[src_x + 2] * color_argb.alpha) >> 8; + color_argb.green = (src_buf[src_x + 1] * color_argb.alpha) >> 8; + color_argb.blue = (src_buf[src_x + 0] * color_argb.alpha) >> 8; + dest_buf_c32[dest_x] = lv_color_32_32_mix_premul(color_argb, dest_buf_c32[dest_x], &cache); + } + dest_buf_c32 = drawbuf_next_row(dest_buf_c32, dest_stride); + src_buf = drawbuf_next_row(src_buf, src_stride); + } + } + } + if(mask_buf && opa >= LV_OPA_MAX) { + if(LV_RESULT_INVALID == LV_DRAW_SW_RGB888_BLEND_NORMAL_TO_ARGB8888_PREMULTIPLIED_WITH_MASK(dsc, src_px_size)) { + for(y = 0; y < h; y++) { + for(dest_x = 0, src_x = 0; dest_x < w; dest_x++, src_x += src_px_size) { + color_argb.alpha = mask_buf[dest_x]; + color_argb.red = (src_buf[src_x + 2] * color_argb.alpha) >> 8; + color_argb.green = (src_buf[src_x + 1] * color_argb.alpha) >> 8; + color_argb.blue = (src_buf[src_x + 0] * color_argb.alpha) >> 8; + dest_buf_c32[dest_x] = lv_color_32_32_mix_premul(color_argb, dest_buf_c32[dest_x], &cache); + } + dest_buf_c32 = drawbuf_next_row(dest_buf_c32, dest_stride); + src_buf = drawbuf_next_row(src_buf, src_stride); + mask_buf += mask_stride; + } + } + } + if(mask_buf && opa < LV_OPA_MAX) { + if(LV_RESULT_INVALID == LV_DRAW_SW_RGB888_BLEND_NORMAL_TO_ARGB8888_PREMULTIPLIED_MIX_MASK_OPA(dsc, src_px_size)) { + for(y = 0; y < h; y++) { + for(dest_x = 0, src_x = 0; dest_x < w; dest_x++, src_x += src_px_size) { + color_argb.alpha = (opa * mask_buf[dest_x]) >> 8; + color_argb.red = (src_buf[src_x + 2] * color_argb.alpha) >> 8;; + color_argb.green = (src_buf[src_x + 1] * color_argb.alpha) >> 8;; + color_argb.blue = (src_buf[src_x + 0] * color_argb.alpha) >> 8;; + dest_buf_c32[dest_x] = lv_color_32_32_mix_premul(color_argb, dest_buf_c32[dest_x], &cache); + } + dest_buf_c32 = drawbuf_next_row(dest_buf_c32, dest_stride); + src_buf = drawbuf_next_row(src_buf, src_stride); + mask_buf += mask_stride; + } + } + } + } + else { + lv_color32_t src_argb; + for(y = 0; y < h; y++) { + for(dest_x = 0, src_x = 0; dest_x < w; dest_x++, src_x += src_px_size) { + src_argb.red = src_buf[src_x + 2]; + src_argb.green = src_buf[src_x + 1]; + src_argb.blue = src_buf[src_x + 0]; + if(mask_buf == NULL) src_argb.alpha = opa; + else src_argb.alpha = LV_OPA_MIX2(mask_buf[dest_x], opa); + + blend_non_normal_pixel_premultiplied(&dest_buf_c32[dest_x], src_argb, dsc->blend_mode, &cache); + } + + if(mask_buf) mask_buf += mask_stride; + dest_buf_c32 = drawbuf_next_row(dest_buf_c32, dest_stride); + src_buf = drawbuf_next_row(src_buf, src_stride); + } + } +} + +#endif + + static void LV_ATTRIBUTE_FAST_MEM argb8888_premultiplied_image_blend(lv_draw_sw_blend_image_dsc_t * dsc) { int32_t w = dsc->dest_w; diff --git a/src/misc/lv_color_op.c b/src/misc/lv_color_op.c index 9968341d89..b9d281115e 100644 --- a/src/misc/lv_color_op.c +++ b/src/misc/lv_color_op.c @@ -73,7 +73,6 @@ lv_color32_t lv_color_mix32_premultiplied(lv_color32_t fg, lv_color32_t bg) bg.red = fg.red + ((bg.red * inv_fg_alpha) >> 8); bg.green = fg.green + ((bg.green * inv_fg_alpha) >> 8); bg.blue = fg.blue + ((bg.blue * inv_fg_alpha) >> 8); - bg.alpha = fg.alpha + ((bg.alpha * inv_fg_alpha) >> 8); return bg; } diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_arc_image_opa_128.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_arc_image_opa_128.png index d4033d09dd..7feed02fd5 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_arc_image_opa_128.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_arc_image_opa_128.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_arc_image_opa_255.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_arc_image_opa_255.png index 9431d7f88e..f90aeacd8b 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_arc_image_opa_255.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_arc_image_opa_255.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_arc_normal_opa_128.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_arc_normal_opa_128.png index 281a4222e3..224f97a81d 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_arc_normal_opa_128.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_arc_normal_opa_128.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_arc_normal_opa_255.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_arc_normal_opa_255.png index e62432eaf6..a4d45ffdc9 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_arc_normal_opa_255.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_arc_normal_opa_255.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_blend_mode_opa_128.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_blend_mode_opa_128.png index 09d9205fd1..e0d223adbe 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_blend_mode_opa_128.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_blend_mode_opa_128.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_blend_mode_opa_255.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_blend_mode_opa_255.png index 56e9c706b9..2d4b7231f4 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_blend_mode_opa_255.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_blend_mode_opa_255.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_border_opa_128.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_border_opa_128.png index 64cbff3b2c..9949b77775 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_border_opa_128.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_border_opa_128.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_border_opa_255.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_border_opa_255.png index 11f30926aa..183209c4c5 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_border_opa_255.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_border_opa_255.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_box_shadow_opa_128.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_box_shadow_opa_128.png index 8281d0c343..a1d189e006 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_box_shadow_opa_128.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_box_shadow_opa_128.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_box_shadow_opa_255.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_box_shadow_opa_255.png index 27540f1125..e31ce7459e 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_box_shadow_opa_255.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_box_shadow_opa_255.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_conical_gradient_opa_128.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_conical_gradient_opa_128.png index 3093276631..e8a11822de 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_conical_gradient_opa_128.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_conical_gradient_opa_128.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_conical_gradient_opa_255.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_conical_gradient_opa_255.png index 3093276631..9864e0e456 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_conical_gradient_opa_255.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_conical_gradient_opa_255.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_fill_opa_128.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_fill_opa_128.png index 9610b79061..bbcbcd3641 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_fill_opa_128.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_fill_opa_128.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_fill_opa_255.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_fill_opa_255.png index 8fb03e2874..6f925ab013 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_fill_opa_255.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_fill_opa_255.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_normal_1_opa_128.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_normal_1_opa_128.png index cc03ffe0fb..342c3f589d 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_normal_1_opa_128.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_normal_1_opa_128.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_normal_1_opa_255.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_normal_1_opa_255.png index 71a75e03e4..998f9a50d8 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_normal_1_opa_255.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_normal_1_opa_255.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_normal_2_opa_128.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_normal_2_opa_128.png index 09a9eddd6c..42b0e45727 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_normal_2_opa_128.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_normal_2_opa_128.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_normal_2_opa_255.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_normal_2_opa_255.png index 09a9eddd6c..42b0e45727 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_normal_2_opa_255.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_normal_2_opa_255.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_normal_3_opa_128.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_normal_3_opa_128.png index dfbca1065b..c7115d9549 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_normal_3_opa_128.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_normal_3_opa_128.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_normal_3_opa_255.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_normal_3_opa_255.png index 7b712123d4..cd4574cd47 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_normal_3_opa_255.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_normal_3_opa_255.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_recolor_1_opa_128.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_recolor_1_opa_128.png index 90fe568fd9..79d76d00b4 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_recolor_1_opa_128.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_recolor_1_opa_128.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_recolor_1_opa_255.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_recolor_1_opa_255.png index 2553905453..21f2aa1424 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_recolor_1_opa_255.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_recolor_1_opa_255.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_recolor_2_opa_128.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_recolor_2_opa_128.png index 09a9eddd6c..42b0e45727 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_recolor_2_opa_128.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_recolor_2_opa_128.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_recolor_2_opa_255.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_recolor_2_opa_255.png index 09a9eddd6c..42b0e45727 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_recolor_2_opa_255.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_recolor_2_opa_255.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_recolor_3_opa_128.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_recolor_3_opa_128.png index bbb525354b..1ca81fda9c 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_recolor_3_opa_128.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_recolor_3_opa_128.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_recolor_3_opa_255.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_recolor_3_opa_255.png index 42848d8d31..b2401baeaf 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_recolor_3_opa_255.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_image_recolor_3_opa_255.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_layer_normal_opa_128.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_layer_normal_opa_128.png index 43cb471e0d..3bf2320920 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_layer_normal_opa_128.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_layer_normal_opa_128.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_layer_normal_opa_255.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_layer_normal_opa_255.png index 7b6335fc01..e64eb9962c 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_layer_normal_opa_255.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_layer_normal_opa_255.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_line_opa_128.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_line_opa_128.png index 2b837d3616..11ff5e795c 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_line_opa_128.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_line_opa_128.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_line_opa_255.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_line_opa_255.png index f437587c7b..05d975b0d6 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_line_opa_255.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_line_opa_255.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_linear_gradient_opa_128.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_linear_gradient_opa_128.png index 3093276631..edbe6c9004 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_linear_gradient_opa_128.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_linear_gradient_opa_128.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_linear_gradient_opa_255.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_linear_gradient_opa_255.png index 3093276631..8836ff0e05 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_linear_gradient_opa_255.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_linear_gradient_opa_255.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_radial_gradient_opa_128.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_radial_gradient_opa_128.png index 3093276631..7e33af6d44 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_radial_gradient_opa_128.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_radial_gradient_opa_128.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_radial_gradient_opa_255.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_radial_gradient_opa_255.png index 3093276631..12e3026177 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_radial_gradient_opa_255.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_radial_gradient_opa_255.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_text_opa_128.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_text_opa_128.png index 43c5944ad6..ee47443518 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_text_opa_128.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_text_opa_128.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_text_opa_255.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_text_opa_255.png index b4c1cead68..e382a93af0 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_text_opa_255.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_text_opa_255.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_triangle_opa_128.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_triangle_opa_128.png index c0f1b02438..aea1aa8a3c 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_triangle_opa_128.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_triangle_opa_128.png differ diff --git a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_triangle_opa_255.png b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_triangle_opa_255.png index 096da787f3..0eaa511fa5 100644 Binary files a/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_triangle_opa_255.png and b/tests/ref_imgs/draw/render/argb8888_premultiplied/demo_render_triangle_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_arc_image_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_arc_image_opa_128.png index d4033d09dd..7feed02fd5 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_arc_image_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_arc_image_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_arc_image_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_arc_image_opa_255.png index 9431d7f88e..f90aeacd8b 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_arc_image_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_arc_image_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_arc_normal_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_arc_normal_opa_128.png index 281a4222e3..224f97a81d 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_arc_normal_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_arc_normal_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_arc_normal_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_arc_normal_opa_255.png index e62432eaf6..a4d45ffdc9 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_arc_normal_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_arc_normal_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_blend_mode_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_blend_mode_opa_128.png index a9cbcb258f..ce79fdbbbf 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_blend_mode_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_blend_mode_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_blend_mode_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_blend_mode_opa_255.png index 7f03d73c0f..3b8af83b71 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_blend_mode_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_blend_mode_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_border_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_border_opa_128.png index 64cbff3b2c..9949b77775 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_border_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_border_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_border_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_border_opa_255.png index 11f30926aa..183209c4c5 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_border_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_border_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_box_shadow_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_box_shadow_opa_128.png index 8281d0c343..a1d189e006 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_box_shadow_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_box_shadow_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_box_shadow_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_box_shadow_opa_255.png index 27540f1125..e31ce7459e 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_box_shadow_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_box_shadow_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_conical_gradient_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_conical_gradient_opa_128.png index 3093276631..e8a11822de 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_conical_gradient_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_conical_gradient_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_conical_gradient_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_conical_gradient_opa_255.png index 3093276631..9864e0e456 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_conical_gradient_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_conical_gradient_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_fill_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_fill_opa_128.png index 9610b79061..bbcbcd3641 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_fill_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_fill_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_fill_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_fill_opa_255.png index 8fb03e2874..6f925ab013 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_fill_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_fill_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_normal_1_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_normal_1_opa_128.png index cc03ffe0fb..342c3f589d 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_normal_1_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_normal_1_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_normal_1_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_normal_1_opa_255.png index 71a75e03e4..998f9a50d8 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_normal_1_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_normal_1_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_normal_2_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_normal_2_opa_128.png index 09a9eddd6c..42b0e45727 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_normal_2_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_normal_2_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_normal_2_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_normal_2_opa_255.png index 09a9eddd6c..42b0e45727 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_normal_2_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_normal_2_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_normal_3_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_normal_3_opa_128.png index b23c9e07ea..261ae1dee4 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_normal_3_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_normal_3_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_normal_3_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_normal_3_opa_255.png index b23c9e07ea..261ae1dee4 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_normal_3_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_normal_3_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_recolor_1_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_recolor_1_opa_128.png index 90fe568fd9..79d76d00b4 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_recolor_1_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_recolor_1_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_recolor_1_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_recolor_1_opa_255.png index 2553905453..21f2aa1424 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_recolor_1_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_recolor_1_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_recolor_2_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_recolor_2_opa_128.png index 09a9eddd6c..42b0e45727 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_recolor_2_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_recolor_2_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_recolor_2_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_recolor_2_opa_255.png index 09a9eddd6c..42b0e45727 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_recolor_2_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_recolor_2_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_recolor_3_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_recolor_3_opa_128.png index b23c9e07ea..261ae1dee4 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_recolor_3_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_recolor_3_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_recolor_3_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_recolor_3_opa_255.png index b23c9e07ea..261ae1dee4 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_recolor_3_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_image_recolor_3_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_layer_normal_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_layer_normal_opa_128.png index a20eafe5de..3bbcd1a01f 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_layer_normal_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_layer_normal_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_layer_normal_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_layer_normal_opa_255.png index c272a18a0f..b2f40985a8 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_layer_normal_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_layer_normal_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_line_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_line_opa_128.png index 2b837d3616..11ff5e795c 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_line_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_line_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_line_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_line_opa_255.png index f437587c7b..05d975b0d6 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_line_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_line_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_linear_gradient_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_linear_gradient_opa_128.png index 3093276631..edbe6c9004 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_linear_gradient_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_linear_gradient_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_linear_gradient_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_linear_gradient_opa_255.png index 3093276631..8836ff0e05 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_linear_gradient_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_linear_gradient_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_radial_gradient_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_radial_gradient_opa_128.png index 3093276631..7e33af6d44 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_radial_gradient_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_radial_gradient_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_radial_gradient_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_radial_gradient_opa_255.png index 3093276631..12e3026177 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_radial_gradient_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_radial_gradient_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_text_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_text_opa_128.png index 43c5944ad6..ee47443518 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_text_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_text_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_text_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_text_opa_255.png index b4c1cead68..e382a93af0 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_text_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_text_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_triangle_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_triangle_opa_128.png index c0f1b02438..aea1aa8a3c 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_triangle_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_triangle_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_triangle_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_triangle_opa_255.png index 096da787f3..0eaa511fa5 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_triangle_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888_premultiplied/demo_render_triangle_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_arc_image_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_arc_image_opa_128.png index a84f3ed89f..dc25ce16be 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_arc_image_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_arc_image_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_arc_image_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_arc_image_opa_255.png index 37563d73c0..803a6b04e5 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_arc_image_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_arc_image_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_arc_normal_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_arc_normal_opa_128.png index 7daa3bd995..bd9cceab1b 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_arc_normal_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_arc_normal_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_arc_normal_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_arc_normal_opa_255.png index 8779546347..5b31e65f95 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_arc_normal_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_arc_normal_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_blend_mode_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_blend_mode_opa_128.png index 87030cd3d7..6a55c22baa 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_blend_mode_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_blend_mode_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_blend_mode_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_blend_mode_opa_255.png index 773f8d687e..cd92a9003e 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_blend_mode_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_blend_mode_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_border_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_border_opa_128.png index 3d0a91eda2..77d319adda 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_border_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_border_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_border_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_border_opa_255.png index ca45d61660..102068aa01 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_border_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_border_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_box_shadow_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_box_shadow_opa_128.png index a341089f68..dd68db6881 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_box_shadow_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_box_shadow_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_box_shadow_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_box_shadow_opa_255.png index 479c783f31..2cd7d08dfc 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_box_shadow_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_box_shadow_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_conical_gradient_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_conical_gradient_opa_128.png index a589c5788b..02fde3cf86 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_conical_gradient_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_conical_gradient_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_conical_gradient_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_conical_gradient_opa_255.png index a589c5788b..02fde3cf86 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_conical_gradient_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_conical_gradient_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_fill_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_fill_opa_128.png index 54afc718a0..8b2e289ac9 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_fill_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_fill_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_fill_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_fill_opa_255.png index 40d343b498..124b4d2d99 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_fill_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_fill_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_normal_1_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_normal_1_opa_128.png index b365edb41b..803d71c98a 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_normal_1_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_normal_1_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_normal_1_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_normal_1_opa_255.png index c4632cfd32..9ba6ca2600 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_normal_1_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_normal_1_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_normal_2_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_normal_2_opa_128.png index 92c65ad498..989dd7e417 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_normal_2_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_normal_2_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_normal_2_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_normal_2_opa_255.png index b676adcc41..0cd06f94e0 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_normal_2_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_normal_2_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_normal_3_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_normal_3_opa_128.png index 33c5ee8b4a..2f8fa15bff 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_normal_3_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_normal_3_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_normal_3_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_normal_3_opa_255.png index 5cc1958c2e..628fd6b70a 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_normal_3_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_normal_3_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_recolor_1_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_recolor_1_opa_128.png index 62364ff59a..336e3cc6b0 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_recolor_1_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_recolor_1_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_recolor_1_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_recolor_1_opa_255.png index 0f621e3bdc..779a9aee5c 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_recolor_1_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_recolor_1_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_recolor_2_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_recolor_2_opa_128.png index f5ef548340..3a41d0113f 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_recolor_2_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_recolor_2_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_recolor_2_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_recolor_2_opa_255.png index c0cf3b662e..9471247b8d 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_recolor_2_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_recolor_2_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_recolor_3_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_recolor_3_opa_128.png index 7e4985802f..a96291d593 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_recolor_3_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_recolor_3_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_recolor_3_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_recolor_3_opa_255.png index cee850e222..34a30c9076 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_recolor_3_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_image_recolor_3_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_layer_normal_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_layer_normal_opa_128.png index ab859e7f4b..a6951337d6 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_layer_normal_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_layer_normal_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_layer_normal_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_layer_normal_opa_255.png index 1036c5e798..af0e0f0325 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_layer_normal_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_layer_normal_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_line_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_line_opa_128.png index f9712751da..f7f303fc9c 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_line_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_line_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_line_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_line_opa_255.png index ccdaa14059..4f1a42b198 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_line_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_line_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_linear_gradient_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_linear_gradient_opa_128.png index 1934f57de2..e62368db8f 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_linear_gradient_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_linear_gradient_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_linear_gradient_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_linear_gradient_opa_255.png index 1934f57de2..e62368db8f 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_linear_gradient_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_linear_gradient_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_radial_gradient_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_radial_gradient_opa_128.png index dc87017d66..4e9ecfa7d3 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_radial_gradient_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_radial_gradient_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_radial_gradient_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_radial_gradient_opa_255.png index dc87017d66..4e9ecfa7d3 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_radial_gradient_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_radial_gradient_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_text_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_text_opa_128.png index ccdd6a8ba5..866b768bed 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_text_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_text_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_text_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_text_opa_255.png index e936a71716..4f82ffe42d 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_text_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_text_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_triangle_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_triangle_opa_128.png index 8932038888..21271449ef 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_triangle_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_triangle_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_triangle_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_triangle_opa_255.png index b694088c4e..ffc28a9dd0 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_triangle_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_triangle_opa_255.png differ