Merged r5070:5071 from branches/SDL-1.2: forcibly disable buggy MMX mixers.
--- 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: */