winex11.drv: Remove x86 inline assembly for performing palettized blits.
authorDavid Kiefer <hevanen@googlemail.com>
Fri, 23 Sep 2011 00:43:46 +0000 (02:43 +0200)
committerAlexandre Julliard <julliard@winehq.org>
Fri, 23 Sep 2011 10:36:02 +0000 (12:36 +0200)
dlls/winex11.drv/dib.c

index 1e608ba42fc4c205e10d3729181b15dfa4bbc142..bde614e517763a811b20e8f0c6471c9bc9b70d53 100644 (file)
@@ -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;
            }