Merged r5070:5071 from branches/SDL-1.2: forcibly disable buggy MMX mixers.
authorRyan C. Gordon <icculus@icculus.org>
Sun, 10 Jan 2010 07:48:14 +0000
changeset 3628 4d46850be3f6
parent 3627 631173ffd68f
child 3629 102be1cdd2bb
Merged r5070:5071 from branches/SDL-1.2: forcibly disable buggy MMX mixers.
src/audio/SDL_mixer.c
src/audio/SDL_mixer_MMX.c
src/audio/SDL_mixer_MMX.h
src/audio/SDL_mixer_MMX_VC.c
src/audio/SDL_mixer_MMX_VC.h
--- a/src/audio/SDL_mixer.c	Sun Jan 10 07:40:12 2010 +0000
+++ b/src/audio/SDL_mixer.c	Sun Jan 10 07:48:14 2010 +0000
@@ -122,6 +122,7 @@
 
     case AUDIO_S8:
         {
+#if defined(SDL_BUGGY_MMX_MIXERS) /* buggy, so we're disabling them. --ryan. */
 #if defined(__GNUC__) && defined(__i386__) && defined(SDL_ASSEMBLY_ROUTINES)
             if (SDL_HasMMX()) {
                 SDL_MixAudio_MMX_S8((char *) dst, (char *) src,
@@ -133,6 +134,7 @@
                                        (unsigned int) len, (int) volume);
             } else
 #endif
+#endif
 #if defined(__GNUC__) && defined(__M68000__) && defined(SDL_ASSEMBLY_ROUTINES)
                 SDL_MixAudio_m68k_S8((char *) dst, (char *) src,
                                      (unsigned long) len, (long) volume);
@@ -167,6 +169,7 @@
 
     case AUDIO_S16LSB:
         {
+#if defined(SDL_BUGGY_MMX_MIXERS) /* buggy, so we're disabling them. --ryan. */
 #if defined(__GNUC__) && defined(__i386__) && defined(SDL_ASSEMBLY_ROUTINES)
             if (SDL_HasMMX()) {
                 SDL_MixAudio_MMX_S16((char *) dst, (char *) src,
@@ -178,6 +181,7 @@
                                         (unsigned int) len, (int) volume);
             } else
 #endif
+#endif
 #if defined(__GNUC__) && defined(__M68000__) && defined(SDL_ASSEMBLY_ROUTINES)
                 SDL_MixAudio_m68k_S16LSB((short *) dst, (short *) src,
                                          (unsigned long) len, (long) volume);
--- a/src/audio/SDL_mixer_MMX.c	Sun Jan 10 07:40:12 2010 +0000
+++ b/src/audio/SDL_mixer_MMX.c	Sun Jan 10 07:48:14 2010 +0000
@@ -35,6 +35,7 @@
 *   Mixing for 16 bit signed buffers
 ***********************************************/
 
+#if defined(SDL_BUGGY_MMX_MIXERS) /* buggy, so we're disabling them. --ryan. */
 #if defined(__GNUC__) && defined(__i386__) && defined(SDL_ASSEMBLY_ROUTINES)
 void
 SDL_MixAudio_MMX_S16(char *dst, char *src, unsigned int size, int volume)
@@ -117,4 +118,7 @@
                          "m"(volume):"eax", "edx", "memory");
 }
 #endif
+
+#endif /* SDL_BUGGY_MMX_MIXERS */
+
 /* vi: set ts=4 sw=4 expandtab: */
--- a/src/audio/SDL_mixer_MMX.h	Sun Jan 10 07:40:12 2010 +0000
+++ b/src/audio/SDL_mixer_MMX.h	Sun Jan 10 07:48:14 2010 +0000
@@ -8,8 +8,10 @@
 */
 #include "SDL_config.h"
 
+#if defined(SDL_BUGGY_MMX_MIXERS) /* buggy, so we're disabling them. --ryan. */
 #if defined(__GNUC__) && defined(__i386__) && defined(SDL_ASSEMBLY_ROUTINES)
 void SDL_MixAudio_MMX_S16(char *, char *, unsigned int, int);
 void SDL_MixAudio_MMX_S8(char *, char *, unsigned int, int);
 #endif
+#endif /* SDL_BUGGY_MMX_MIXERS */
 /* vi: set ts=4 sw=4 expandtab: */
--- a/src/audio/SDL_mixer_MMX_VC.c	Sun Jan 10 07:40:12 2010 +0000
+++ b/src/audio/SDL_mixer_MMX_VC.c	Sun Jan 10 07:48:14 2010 +0000
@@ -23,6 +23,7 @@
 
 #include "SDL_mixer_MMX_VC.h"
 
+#if defined(SDL_BUGGY_MMX_MIXERS) /* buggy, so we're disabling them. --ryan. */
 #if ((defined(_MSC_VER) && defined(_M_IX86)) || defined(__WATCOMC__)) && defined(SDL_ASSEMBLY_ROUTINES)
 // MMX assembler version of SDL_MixAudio for signed little endian 16 bit samples and signed 8 bit samples
 // Copyright 2002 Stephane Marchesin (stephane.marchesin@wanadoo.fr)
@@ -184,5 +185,6 @@
 }
 
 #endif /* SDL_ASSEMBLY_ROUTINES */
+#endif /* SDL_BUGGY_MMX_MIXERS */
 
 /* vi: set ts=4 sw=4 expandtab: */
--- a/src/audio/SDL_mixer_MMX_VC.h	Sun Jan 10 07:40:12 2010 +0000
+++ b/src/audio/SDL_mixer_MMX_VC.h	Sun Jan 10 07:48:14 2010 +0000
@@ -21,7 +21,7 @@
 */
 #include "SDL_config.h"
 
-
+#if defined(SDL_BUGGY_MMX_MIXERS) /* buggy, so we're disabling them. --ryan. */
 #if ((defined(_MSC_VER) && defined(_M_IX86)) || defined(__WATCOMC__)) && defined(SDL_ASSEMBLY_ROUTINES)
 /* headers for MMX assembler version of SDL_MixAudio
    Copyright 2002 Stephane Marchesin (stephane.marchesin@wanadoo.fr)
@@ -34,4 +34,6 @@
 void SDL_MixAudio_MMX_S16_VC(char *, char *, unsigned int, int);
 void SDL_MixAudio_MMX_S8_VC(char *, char *, unsigned int, int);
 #endif
+#endif /* SDL_BUGGY_MMX_MIXERS */
+
 /* vi: set ts=4 sw=4 expandtab: */