Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
Browse files Browse the repository at this point in the history
Merged r5070:5071 from branches/SDL-1.2: forcibly disable buggy MMX m…
…ixers.
  • Loading branch information
icculus committed Jan 10, 2010
1 parent 8e046ea commit 5d2eace
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 1 deletion.
4 changes: 4 additions & 0 deletions src/audio/SDL_mixer.c
Expand Up @@ -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,
Expand All @@ -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);
Expand Down Expand Up @@ -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,
Expand All @@ -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);
Expand Down
4 changes: 4 additions & 0 deletions src/audio/SDL_mixer_MMX.c
Expand Up @@ -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)
Expand Down Expand Up @@ -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: */
2 changes: 2 additions & 0 deletions src/audio/SDL_mixer_MMX.h
Expand Up @@ -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: */
2 changes: 2 additions & 0 deletions src/audio/SDL_mixer_MMX_VC.c
Expand Up @@ -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)
Expand Down Expand Up @@ -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: */
4 changes: 3 additions & 1 deletion src/audio/SDL_mixer_MMX_VC.h
Expand Up @@ -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)
Expand All @@ -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: */

0 comments on commit 5d2eace

Please sign in to comment.