Mercurial > sdl-ios-xcode
comparison src/audio/SDL_mixer_MMX.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 | f7b03b6838cb |
comparison
equal
deleted
inserted
replaced
3627:631173ffd68f | 3628:4d46850be3f6 |
---|---|
33 | 33 |
34 /*********************************************** | 34 /*********************************************** |
35 * Mixing for 16 bit signed buffers | 35 * Mixing for 16 bit signed buffers |
36 ***********************************************/ | 36 ***********************************************/ |
37 | 37 |
38 #if defined(SDL_BUGGY_MMX_MIXERS) /* buggy, so we're disabling them. --ryan. */ | |
38 #if defined(__GNUC__) && defined(__i386__) && defined(SDL_ASSEMBLY_ROUTINES) | 39 #if defined(__GNUC__) && defined(__i386__) && defined(SDL_ASSEMBLY_ROUTINES) |
39 void | 40 void |
40 SDL_MixAudio_MMX_S16(char *dst, char *src, unsigned int size, int volume) | 41 SDL_MixAudio_MMX_S16(char *dst, char *src, unsigned int size, int volume) |
41 { | 42 { |
42 __asm__ __volatile__(" movl %3,%%eax\n" /* eax = volume */ | 43 __asm__ __volatile__(" movl %3,%%eax\n" /* eax = volume */ |
115 ".endS8:\n" | 116 ".endS8:\n" |
116 " emms\n"::"r"(dst), "r"(src), "m"(size), | 117 " emms\n"::"r"(dst), "r"(src), "m"(size), |
117 "m"(volume):"eax", "edx", "memory"); | 118 "m"(volume):"eax", "edx", "memory"); |
118 } | 119 } |
119 #endif | 120 #endif |
121 | |
122 #endif /* SDL_BUGGY_MMX_MIXERS */ | |
123 | |
120 /* vi: set ts=4 sw=4 expandtab: */ | 124 /* vi: set ts=4 sw=4 expandtab: */ |