Mercurial > sdl-ios-xcode
diff src/video/SDL_RLEaccel.c @ 880:9ef41050100c
Date: Tue, 30 Mar 2004 21:26:47 -0600
From: Tyler Montbriand
Subject: [SDL] Opteron MMX patches for SDL_blit.c and SDL_blit_A.c
The inline MMX assembly in SDL_blit.c and SDL_blit_A.c compiles and runs fine
unmodified under AMD Opteron. The inline assembly in SDL_yuv_mmx.c and
SDL_blit_N.c unfortunately isn't directly compatible.
I've included diffs from SDL_blit.c and SDL_blit_A.c that allow the MMX
assembly to be compiled when USE_ASMBLIT, __x86_64__, and __GNUC__ are all
defined. All I had to modify was typedefs, the inline assembly itself wasn't
touched.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 11 Apr 2004 19:47:28 +0000 |
parents | 2bacec7930b1 |
children | cdea7cbc3e23 |
line wrap: on
line diff
--- a/src/video/SDL_RLEaccel.c Thu Apr 08 21:13:14 2004 +0000 +++ b/src/video/SDL_RLEaccel.c Sun Apr 11 19:47:28 2004 +0000 @@ -102,11 +102,11 @@ #include "SDL_memops.h" #include "SDL_RLEaccel_c.h" -#if defined(i386) || defined(__x86_64__) -#define MMX_CAPABLE +#if (defined(i386) || defined(__x86_64__)) && defined(__GNUC__) && defined(USE_ASMBLIT) +#define MMX_ASMBLIT #endif -#if defined(MMX_CAPABLE) && defined(__GNUC__) && defined(USE_ASMBLIT) +#ifdef MMX_ASMBLIT #include "mmx.h" #include "SDL_cpuinfo.h" #endif @@ -134,7 +134,7 @@ #define OPAQUE_BLIT(to, from, length, bpp, alpha) \ PIXEL_COPY(to, from, length, bpp) -#if defined(MMX_CAPABLE) && defined(__GNUC__) && defined(USE_ASMBLIT) +#ifdef MMX_ASMBLIT #define ALPHA_BLIT32_888MMX(to, from, length, bpp, alpha) \ do { \ @@ -515,7 +515,7 @@ } \ } while(0) -#if defined(MMX_CAPABLE) && defined(__GNUC__) && defined(USE_ASMBLIT) +#ifdef MMX_ASMBLIT #define ALPHA_BLIT32_888_50MMX(to, from, length, bpp, alpha) \ do { \ @@ -628,7 +628,7 @@ #define ALPHA_BLIT16_555_50(to, from, length, bpp, alpha) \ ALPHA_BLIT16_50(to, from, length, bpp, alpha, 0xfbde) -#if defined(MMX_CAPABLE) && defined(__GNUC__) && defined(USE_ASMBLIT) +#ifdef MMX_ASMBLIT #define CHOOSE_BLIT(blitter, alpha, fmt) \ do { \