Browse Source

Optimize BlitRGBtoRGBSurfaceAlpha

Brick 9 months ago
parent
commit
d37f8fa2b3
1 changed files with 4 additions and 12 deletions
  1. 4 12
      src/video/SDL_blit_A.c

+ 4 - 12
src/video/SDL_blit_A.c

@@ -364,18 +364,10 @@ static void BlitRGBtoRGBSurfaceAlpha(SDL_BlitInfo *info)
             DUFFS_LOOP4({
                 s = *srcp;
                 d = *dstp;
-                Uint8 sR = (s >> 16) & 0xFF;
-                Uint8 sG = (s >> 8) & 0xFF;
-                Uint8 sB = s & 0xFF;
-                Uint8 dR = (d >> 16) & 0xFF;
-                Uint8 dG = (d >> 8) & 0xFF;
-                Uint8 dB = d & 0xFF;
-
-                ALPHA_BLEND_CHANNEL(sR, dR, alpha);
-                ALPHA_BLEND_CHANNEL(sG, dG, alpha);
-                ALPHA_BLEND_CHANNEL(sB, dB, alpha);
-
-                *dstp = (dR << 16) | (dG << 8) | dB | 0xFF000000;
+
+                FACTOR_BLEND_8888(s, d, alpha);
+
+                *dstp = d | 0xff000000;
                 ++srcp;
                 ++dstp;
             }, width);