Mercurial > sdl-ios-xcode
comparison src/audio/SDL_mixer.c @ 3628:4d46850be3f6
Merged r5070:5071 from branches/SDL-1.2: forcibly disable buggy MMX mixers.
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Sun, 10 Jan 2010 07:48:14 +0000 |
parents | 99210400e8b9 |
children | efb79807afe1 |
comparison
equal
deleted
inserted
replaced
3627:631173ffd68f | 3628:4d46850be3f6 |
---|---|
120 } | 120 } |
121 break; | 121 break; |
122 | 122 |
123 case AUDIO_S8: | 123 case AUDIO_S8: |
124 { | 124 { |
125 #if defined(SDL_BUGGY_MMX_MIXERS) /* buggy, so we're disabling them. --ryan. */ | |
125 #if defined(__GNUC__) && defined(__i386__) && defined(SDL_ASSEMBLY_ROUTINES) | 126 #if defined(__GNUC__) && defined(__i386__) && defined(SDL_ASSEMBLY_ROUTINES) |
126 if (SDL_HasMMX()) { | 127 if (SDL_HasMMX()) { |
127 SDL_MixAudio_MMX_S8((char *) dst, (char *) src, | 128 SDL_MixAudio_MMX_S8((char *) dst, (char *) src, |
128 (unsigned int) len, (int) volume); | 129 (unsigned int) len, (int) volume); |
129 } else | 130 } else |
130 #elif ((defined(_MSC_VER) && defined(_M_IX86)) || defined(__WATCOMC__)) && defined(SDL_ASSEMBLY_ROUTINES) | 131 #elif ((defined(_MSC_VER) && defined(_M_IX86)) || defined(__WATCOMC__)) && defined(SDL_ASSEMBLY_ROUTINES) |
131 if (SDL_HasMMX()) { | 132 if (SDL_HasMMX()) { |
132 SDL_MixAudio_MMX_S8_VC((char *) dst, (char *) src, | 133 SDL_MixAudio_MMX_S8_VC((char *) dst, (char *) src, |
133 (unsigned int) len, (int) volume); | 134 (unsigned int) len, (int) volume); |
134 } else | 135 } else |
136 #endif | |
135 #endif | 137 #endif |
136 #if defined(__GNUC__) && defined(__M68000__) && defined(SDL_ASSEMBLY_ROUTINES) | 138 #if defined(__GNUC__) && defined(__M68000__) && defined(SDL_ASSEMBLY_ROUTINES) |
137 SDL_MixAudio_m68k_S8((char *) dst, (char *) src, | 139 SDL_MixAudio_m68k_S8((char *) dst, (char *) src, |
138 (unsigned long) len, (long) volume); | 140 (unsigned long) len, (long) volume); |
139 #else | 141 #else |
165 } | 167 } |
166 break; | 168 break; |
167 | 169 |
168 case AUDIO_S16LSB: | 170 case AUDIO_S16LSB: |
169 { | 171 { |
172 #if defined(SDL_BUGGY_MMX_MIXERS) /* buggy, so we're disabling them. --ryan. */ | |
170 #if defined(__GNUC__) && defined(__i386__) && defined(SDL_ASSEMBLY_ROUTINES) | 173 #if defined(__GNUC__) && defined(__i386__) && defined(SDL_ASSEMBLY_ROUTINES) |
171 if (SDL_HasMMX()) { | 174 if (SDL_HasMMX()) { |
172 SDL_MixAudio_MMX_S16((char *) dst, (char *) src, | 175 SDL_MixAudio_MMX_S16((char *) dst, (char *) src, |
173 (unsigned int) len, (int) volume); | 176 (unsigned int) len, (int) volume); |
174 } else | 177 } else |
175 #elif ((defined(_MSC_VER) && defined(_M_IX86)) || defined(__WATCOMC__)) && defined(SDL_ASSEMBLY_ROUTINES) | 178 #elif ((defined(_MSC_VER) && defined(_M_IX86)) || defined(__WATCOMC__)) && defined(SDL_ASSEMBLY_ROUTINES) |
176 if (SDL_HasMMX()) { | 179 if (SDL_HasMMX()) { |
177 SDL_MixAudio_MMX_S16_VC((char *) dst, (char *) src, | 180 SDL_MixAudio_MMX_S16_VC((char *) dst, (char *) src, |
178 (unsigned int) len, (int) volume); | 181 (unsigned int) len, (int) volume); |
179 } else | 182 } else |
183 #endif | |
180 #endif | 184 #endif |
181 #if defined(__GNUC__) && defined(__M68000__) && defined(SDL_ASSEMBLY_ROUTINES) | 185 #if defined(__GNUC__) && defined(__M68000__) && defined(SDL_ASSEMBLY_ROUTINES) |
182 SDL_MixAudio_m68k_S16LSB((short *) dst, (short *) src, | 186 SDL_MixAudio_m68k_S16LSB((short *) dst, (short *) src, |
183 (unsigned long) len, (long) volume); | 187 (unsigned long) len, (long) volume); |
184 #else | 188 #else |