Mercurial > sdl-ios-xcode
comparison src/video/SDL_stretch.c @ 1361:19418e4422cb
New configure-based build system. Still work in progress, but much improved
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Thu, 16 Feb 2006 10:11:48 +0000 |
parents | c71e05b4dc2e |
children | d910939febfa |
comparison
equal
deleted
inserted
replaced
1360:70a9cfb4cf1b | 1361:19418e4422cb |
---|---|
31 | 31 |
32 /* This isn't ready for general consumption yet - it should be folded | 32 /* This isn't ready for general consumption yet - it should be folded |
33 into the general blitting mechanism. | 33 into the general blitting mechanism. |
34 */ | 34 */ |
35 | 35 |
36 #if (defined(WIN32) && !defined(_M_ALPHA) && !defined(_WIN32_WCE) && \ | 36 #if ((defined(_MFC_VER) && defined(_M_IX86)/* && !defined(_WIN32_WCE) still needed? */) || \ |
37 !defined(__WATCOMC__) && !defined(__LCC__) && !defined(__FREEBCC__)) || \ | 37 (defined(i386) && defined(__GNUC__))) && SDL_ASSEMBLY_BLITTERS |
38 (defined(i386) && defined(__GNUC__) && defined(USE_ASMBLIT)) | |
39 #define USE_ASM_STRETCH | 38 #define USE_ASM_STRETCH |
40 #endif | 39 #endif |
41 | 40 |
42 #ifdef USE_ASM_STRETCH | 41 #ifdef USE_ASM_STRETCH |
43 | 42 |
44 #if defined(WIN32) || defined(i386) | 43 #if defined(_M_IX86) || defined(i386) |
45 #define PREFIX16 0x66 | 44 #define PREFIX16 0x66 |
46 #define STORE_BYTE 0xAA | 45 #define STORE_BYTE 0xAA |
47 #define STORE_WORD 0xAB | 46 #define STORE_WORD 0xAB |
48 #define LOAD_BYTE 0xAC | 47 #define LOAD_BYTE 0xAC |
49 #define LOAD_WORD 0xAD | 48 #define LOAD_WORD 0xAD |
280 "call *%4" | 279 "call *%4" |
281 : "=&D" (u1), "=&S" (u2) | 280 : "=&D" (u1), "=&S" (u2) |
282 : "0" (dstp), "1" (srcp), "r" (copy_row) | 281 : "0" (dstp), "1" (srcp), "r" (copy_row) |
283 : "memory" ); | 282 : "memory" ); |
284 #else | 283 #else |
285 #ifdef WIN32 | 284 #ifdef _MSC_VER |
286 { void *code = copy_row; | 285 { void *code = copy_row; |
287 __asm { | 286 __asm { |
288 push edi | 287 push edi |
289 push esi | 288 push esi |
290 | 289 |