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