From 5ed30f844d3f3eb92aab50a95b7221f4b1388fa8 Mon Sep 17 00:00:00 2001 From: Sylvain Becker Date: Thu, 7 Feb 2019 22:45:50 +0100 Subject: [PATCH] Some simplification of previous commit --- src/video/SDL_blit_N.c | 69 ++++++++++++++---------------------------- 1 file changed, 22 insertions(+), 47 deletions(-) diff --git a/src/video/SDL_blit_N.c b/src/video/SDL_blit_N.c index 52321258e..8c5031868 100644 --- a/src/video/SDL_blit_N.c +++ b/src/video/SDL_blit_N.c @@ -2229,7 +2229,7 @@ BlitNtoN(SDL_BlitInfo * info) int dstbpp = dstfmt->BytesPerPixel; unsigned alpha = dstfmt->Amask ? info->a : 0; - /* Any src/dst 8888, no ARGB2101010 */ + /* Any src/dst 8888, not CopyAlpha, no ARGB2101010 */ if (srcbpp == 4 && dstbpp == 4 && srcfmt->format != SDL_PIXELFORMAT_ARGB2101010 && dstfmt->format != SDL_PIXELFORMAT_ARGB2101010) { @@ -2297,7 +2297,7 @@ BlitNtoNCopyAlpha(SDL_BlitInfo * info) int dstbpp = dstfmt->BytesPerPixel; int c; - /* Any src/dst 8888, no ARGB2101010 */ + /* Any src/dst 8888 for CopyAlpha, no ARGB2101010 */ if (srcbpp == 4 && dstbpp == 4 && srcfmt->format != SDL_PIXELFORMAT_ARGB2101010 && dstfmt->format != SDL_PIXELFORMAT_ARGB2101010) { @@ -2521,52 +2521,27 @@ BlitNtoNKey(SDL_BlitInfo * info) int missing = 0, r, g, b, a; get_permutation(srcfmt, dstfmt, &r, &g, &b, &a, &missing); - if (dstfmt->Amask) { - while (height--) { - /* *INDENT-OFF* */ - DUFFS_LOOP( - { - if ((*src32 & rgbmask) != ckey) { - Uint8 *s8 = (Uint8 *)src32; - Uint8 *d8 = (Uint8 *)dst32; - d8[0] = s8[r]; - d8[1] = s8[g]; - d8[2] = s8[b]; - d8[3] = s8[a]; - d8[missing] = alpha; - } - ++src32; - ++dst32; - }, width); - /* *INDENT-ON* */ - src32 = (Uint32 *)((Uint8 *)src32 + srcskip); - dst32 = (Uint32 *)((Uint8 *)dst32 + dstskip); - } - - return; - } else { - while (height--) { - /* *INDENT-OFF* */ - DUFFS_LOOP( - { - if ((*src32 & rgbmask) != ckey) { - Uint8 *s8 = (Uint8 *)src32; - Uint8 *d8 = (Uint8 *)dst32; - d8[0] = s8[r]; - d8[1] = s8[g]; - d8[2] = s8[b]; - d8[3] = s8[a]; - d8[missing] = 0; - } - ++src32; - ++dst32; - }, width); - /* *INDENT-ON* */ - src32 = (Uint32 *)((Uint8 *)src32 + srcskip); - dst32 = (Uint32 *)((Uint8 *)dst32 + dstskip); - } - return; + while (height--) { + /* *INDENT-OFF* */ + DUFFS_LOOP( + { + if ((*src32 & rgbmask) != ckey) { + Uint8 *s8 = (Uint8 *)src32; + Uint8 *d8 = (Uint8 *)dst32; + d8[0] = s8[r]; + d8[1] = s8[g]; + d8[2] = s8[b]; + d8[3] = s8[a]; + d8[missing] = alpha; + } + ++src32; + ++dst32; + }, width); + /* *INDENT-ON* */ + src32 = (Uint32 *)((Uint8 *)src32 + srcskip); + dst32 = (Uint32 *)((Uint8 *)dst32 + dstskip); } + return; } /* BPP 3, same rgb triplet */