From 5d2eacec1ed1b16c90091d00afb007793dac528d Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Sun, 10 Jan 2010 07:48:14 +0000 Subject: [PATCH] Merged r5070:5071 from branches/SDL-1.2: forcibly disable buggy MMX mixers. --- src/audio/SDL_mixer.c | 4 ++++ src/audio/SDL_mixer_MMX.c | 4 ++++ src/audio/SDL_mixer_MMX.h | 2 ++ src/audio/SDL_mixer_MMX_VC.c | 2 ++ src/audio/SDL_mixer_MMX_VC.h | 4 +++- 5 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/audio/SDL_mixer.c b/src/audio/SDL_mixer.c index 636dbf3e7..b0d812761 100644 --- a/src/audio/SDL_mixer.c +++ b/src/audio/SDL_mixer.c @@ -122,6 +122,7 @@ SDL_MixAudioFormat(Uint8 * dst, const Uint8 * src, SDL_AudioFormat format, 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 @@ SDL_MixAudioFormat(Uint8 * dst, const Uint8 * src, SDL_AudioFormat format, (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 @@ SDL_MixAudioFormat(Uint8 * dst, const Uint8 * src, SDL_AudioFormat format, 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 @@ SDL_MixAudioFormat(Uint8 * dst, const Uint8 * src, SDL_AudioFormat format, (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); diff --git a/src/audio/SDL_mixer_MMX.c b/src/audio/SDL_mixer_MMX.c index ab1c4942a..9b593bf4f 100644 --- a/src/audio/SDL_mixer_MMX.c +++ b/src/audio/SDL_mixer_MMX.c @@ -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 @@ SDL_MixAudio_MMX_S8(char *dst, char *src, unsigned int size, int volume) "m"(volume):"eax", "edx", "memory"); } #endif + +#endif /* SDL_BUGGY_MMX_MIXERS */ + /* vi: set ts=4 sw=4 expandtab: */ diff --git a/src/audio/SDL_mixer_MMX.h b/src/audio/SDL_mixer_MMX.h index 7d9b27cf8..c45b5731a 100644 --- a/src/audio/SDL_mixer_MMX.h +++ b/src/audio/SDL_mixer_MMX.h @@ -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: */ diff --git a/src/audio/SDL_mixer_MMX_VC.c b/src/audio/SDL_mixer_MMX_VC.c index 6a26e6d8f..e7730e59d 100644 --- a/src/audio/SDL_mixer_MMX_VC.c +++ b/src/audio/SDL_mixer_MMX_VC.c @@ -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 @@ SDL_MixAudio_MMX_S8_VC(char *dst, char *src, unsigned int nSize, int volume) } #endif /* SDL_ASSEMBLY_ROUTINES */ +#endif /* SDL_BUGGY_MMX_MIXERS */ /* vi: set ts=4 sw=4 expandtab: */ diff --git a/src/audio/SDL_mixer_MMX_VC.h b/src/audio/SDL_mixer_MMX_VC.h index 3d2344324..17ef369fb 100644 --- a/src/audio/SDL_mixer_MMX_VC.h +++ b/src/audio/SDL_mixer_MMX_VC.h @@ -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: */