Alexandre Julliard : gdi32: Use the faster memset for vertical gradients.

Alexandre Julliard julliard at winehq.org
Fri Nov 30 13:48:22 CST 2012


Module: wine
Branch: master
Commit: abdce5c2c818506a56c9dc4a0d9a9e5184ae63d5
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=abdce5c2c818506a56c9dc4a0d9a9e5184ae63d5

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Fri Nov 30 17:59:04 2012 +0100

gdi32: Use the faster memset for vertical gradients.

---

 dlls/gdi32/dibdrv/primitives.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/dlls/gdi32/dibdrv/primitives.c b/dlls/gdi32/dibdrv/primitives.c
index 77ac620..a8270ae 100644
--- a/dlls/gdi32/dibdrv/primitives.c
+++ b/dlls/gdi32/dibdrv/primitives.c
@@ -4520,7 +4520,7 @@ static BOOL gradient_rect_8888( const dib_info *dib, const RECT *rc, const TRIVE
         for (y = rc->top; y < rc->bottom; y++, ptr += dib->stride / 4)
         {
             DWORD val = gradient_rgb_8888( v, y - v[0].y, v[1].y - v[0].y );
-            for (x = 0; x < rc->right - rc->left; x++) ptr[x] = val;
+            memset_32( ptr, val, rc->right - rc->left );
         }
         break;
 
@@ -4570,7 +4570,7 @@ static BOOL gradient_rect_32( const dib_info *dib, const RECT *rc, const TRIVERT
         break;
 
     case GRADIENT_FILL_RECT_V:
-        for (y = rc->top; y < rc->bottom; y++)
+        for (y = rc->top; y < rc->bottom; y++, ptr += dib->stride / 4)
         {
             DWORD val = gradient_rgb_24( v, y - v[0].y, v[1].y - v[0].y );
             if (dib->red_len == 8 && dib->green_len == 8 && dib->blue_len == 8)
@@ -4582,8 +4582,7 @@ static BOOL gradient_rect_32( const dib_info *dib, const RECT *rc, const TRIVERT
                        put_field( val >> 8,  dib->green_shift, dib->green_len ) |
                        put_field( val,       dib->blue_shift,  dib->blue_len ));
 
-            for (x = 0; x < rc->right - rc->left; x++) ptr[x] = val;
-            ptr += dib->stride / 4;
+            memset_32( ptr, val, rc->right - rc->left );
         }
         break;
 




More information about the wine-cvs mailing list