Commit d5b19efe authored by Ryan C. Gordon's avatar Ryan C. Gordon

Forcibly disabled MMX mixers.

  Hopefully fixes Bugzilla #649.

--HG--
branch : SDL-1.2
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/branches/SDL-1.2%404059
parent 5409db51
...@@ -128,6 +128,7 @@ void SDL_MixAudio (Uint8 *dst, const Uint8 *src, Uint32 len, int volume) ...@@ -128,6 +128,7 @@ void SDL_MixAudio (Uint8 *dst, const Uint8 *src, Uint32 len, int volume)
break; break;
case AUDIO_S8: { 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 defined(__GNUC__) && defined(__i386__) && defined(SDL_ASSEMBLY_ROUTINES)
if (SDL_HasMMX()) if (SDL_HasMMX())
{ {
...@@ -141,6 +142,8 @@ void SDL_MixAudio (Uint8 *dst, const Uint8 *src, Uint32 len, int volume) ...@@ -141,6 +142,8 @@ void SDL_MixAudio (Uint8 *dst, const Uint8 *src, Uint32 len, int volume)
} }
else else
#endif #endif
#endif
#if defined(__GNUC__) && defined(__M68000__) && defined(SDL_ASSEMBLY_ROUTINES) #if defined(__GNUC__) && defined(__M68000__) && defined(SDL_ASSEMBLY_ROUTINES)
SDL_MixAudio_m68k_S8((char*)dst,(char*)src,(unsigned long)len,(long)volume); SDL_MixAudio_m68k_S8((char*)dst,(char*)src,(unsigned long)len,(long)volume);
#else #else
...@@ -174,6 +177,7 @@ void SDL_MixAudio (Uint8 *dst, const Uint8 *src, Uint32 len, int volume) ...@@ -174,6 +177,7 @@ void SDL_MixAudio (Uint8 *dst, const Uint8 *src, Uint32 len, int volume)
break; break;
case AUDIO_S16LSB: { 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 defined(__GNUC__) && defined(__i386__) && defined(SDL_ASSEMBLY_ROUTINES)
if (SDL_HasMMX()) if (SDL_HasMMX())
{ {
...@@ -187,6 +191,8 @@ void SDL_MixAudio (Uint8 *dst, const Uint8 *src, Uint32 len, int volume) ...@@ -187,6 +191,8 @@ void SDL_MixAudio (Uint8 *dst, const Uint8 *src, Uint32 len, int volume)
} }
else else
#endif #endif
#endif
#if defined(__GNUC__) && defined(__M68000__) && defined(SDL_ASSEMBLY_ROUTINES) #if defined(__GNUC__) && defined(__M68000__) && defined(SDL_ASSEMBLY_ROUTINES)
SDL_MixAudio_m68k_S16LSB((short*)dst,(short*)src,(unsigned long)len,(long)volume); SDL_MixAudio_m68k_S16LSB((short*)dst,(short*)src,(unsigned long)len,(long)volume);
#else #else
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
* Mixing for 16 bit signed buffers * 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) #if defined(__GNUC__) && defined(__i386__) && defined(SDL_ASSEMBLY_ROUTINES)
void SDL_MixAudio_MMX_S16(char* dst,char* src,unsigned int size,int volume) void SDL_MixAudio_MMX_S16(char* dst,char* src,unsigned int size,int volume)
{ {
...@@ -203,4 +204,4 @@ void SDL_MixAudio_MMX_S8(char* dst,char* src,unsigned int size,int volume) ...@@ -203,4 +204,4 @@ void SDL_MixAudio_MMX_S8(char* dst,char* src,unsigned int size,int volume)
); );
} }
#endif #endif
#endif
...@@ -8,8 +8,10 @@ ...@@ -8,8 +8,10 @@
*/ */
#include "SDL_config.h" #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) #if defined(__GNUC__) && defined(__i386__) && defined(SDL_ASSEMBLY_ROUTINES)
void SDL_MixAudio_MMX_S16(char* ,char* ,unsigned int ,int ); void SDL_MixAudio_MMX_S16(char* ,char* ,unsigned int ,int );
void SDL_MixAudio_MMX_S8(char* ,char* ,unsigned int ,int ); void SDL_MixAudio_MMX_S8(char* ,char* ,unsigned int ,int );
#endif #endif
#endif
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
#include "SDL_mixer_MMX_VC.h" #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) #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 // 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) // Copyright 2002 Stephane Marchesin (stephane.marchesin@wanadoo.fr)
...@@ -179,3 +180,4 @@ endS8: ...@@ -179,3 +180,4 @@ endS8:
} }
#endif /* SDL_ASSEMBLY_ROUTINES */ #endif /* SDL_ASSEMBLY_ROUTINES */
#endif /* SDL_BUGGY_MMX_MIXERS */
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include "SDL_config.h" #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) #if ((defined(_MSC_VER) && defined(_M_IX86)) || defined(__WATCOMC__)) && defined(SDL_ASSEMBLY_ROUTINES)
/* headers for MMX assembler version of SDL_MixAudio /* headers for MMX assembler version of SDL_MixAudio
Copyright 2002 Stephane Marchesin (stephane.marchesin@wanadoo.fr) Copyright 2002 Stephane Marchesin (stephane.marchesin@wanadoo.fr)
...@@ -34,3 +35,4 @@ ...@@ -34,3 +35,4 @@
void SDL_MixAudio_MMX_S16_VC(char* ,char* ,unsigned int ,int ); void SDL_MixAudio_MMX_S16_VC(char* ,char* ,unsigned int ,int );
void SDL_MixAudio_MMX_S8_VC(char* ,char* ,unsigned int ,int ); void SDL_MixAudio_MMX_S8_VC(char* ,char* ,unsigned int ,int );
#endif #endif
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment