From 593103cd8bdae024e28932c94ce5441283161393 Mon Sep 17 00:00:00 2001 From: Aidan MacDonald Date: Sun, 8 Jan 2023 10:44:47 +0000 Subject: [PATCH] lcd: Fix 4bpp optimized 16-bit alpha blit Fixes a bug introduced by commit 5d0c382a59 that caused graphical corruption on anti-aliased fonts. Change-Id: I6052ca758382bd9a1154d2e2208dee633dd17715 --- firmware/drivers/lcd-16bit-common.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/firmware/drivers/lcd-16bit-common.c b/firmware/drivers/lcd-16bit-common.c index af1171b401..9d24dfe16e 100644 --- a/firmware/drivers/lcd-16bit-common.c +++ b/firmware/drivers/lcd-16bit-common.c @@ -498,10 +498,11 @@ static void ICODE_ATTR lcd_alpha_bitmap_part_mix( if (stride_alpha) { \ alpha_pixels = stride_alpha - alpha_pixels; \ alpha += alpha_pixels / ALPHA_PIXELS_PER_BYTE; \ - alpha_data = *alpha++ ^ dmask; \ alpha_pixels &= 1; \ - if (alpha_pixels) \ + if (alpha_pixels) { \ + alpha_data = *alpha++ ^ dmask; \ alpha_data >>= ALPHA_BPP; \ + } \ } \ } while(0) #define READ_ALPHA() \