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 {								\