From 1b7c882be46ec6e3f114ca925f3b38507527891d Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Fri, 28 Jul 2023 18:25:34 +0900 Subject: [PATCH] sw_engine raster: fixed a wrong composition instruction. it's a regression bug. @Issue: https://github.com/thorvg/thorvg/issues/1540 --- src/lib/sw_engine/tvgSwRaster.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/sw_engine/tvgSwRaster.cpp b/src/lib/sw_engine/tvgSwRaster.cpp index c5383e7e..bd32bf0b 100644 --- a/src/lib/sw_engine/tvgSwRaster.cpp +++ b/src/lib/sw_engine/tvgSwRaster.cpp @@ -561,7 +561,8 @@ static bool _rasterMattedRle(SwSurface* surface, SwRleData* rle, uint8_t r, uint if (span->coverage == 255) src = color; else src = ALPHA_BLEND(color, span->coverage); for (uint32_t x = 0; x < span->len; ++x, ++dst, cmp += csize) { - *dst = INTERPOLATE(src, *dst, alpha(cmp)); + auto tmp = ALPHA_BLEND(src, alpha(cmp)); + *dst = tmp + ALPHA_BLEND(*dst, IA(tmp)); } } return true;