David Kiefer : winex11.drv: Remove x86 inline assembly for performing palettized blits.

Alexandre Julliard julliard at winehq.org
Fri Sep 23 10:56:50 CDT 2011


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

Author: David Kiefer <hevanen at googlemail.com>
Date:   Fri Sep 23 02:43:46 2011 +0200

winex11.drv: Remove x86 inline assembly for performing palettized blits.

---

 dlls/winex11.drv/dib.c |   42 ------------------------------------------
 1 files changed, 0 insertions(+), 42 deletions(-)

diff --git a/dlls/winex11.drv/dib.c b/dlls/winex11.drv/dib.c
index 1e608ba..bde614e 100644
--- a/dlls/winex11.drv/dib.c
+++ b/dlls/winex11.drv/dib.c
@@ -1276,26 +1276,6 @@ static void X11DRV_DIB_SetImageBits_8( int lines, const BYTE *srcbits,
 	    /* ==== pal 8 dib -> rgb or bgr 555 or 565 bmp ==== */
 	    dstbits=(BYTE*)bmpImage->data+left*2+(lines-1)*bmpImage->bytes_per_line;
 	    for (h = lines ; h--; ) {
-#if defined(__i386__) && defined(__GNUC__)
-		int _cl1,_cl2; /* temp outputs for asm below */
-		/* Borrowed from DirectDraw */
-		__asm__ __volatile__(
-		"xor %%eax,%%eax\n"
-		"cld\n"
-		"1:\n"
-		"    lodsb\n"
-		"    movw (%%edx,%%eax,4),%%ax\n"
-		"    stosw\n"
-		"      xor %%eax,%%eax\n"
-		"    loop 1b\n"
-		:"=S" (srcbyte), "=D" (_cl1), "=c" (_cl2)
-		:"S" (srcbyte),
-		 "D" (dstbits),
-		 "c" (width),
-		 "d" (colors)
-		:"eax", "cc", "memory"
-		);
-#else
 		DWORD* dstpixel=(DWORD*)dstbits;
 		for (x=0; x<width/2; x++) {
 		    /* Do 2 pixels at a time */
@@ -1306,7 +1286,6 @@ static void X11DRV_DIB_SetImageBits_8( int lines, const BYTE *srcbits,
 		    /* And then the odd pixel */
 		    *((WORD*)dstpixel)=colors[srcbyte[0]];
 		}
-#endif
 		srcbyte = (srcbits += linebytes);
 		dstbits -= bmpImage->bytes_per_line;
 	    }
@@ -1321,31 +1300,10 @@ static void X11DRV_DIB_SetImageBits_8( int lines, const BYTE *srcbits,
 	    dstbits=(BYTE*)bmpImage->data+left*4+(lines-1)*bmpImage->bytes_per_line;
 	    /* ==== pal 8 dib -> rgb or bgr 0888 bmp ==== */
 	    for (h = lines ; h--; ) {
-#if defined(__i386__) && defined(__GNUC__)
-		int _cl1,_cl2; /* temp outputs for asm below */
-		/* Borrowed from DirectDraw */
-		__asm__ __volatile__(
-		"xor %%eax,%%eax\n"
-		"cld\n"
-		"1:\n"
-		"    lodsb\n"
-		"    movl (%%edx,%%eax,4),%%eax\n"
-		"    stosl\n"
-		"      xor %%eax,%%eax\n"
-		"    loop 1b\n"
-		:"=S" (srcbyte), "=D" (_cl1), "=c" (_cl2)
-		:"S" (srcbyte),
-		 "D" (dstbits),
-		 "c" (width),
-		 "d" (colors)
-		:"eax", "cc", "memory"
-		);
-#else
 		DWORD* dstpixel=(DWORD*)dstbits;
 		for (x=0; x<width; x++) {
 		    *dstpixel++=colors[*srcbyte++];
 		}
-#endif
 		srcbyte = (srcbits += linebytes);
 		dstbits -= bmpImage->bytes_per_line;
 	    }




More information about the wine-cvs mailing list