Просмотр исходного кода

Speed up full-surface fills

(cherry picked from commit 7a3f5ef129d7650f9b1a9077e304a15816323976)
Starbuck5 1 год назад
Родитель
Сommit
9f07ac8bba
1 измененных файлов с 7 добавлено и 0 удалено
  1. 7 0
      src/video/SDL_fillrect.c

+ 7 - 0
src/video/SDL_fillrect.c

@@ -61,6 +61,13 @@ static void SDL_FillRect##bpp##SSE(Uint8 *pixels, int pitch, Uint32 color, int w
 { \
     int i, n; \
     Uint8 *p = NULL; \
+  \
+    /* If the number of bytes per row is equal to the pitch, treat */ \
+    /* all rows as one long continuous row (for better performance) */ \
+    if ((w) * (bpp) == pitch) { \
+        w = w * h; \
+        h = 1; \
+    } \
  \
     SSE_BEGIN; \
  \