From 3862fa802f2e94355795d12f576f0506ab78fbb1 Mon Sep 17 00:00:00 2001 From: Mira Grudzinska Date: Wed, 18 Jun 2025 00:33:08 +0200 Subject: [PATCH] avx/neon: remove double increment of the value The span was incremented both in the for loop instruction (ARRAY_FOREACH) and inside the loop body. Fixed. @Issue: https://github.com/thorvg/thorvg/issues/3547 --- src/renderer/sw_engine/tvgSwRasterAvx.h | 2 -- src/renderer/sw_engine/tvgSwRasterNeon.h | 2 -- 2 files changed, 4 deletions(-) diff --git a/src/renderer/sw_engine/tvgSwRasterAvx.h b/src/renderer/sw_engine/tvgSwRasterAvx.h index 79cab043..ed5dd177 100644 --- a/src/renderer/sw_engine/tvgSwRasterAvx.h +++ b/src/renderer/sw_engine/tvgSwRasterAvx.h @@ -206,8 +206,6 @@ static bool avxRasterTranslucentRle(SwSurface* surface, const SwRle* rle, uint8_ *dst = src + ALPHA_BLEND(*dst, ialpha); dst++; } - - ++span; } //8bit grayscale } else if (surface->channelSize == sizeof(uint8_t)) { diff --git a/src/renderer/sw_engine/tvgSwRasterNeon.h b/src/renderer/sw_engine/tvgSwRasterNeon.h index fe693b7f..f32e3dbe 100644 --- a/src/renderer/sw_engine/tvgSwRasterNeon.h +++ b/src/renderer/sw_engine/tvgSwRasterNeon.h @@ -125,8 +125,6 @@ static bool neonRasterTranslucentRle(SwSurface* surface, const SwRle* rle, uint8 auto leftovers = (span->len - align) % 2; if (leftovers > 0) dst[span->len - 1] = src + ALPHA_BLEND(dst[span->len - 1], ialpha); - - ++span; } //8bit grayscale } else if (surface->channelSize == sizeof(uint8_t)) {