SDL: Refresh generation of SDL_blit_auto.c

From ad1a216d65a74e6a4f1342e2fb0b9d10fb272c63 Mon Sep 17 00:00:00 2001
From: Sylvain <[EMAIL REDACTED]>
Date: Wed, 15 Mar 2023 21:36:45 +0100
Subject: [PATCH] Refresh generation of SDL_blit_auto.c

---
 src/video/SDL_blit_auto.c | 1665 ++++++++++---------------------------
 src/video/SDL_blit_auto.h |    5 +-
 2 files changed, 420 insertions(+), 1250 deletions(-)

diff --git a/src/video/SDL_blit_auto.c b/src/video/SDL_blit_auto.c
index 2804af6bce3d..5c7064ea3750 100644
--- a/src/video/SDL_blit_auto.c
+++ b/src/video/SDL_blit_auto.c
@@ -81,15 +81,9 @@ static void SDL_Blit_RGB888_RGB888_Blend(SDL_BlitInfo *info)
                 dstB = srcB;
                 break;
             case SDL_COPY_ADD:
-                dstR = srcR + dstR; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = srcG + dstG; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = srcB + dstB; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = srcR + dstR; if (dstR > 255) dstR = 255;
+                dstG = srcG + dstG; if (dstG > 255) dstG = 255;
+                dstB = srcB + dstB; if (dstB > 255) dstB = 255;
                 break;
             case SDL_COPY_MOD:
                 dstR = (srcR * dstR) / 255;
@@ -148,15 +142,9 @@ static void SDL_Blit_RGB888_RGB888_Blend_Scale(SDL_BlitInfo *info)
                 dstB = srcB;
                 break;
             case SDL_COPY_ADD:
-                dstR = srcR + dstR; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = srcG + dstG; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = srcB + dstB; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = srcR + dstR; if (dstR > 255) dstR = 255;
+                dstG = srcG + dstG; if (dstG > 255) dstG = 255;
+                dstB = srcB + dstB; if (dstB > 255) dstB = 255;
                 break;
             case SDL_COPY_MOD:
                 dstR = (srcR * dstR) / 255;
@@ -295,15 +283,9 @@ static void SDL_Blit_RGB888_RGB888_Modulate_Blend(SDL_BlitInfo *info)
                 dstB = srcB + ((255 - srcA) * dstB) / 255;
                 break;
             case SDL_COPY_ADD:
-                dstR = srcR + dstR; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = srcG + dstG; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = srcB + dstB; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = srcR + dstR; if (dstR > 255) dstR = 255;
+                dstG = srcG + dstG; if (dstG > 255) dstG = 255;
+                dstB = srcB + dstB; if (dstB > 255) dstB = 255;
                 break;
             case SDL_COPY_MOD:
                 dstR = (srcR * dstR) / 255;
@@ -311,15 +293,9 @@ static void SDL_Blit_RGB888_RGB888_Modulate_Blend(SDL_BlitInfo *info)
                 dstB = (srcB * dstB) / 255;
                 break;
             case SDL_COPY_MUL:
-                dstR = ((srcR * dstR) + (dstR * (255 - srcA))) / 255; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = ((srcG * dstG) + (dstG * (255 - srcA))) / 255; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = ((srcB * dstB) + (dstB * (255 - srcA))) / 255; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = ((srcR * dstR) + (dstR * (255 - srcA))) / 255; if (dstR > 255) dstR = 255;
+                dstG = ((srcG * dstG) + (dstG * (255 - srcA))) / 255; if (dstG > 255) dstG = 255;
+                dstB = ((srcB * dstB) + (dstB * (255 - srcA))) / 255; if (dstB > 255) dstB = 255;
                 break;
             }
             dstpixel = (dstR << 16) | (dstG << 8) | dstB;
@@ -386,15 +362,9 @@ static void SDL_Blit_RGB888_RGB888_Modulate_Blend_Scale(SDL_BlitInfo *info)
                 dstB = srcB + ((255 - srcA) * dstB) / 255;
                 break;
             case SDL_COPY_ADD:
-                dstR = srcR + dstR; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = srcG + dstG; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = srcB + dstB; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = srcR + dstR; if (dstR > 255) dstR = 255;
+                dstG = srcG + dstG; if (dstG > 255) dstG = 255;
+                dstB = srcB + dstB; if (dstB > 255) dstB = 255;
                 break;
             case SDL_COPY_MOD:
                 dstR = (srcR * dstR) / 255;
@@ -402,15 +372,9 @@ static void SDL_Blit_RGB888_RGB888_Modulate_Blend_Scale(SDL_BlitInfo *info)
                 dstB = (srcB * dstB) / 255;
                 break;
             case SDL_COPY_MUL:
-                dstR = ((srcR * dstR) + (dstR * (255 - srcA))) / 255; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = ((srcG * dstG) + (dstG * (255 - srcA))) / 255; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = ((srcB * dstB) + (dstB * (255 - srcA))) / 255; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = ((srcR * dstR) + (dstR * (255 - srcA))) / 255; if (dstR > 255) dstR = 255;
+                dstG = ((srcG * dstG) + (dstG * (255 - srcA))) / 255; if (dstG > 255) dstG = 255;
+                dstB = ((srcB * dstB) + (dstB * (255 - srcA))) / 255; if (dstB > 255) dstB = 255;
                 break;
             }
             dstpixel = (dstR << 16) | (dstG << 8) | dstB;
@@ -481,15 +445,9 @@ static void SDL_Blit_RGB888_BGR888_Blend(SDL_BlitInfo *info)
                 dstB = srcB;
                 break;
             case SDL_COPY_ADD:
-                dstR = srcR + dstR; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = srcG + dstG; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = srcB + dstB; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = srcR + dstR; if (dstR > 255) dstR = 255;
+                dstG = srcG + dstG; if (dstG > 255) dstG = 255;
+                dstB = srcB + dstB; if (dstB > 255) dstB = 255;
                 break;
             case SDL_COPY_MOD:
                 dstR = (srcR * dstR) / 255;
@@ -548,15 +506,9 @@ static void SDL_Blit_RGB888_BGR888_Blend_Scale(SDL_BlitInfo *info)
                 dstB = srcB;
                 break;
             case SDL_COPY_ADD:
-                dstR = srcR + dstR; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = srcG + dstG; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = srcB + dstB; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = srcR + dstR; if (dstR > 255) dstR = 255;
+                dstG = srcG + dstG; if (dstG > 255) dstG = 255;
+                dstB = srcB + dstB; if (dstB > 255) dstB = 255;
                 break;
             case SDL_COPY_MOD:
                 dstR = (srcR * dstR) / 255;
@@ -695,15 +647,9 @@ static void SDL_Blit_RGB888_BGR888_Modulate_Blend(SDL_BlitInfo *info)
                 dstB = srcB + ((255 - srcA) * dstB) / 255;
                 break;
             case SDL_COPY_ADD:
-                dstR = srcR + dstR; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = srcG + dstG; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = srcB + dstB; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = srcR + dstR; if (dstR > 255) dstR = 255;
+                dstG = srcG + dstG; if (dstG > 255) dstG = 255;
+                dstB = srcB + dstB; if (dstB > 255) dstB = 255;
                 break;
             case SDL_COPY_MOD:
                 dstR = (srcR * dstR) / 255;
@@ -711,15 +657,9 @@ static void SDL_Blit_RGB888_BGR888_Modulate_Blend(SDL_BlitInfo *info)
                 dstB = (srcB * dstB) / 255;
                 break;
             case SDL_COPY_MUL:
-                dstR = ((srcR * dstR) + (dstR * (255 - srcA))) / 255; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = ((srcG * dstG) + (dstG * (255 - srcA))) / 255; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = ((srcB * dstB) + (dstB * (255 - srcA))) / 255; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = ((srcR * dstR) + (dstR * (255 - srcA))) / 255; if (dstR > 255) dstR = 255;
+                dstG = ((srcG * dstG) + (dstG * (255 - srcA))) / 255; if (dstG > 255) dstG = 255;
+                dstB = ((srcB * dstB) + (dstB * (255 - srcA))) / 255; if (dstB > 255) dstB = 255;
                 break;
             }
             dstpixel = (dstB << 16) | (dstG << 8) | dstR;
@@ -786,15 +726,9 @@ static void SDL_Blit_RGB888_BGR888_Modulate_Blend_Scale(SDL_BlitInfo *info)
                 dstB = srcB + ((255 - srcA) * dstB) / 255;
                 break;
             case SDL_COPY_ADD:
-                dstR = srcR + dstR; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = srcG + dstG; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = srcB + dstB; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = srcR + dstR; if (dstR > 255) dstR = 255;
+                dstG = srcG + dstG; if (dstG > 255) dstG = 255;
+                dstB = srcB + dstB; if (dstB > 255) dstB = 255;
                 break;
             case SDL_COPY_MOD:
                 dstR = (srcR * dstR) / 255;
@@ -802,15 +736,9 @@ static void SDL_Blit_RGB888_BGR888_Modulate_Blend_Scale(SDL_BlitInfo *info)
                 dstB = (srcB * dstB) / 255;
                 break;
             case SDL_COPY_MUL:
-                dstR = ((srcR * dstR) + (dstR * (255 - srcA))) / 255; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = ((srcG * dstG) + (dstG * (255 - srcA))) / 255; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = ((srcB * dstB) + (dstB * (255 - srcA))) / 255; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = ((srcR * dstR) + (dstR * (255 - srcA))) / 255; if (dstR > 255) dstR = 255;
+                dstG = ((srcG * dstG) + (dstG * (255 - srcA))) / 255; if (dstG > 255) dstG = 255;
+                dstB = ((srcB * dstB) + (dstB * (255 - srcA))) / 255; if (dstB > 255) dstB = 255;
                 break;
             }
             dstpixel = (dstB << 16) | (dstG << 8) | dstR;
@@ -881,15 +809,9 @@ static void SDL_Blit_RGB888_ARGB8888_Blend(SDL_BlitInfo *info)
                 dstA = 0xFF;
                 break;
             case SDL_COPY_ADD:
-                dstR = srcR + dstR; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = srcG + dstG; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = srcB + dstB; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = srcR + dstR; if (dstR > 255) dstR = 255;
+                dstG = srcG + dstG; if (dstG > 255) dstG = 255;
+                dstB = srcB + dstB; if (dstB > 255) dstB = 255;
                 break;
             case SDL_COPY_MOD:
                 dstR = (srcR * dstR) / 255;
@@ -950,15 +872,9 @@ static void SDL_Blit_RGB888_ARGB8888_Blend_Scale(SDL_BlitInfo *info)
                 dstA = 0xFF;
                 break;
             case SDL_COPY_ADD:
-                dstR = srcR + dstR; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = srcG + dstG; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = srcB + dstB; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = srcR + dstR; if (dstR > 255) dstR = 255;
+                dstG = srcG + dstG; if (dstG > 255) dstG = 255;
+                dstB = srcB + dstB; if (dstB > 255) dstB = 255;
                 break;
             case SDL_COPY_MOD:
                 dstR = (srcR * dstR) / 255;
@@ -1103,15 +1019,9 @@ static void SDL_Blit_RGB888_ARGB8888_Modulate_Blend(SDL_BlitInfo *info)
                 dstA = srcA + ((255 - srcA) * dstA) / 255;
                 break;
             case SDL_COPY_ADD:
-                dstR = srcR + dstR; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = srcG + dstG; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = srcB + dstB; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = srcR + dstR; if (dstR > 255) dstR = 255;
+                dstG = srcG + dstG; if (dstG > 255) dstG = 255;
+                dstB = srcB + dstB; if (dstB > 255) dstB = 255;
                 break;
             case SDL_COPY_MOD:
                 dstR = (srcR * dstR) / 255;
@@ -1119,18 +1029,10 @@ static void SDL_Blit_RGB888_ARGB8888_Modulate_Blend(SDL_BlitInfo *info)
                 dstB = (srcB * dstB) / 255;
                 break;
             case SDL_COPY_MUL:
-                dstR = ((srcR * dstR) + (dstR * (255 - srcA))) / 255; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = ((srcG * dstG) + (dstG * (255 - srcA))) / 255; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = ((srcB * dstB) + (dstB * (255 - srcA))) / 255; if (dstB > 255) {
-                    dstB = 255;
-                }
-                dstA = ((srcA * dstA) + (dstA * (255 - srcA))) / 255; if (dstA > 255) {
-                    dstA = 255;
-                }
+                dstR = ((srcR * dstR) + (dstR * (255 - srcA))) / 255; if (dstR > 255) dstR = 255;
+                dstG = ((srcG * dstG) + (dstG * (255 - srcA))) / 255; if (dstG > 255) dstG = 255;
+                dstB = ((srcB * dstB) + (dstB * (255 - srcA))) / 255; if (dstB > 255) dstB = 255;
+                dstA = ((srcA * dstA) + (dstA * (255 - srcA))) / 255; if (dstA > 255) dstA = 255;
                 break;
             }
             dstpixel = (dstA << 24) | (dstR << 16) | (dstG << 8) | dstB;
@@ -1198,15 +1100,9 @@ static void SDL_Blit_RGB888_ARGB8888_Modulate_Blend_Scale(SDL_BlitInfo *info)
                 dstA = srcA + ((255 - srcA) * dstA) / 255;
                 break;
             case SDL_COPY_ADD:
-                dstR = srcR + dstR; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = srcG + dstG; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = srcB + dstB; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = srcR + dstR; if (dstR > 255) dstR = 255;
+                dstG = srcG + dstG; if (dstG > 255) dstG = 255;
+                dstB = srcB + dstB; if (dstB > 255) dstB = 255;
                 break;
             case SDL_COPY_MOD:
                 dstR = (srcR * dstR) / 255;
@@ -1214,18 +1110,10 @@ static void SDL_Blit_RGB888_ARGB8888_Modulate_Blend_Scale(SDL_BlitInfo *info)
                 dstB = (srcB * dstB) / 255;
                 break;
             case SDL_COPY_MUL:
-                dstR = ((srcR * dstR) + (dstR * (255 - srcA))) / 255; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = ((srcG * dstG) + (dstG * (255 - srcA))) / 255; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = ((srcB * dstB) + (dstB * (255 - srcA))) / 255; if (dstB > 255) {
-                    dstB = 255;
-                }
-                dstA = ((srcA * dstA) + (dstA * (255 - srcA))) / 255; if (dstA > 255) {
-                    dstA = 255;
-                }
+                dstR = ((srcR * dstR) + (dstR * (255 - srcA))) / 255; if (dstR > 255) dstR = 255;
+                dstG = ((srcG * dstG) + (dstG * (255 - srcA))) / 255; if (dstG > 255) dstG = 255;
+                dstB = ((srcB * dstB) + (dstB * (255 - srcA))) / 255; if (dstB > 255) dstB = 255;
+                dstA = ((srcA * dstA) + (dstA * (255 - srcA))) / 255; if (dstA > 255) dstA = 255;
                 break;
             }
             dstpixel = (dstA << 24) | (dstR << 16) | (dstG << 8) | dstB;
@@ -1296,15 +1184,9 @@ static void SDL_Blit_BGR888_RGB888_Blend(SDL_BlitInfo *info)
                 dstB = srcB;
                 break;
             case SDL_COPY_ADD:
-                dstR = srcR + dstR; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = srcG + dstG; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = srcB + dstB; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = srcR + dstR; if (dstR > 255) dstR = 255;
+                dstG = srcG + dstG; if (dstG > 255) dstG = 255;
+                dstB = srcB + dstB; if (dstB > 255) dstB = 255;
                 break;
             case SDL_COPY_MOD:
                 dstR = (srcR * dstR) / 255;
@@ -1363,15 +1245,9 @@ static void SDL_Blit_BGR888_RGB888_Blend_Scale(SDL_BlitInfo *info)
                 dstB = srcB;
                 break;
             case SDL_COPY_ADD:
-                dstR = srcR + dstR; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = srcG + dstG; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = srcB + dstB; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = srcR + dstR; if (dstR > 255) dstR = 255;
+                dstG = srcG + dstG; if (dstG > 255) dstG = 255;
+                dstB = srcB + dstB; if (dstB > 255) dstB = 255;
                 break;
             case SDL_COPY_MOD:
                 dstR = (srcR * dstR) / 255;
@@ -1510,15 +1386,9 @@ static void SDL_Blit_BGR888_RGB888_Modulate_Blend(SDL_BlitInfo *info)
                 dstB = srcB + ((255 - srcA) * dstB) / 255;
                 break;
             case SDL_COPY_ADD:
-                dstR = srcR + dstR; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = srcG + dstG; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = srcB + dstB; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = srcR + dstR; if (dstR > 255) dstR = 255;
+                dstG = srcG + dstG; if (dstG > 255) dstG = 255;
+                dstB = srcB + dstB; if (dstB > 255) dstB = 255;
                 break;
             case SDL_COPY_MOD:
                 dstR = (srcR * dstR) / 255;
@@ -1526,15 +1396,9 @@ static void SDL_Blit_BGR888_RGB888_Modulate_Blend(SDL_BlitInfo *info)
                 dstB = (srcB * dstB) / 255;
                 break;
             case SDL_COPY_MUL:
-                dstR = ((srcR * dstR) + (dstR * (255 - srcA))) / 255; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = ((srcG * dstG) + (dstG * (255 - srcA))) / 255; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = ((srcB * dstB) + (dstB * (255 - srcA))) / 255; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = ((srcR * dstR) + (dstR * (255 - srcA))) / 255; if (dstR > 255) dstR = 255;
+                dstG = ((srcG * dstG) + (dstG * (255 - srcA))) / 255; if (dstG > 255) dstG = 255;
+                dstB = ((srcB * dstB) + (dstB * (255 - srcA))) / 255; if (dstB > 255) dstB = 255;
                 break;
             }
             dstpixel = (dstR << 16) | (dstG << 8) | dstB;
@@ -1601,15 +1465,9 @@ static void SDL_Blit_BGR888_RGB888_Modulate_Blend_Scale(SDL_BlitInfo *info)
                 dstB = srcB + ((255 - srcA) * dstB) / 255;
                 break;
             case SDL_COPY_ADD:
-                dstR = srcR + dstR; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = srcG + dstG; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = srcB + dstB; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = srcR + dstR; if (dstR > 255) dstR = 255;
+                dstG = srcG + dstG; if (dstG > 255) dstG = 255;
+                dstB = srcB + dstB; if (dstB > 255) dstB = 255;
                 break;
             case SDL_COPY_MOD:
                 dstR = (srcR * dstR) / 255;
@@ -1617,15 +1475,9 @@ static void SDL_Blit_BGR888_RGB888_Modulate_Blend_Scale(SDL_BlitInfo *info)
                 dstB = (srcB * dstB) / 255;
                 break;
             case SDL_COPY_MUL:
-                dstR = ((srcR * dstR) + (dstR * (255 - srcA))) / 255; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = ((srcG * dstG) + (dstG * (255 - srcA))) / 255; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = ((srcB * dstB) + (dstB * (255 - srcA))) / 255; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = ((srcR * dstR) + (dstR * (255 - srcA))) / 255; if (dstR > 255) dstR = 255;
+                dstG = ((srcG * dstG) + (dstG * (255 - srcA))) / 255; if (dstG > 255) dstG = 255;
+                dstB = ((srcB * dstB) + (dstB * (255 - srcA))) / 255; if (dstB > 255) dstB = 255;
                 break;
             }
             dstpixel = (dstR << 16) | (dstG << 8) | dstB;
@@ -1691,15 +1543,9 @@ static void SDL_Blit_BGR888_BGR888_Blend(SDL_BlitInfo *info)
                 dstB = srcB;
                 break;
             case SDL_COPY_ADD:
-                dstR = srcR + dstR; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = srcG + dstG; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = srcB + dstB; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = srcR + dstR; if (dstR > 255) dstR = 255;
+                dstG = srcG + dstG; if (dstG > 255) dstG = 255;
+                dstB = srcB + dstB; if (dstB > 255) dstB = 255;
                 break;
             case SDL_COPY_MOD:
                 dstR = (srcR * dstR) / 255;
@@ -1758,15 +1604,9 @@ static void SDL_Blit_BGR888_BGR888_Blend_Scale(SDL_BlitInfo *info)
                 dstB = srcB;
                 break;
             case SDL_COPY_ADD:
-                dstR = srcR + dstR; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = srcG + dstG; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = srcB + dstB; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = srcR + dstR; if (dstR > 255) dstR = 255;
+                dstG = srcG + dstG; if (dstG > 255) dstG = 255;
+                dstB = srcB + dstB; if (dstB > 255) dstB = 255;
                 break;
             case SDL_COPY_MOD:
                 dstR = (srcR * dstR) / 255;
@@ -1905,15 +1745,9 @@ static void SDL_Blit_BGR888_BGR888_Modulate_Blend(SDL_BlitInfo *info)
                 dstB = srcB + ((255 - srcA) * dstB) / 255;
                 break;
             case SDL_COPY_ADD:
-                dstR = srcR + dstR; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = srcG + dstG; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = srcB + dstB; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = srcR + dstR; if (dstR > 255) dstR = 255;
+                dstG = srcG + dstG; if (dstG > 255) dstG = 255;
+                dstB = srcB + dstB; if (dstB > 255) dstB = 255;
                 break;
             case SDL_COPY_MOD:
                 dstR = (srcR * dstR) / 255;
@@ -1921,15 +1755,9 @@ static void SDL_Blit_BGR888_BGR888_Modulate_Blend(SDL_BlitInfo *info)
                 dstB = (srcB * dstB) / 255;
                 break;
             case SDL_COPY_MUL:
-                dstR = ((srcR * dstR) + (dstR * (255 - srcA))) / 255; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = ((srcG * dstG) + (dstG * (255 - srcA))) / 255; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = ((srcB * dstB) + (dstB * (255 - srcA))) / 255; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = ((srcR * dstR) + (dstR * (255 - srcA))) / 255; if (dstR > 255) dstR = 255;
+                dstG = ((srcG * dstG) + (dstG * (255 - srcA))) / 255; if (dstG > 255) dstG = 255;
+                dstB = ((srcB * dstB) + (dstB * (255 - srcA))) / 255; if (dstB > 255) dstB = 255;
                 break;
             }
             dstpixel = (dstB << 16) | (dstG << 8) | dstR;
@@ -1996,15 +1824,9 @@ static void SDL_Blit_BGR888_BGR888_Modulate_Blend_Scale(SDL_BlitInfo *info)
                 dstB = srcB + ((255 - srcA) * dstB) / 255;
                 break;
             case SDL_COPY_ADD:
-                dstR = srcR + dstR; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = srcG + dstG; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = srcB + dstB; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = srcR + dstR; if (dstR > 255) dstR = 255;
+                dstG = srcG + dstG; if (dstG > 255) dstG = 255;
+                dstB = srcB + dstB; if (dstB > 255) dstB = 255;
                 break;
             case SDL_COPY_MOD:
                 dstR = (srcR * dstR) / 255;
@@ -2012,15 +1834,9 @@ static void SDL_Blit_BGR888_BGR888_Modulate_Blend_Scale(SDL_BlitInfo *info)
                 dstB = (srcB * dstB) / 255;
                 break;
             case SDL_COPY_MUL:
-                dstR = ((srcR * dstR) + (dstR * (255 - srcA))) / 255; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = ((srcG * dstG) + (dstG * (255 - srcA))) / 255; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = ((srcB * dstB) + (dstB * (255 - srcA))) / 255; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = ((srcR * dstR) + (dstR * (255 - srcA))) / 255; if (dstR > 255) dstR = 255;
+                dstG = ((srcG * dstG) + (dstG * (255 - srcA))) / 255; if (dstG > 255) dstG = 255;
+                dstB = ((srcB * dstB) + (dstB * (255 - srcA))) / 255; if (dstB > 255) dstB = 255;
                 break;
             }
             dstpixel = (dstB << 16) | (dstG << 8) | dstR;
@@ -2093,15 +1909,9 @@ static void SDL_Blit_BGR888_ARGB8888_Blend(SDL_BlitInfo *info)
                 dstA = 0xFF;
                 break;
             case SDL_COPY_ADD:
-                dstR = srcR + dstR; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = srcG + dstG; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = srcB + dstB; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = srcR + dstR; if (dstR > 255) dstR = 255;
+                dstG = srcG + dstG; if (dstG > 255) dstG = 255;
+                dstB = srcB + dstB; if (dstB > 255) dstB = 255;
                 break;
             case SDL_COPY_MOD:
                 dstR = (srcR * dstR) / 255;
@@ -2162,15 +1972,9 @@ static void SDL_Blit_BGR888_ARGB8888_Blend_Scale(SDL_BlitInfo *info)
                 dstA = 0xFF;
                 break;
             case SDL_COPY_ADD:
-                dstR = srcR + dstR; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = srcG + dstG; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = srcB + dstB; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = srcR + dstR; if (dstR > 255) dstR = 255;
+                dstG = srcG + dstG; if (dstG > 255) dstG = 255;
+                dstB = srcB + dstB; if (dstB > 255) dstB = 255;
                 break;
             case SDL_COPY_MOD:
                 dstR = (srcR * dstR) / 255;
@@ -2315,15 +2119,9 @@ static void SDL_Blit_BGR888_ARGB8888_Modulate_Blend(SDL_BlitInfo *info)
                 dstA = srcA + ((255 - srcA) * dstA) / 255;
                 break;
             case SDL_COPY_ADD:
-                dstR = srcR + dstR; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = srcG + dstG; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = srcB + dstB; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = srcR + dstR; if (dstR > 255) dstR = 255;
+                dstG = srcG + dstG; if (dstG > 255) dstG = 255;
+                dstB = srcB + dstB; if (dstB > 255) dstB = 255;
                 break;
             case SDL_COPY_MOD:
                 dstR = (srcR * dstR) / 255;
@@ -2331,18 +2129,10 @@ static void SDL_Blit_BGR888_ARGB8888_Modulate_Blend(SDL_BlitInfo *info)
                 dstB = (srcB * dstB) / 255;
                 break;
             case SDL_COPY_MUL:
-                dstR = ((srcR * dstR) + (dstR * (255 - srcA))) / 255; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = ((srcG * dstG) + (dstG * (255 - srcA))) / 255; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = ((srcB * dstB) + (dstB * (255 - srcA))) / 255; if (dstB > 255) {
-                    dstB = 255;
-                }
-                dstA = ((srcA * dstA) + (dstA * (255 - srcA))) / 255; if (dstA > 255) {
-                    dstA = 255;
-                }
+                dstR = ((srcR * dstR) + (dstR * (255 - srcA))) / 255; if (dstR > 255) dstR = 255;
+                dstG = ((srcG * dstG) + (dstG * (255 - srcA))) / 255; if (dstG > 255) dstG = 255;
+                dstB = ((srcB * dstB) + (dstB * (255 - srcA))) / 255; if (dstB > 255) dstB = 255;
+                dstA = ((srcA * dstA) + (dstA * (255 - srcA))) / 255; if (dstA > 255) dstA = 255;
                 break;
             }
             dstpixel = (dstA << 24) | (dstR << 16) | (dstG << 8) | dstB;
@@ -2410,15 +2200,9 @@ static void SDL_Blit_BGR888_ARGB8888_Modulate_Blend_Scale(SDL_BlitInfo *info)
                 dstA = srcA + ((255 - srcA) * dstA) / 255;
                 break;
             case SDL_COPY_ADD:
-                dstR = srcR + dstR; if (dstR > 255) {
-                    dstR = 255;
-                }
-                dstG = srcG + dstG; if (dstG > 255) {
-                    dstG = 255;
-                }
-                dstB = srcB + dstB; if (dstB > 255) {
-                    dstB = 255;
-                }
+                dstR = srcR + dstR; if (dstR > 255) dstR = 255;
+                dstG = srcG + dstG; if (dstG > 255) dstG = 255;
+             

(Patch may be truncated, please check the link at the top of this post.)