From d49e91f68343960734526b48233c21d492133b16 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Fri, 21 May 2021 19:56:39 +0900 Subject: [PATCH] sw_engine rle: ++ precise alpha in anti-aliasing could loss 1 pixel since it divides 255 values by 256. --- src/lib/sw_engine/tvgSwRle.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/sw_engine/tvgSwRle.cpp b/src/lib/sw_engine/tvgSwRle.cpp index ec8e35e9..092ca9a3 100644 --- a/src/lib/sw_engine/tvgSwRle.cpp +++ b/src/lib/sw_engine/tvgSwRle.cpp @@ -649,7 +649,7 @@ SwSpan* _intersectSpansRegion(const SwRleData *clip, const SwRleData *targetRle, out->x = sx1 > cx1 ? sx1 : cx1; out->len = (sx2 < cx2 ? sx2 : cx2) - out->x; out->y = spans->y; - out->coverage = (uint8_t)((spansCorverage * clipSpansCoverage) >> 8); + out->coverage = (uint8_t)(((spansCorverage * clipSpansCoverage) + 0xff) >> 8); ++out; --spanCnt; }