Forcibly disabled MMX mixers. SDL-1.2
authorRyan C. Gordon <icculus@icculus.org>
Mon, 12 Oct 2009 08:58:12 +0000
branchSDL-1.2
changeset 4322 a8e5b518e194
parent 4321 c9a1de1eda57
child 4323 b3171b7561d8
Forcibly disabled MMX mixers. Hopefully fixes Bugzilla #649.
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	Mon Oct 12 08:18:36 2009 +0000
+++ b/src/audio/SDL_mixer.c	Mon Oct 12 08:58:12 2009 +0000
@@ -128,6 +128,7 @@
 		break;
 
 		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())
 			{
@@ -141,6 +142,8 @@
 			}
 			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);
 #else
@@ -174,6 +177,7 @@
 		break;
 
 		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())
 			{
@@ -187,6 +191,8 @@
 			}
 			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);
 #else
--- a/src/audio/SDL_mixer_MMX.c	Mon Oct 12 08:18:36 2009 +0000
+++ b/src/audio/SDL_mixer_MMX.c	Mon Oct 12 08:58:12 2009 +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)
 {
@@ -203,4 +204,4 @@
 	 );
 }
 #endif
-
+#endif
--- a/src/audio/SDL_mixer_MMX.h	Mon Oct 12 08:18:36 2009 +0000
+++ b/src/audio/SDL_mixer_MMX.h	Mon Oct 12 08:58:12 2009 +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
 
--- a/src/audio/SDL_mixer_MMX_VC.c	Mon Oct 12 08:18:36 2009 +0000
+++ b/src/audio/SDL_mixer_MMX_VC.c	Mon Oct 12 08:58:12 2009 +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)
@@ -179,3 +180,4 @@
 }
 
 #endif /* SDL_ASSEMBLY_ROUTINES */
+#endif /* SDL_BUGGY_MMX_MIXERS */
--- a/src/audio/SDL_mixer_MMX_VC.h	Mon Oct 12 08:18:36 2009 +0000
+++ b/src/audio/SDL_mixer_MMX_VC.h	Mon Oct 12 08:58:12 2009 +0000
@@ -22,6 +22,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,3 +35,4 @@
 void SDL_MixAudio_MMX_S16_VC(char* ,char* ,unsigned int ,int );
 void SDL_MixAudio_MMX_S8_VC(char* ,char* ,unsigned int ,int );
 #endif
+#endif