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: */