Date: Wed, 31 Mar 2004 09:15:57 -0600
From: Tyler Montbriand
Subject: [SDL] Opteron MMX patches for SDL_RLEaccel.c
The inline MMX assembly in SDL_RLEaccel.c compiles unmodified if the typedefs
are adjusted to accept __x86_64__. The diff from SDL-1.2.7 is attached.
--- a/src/video/SDL_RLEaccel.c Thu Apr 08 21:06:10 2004 +0000
+++ b/src/video/SDL_RLEaccel.c Thu Apr 08 21:13:14 2004 +0000
@@ -102,7 +102,11 @@
#include "SDL_memops.h"
#include "SDL_RLEaccel_c.h"
-#if defined(i386) && defined(__GNUC__) && defined(USE_ASMBLIT)
+#if defined(i386) || defined(__x86_64__)
+#define MMX_CAPABLE
+#endif
+
+#if defined(MMX_CAPABLE) && defined(__GNUC__) && defined(USE_ASMBLIT)
#include "mmx.h"
#include "SDL_cpuinfo.h"
#endif
@@ -130,7 +134,7 @@
#define OPAQUE_BLIT(to, from, length, bpp, alpha) \
PIXEL_COPY(to, from, length, bpp)
-#if defined(i386) && defined(__GNUC__) && defined(USE_ASMBLIT)
+#if defined(MMX_CAPABLE) && defined(__GNUC__) && defined(USE_ASMBLIT)
#define ALPHA_BLIT32_888MMX(to, from, length, bpp, alpha) \
do { \
@@ -511,7 +515,7 @@
} \
} while(0)
-#if defined(i386) && defined(__GNUC__) && defined(USE_ASMBLIT)
+#if defined(MMX_CAPABLE) && defined(__GNUC__) && defined(USE_ASMBLIT)
#define ALPHA_BLIT32_888_50MMX(to, from, length, bpp, alpha) \
do { \
@@ -624,7 +628,7 @@
#define ALPHA_BLIT16_555_50(to, from, length, bpp, alpha) \
ALPHA_BLIT16_50(to, from, length, bpp, alpha, 0xfbde)
-#if defined(i386) && defined(__GNUC__) && defined(USE_ASMBLIT)
+#if defined(MMX_CAPABLE) && defined(__GNUC__) && defined(USE_ASMBLIT)
#define CHOOSE_BLIT(blitter, alpha, fmt) \
do { \