mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-11 13:30:02 -05:00
svolume: disable incompatible MMX and SSE code on x86 macOS
We need the same workaround FreeBSD uses.
This commit is contained in:
parent
584aad3c06
commit
3c45897d20
2 changed files with 8 additions and 8 deletions
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
#include "sample-util.h"
|
||||
|
||||
#if (!defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__)
|
||||
#if (!defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__)
|
||||
/* in s: 2 int16_t samples
|
||||
* in v: 2 int32_t volumes, fixed point 16:16
|
||||
* out s: contains scaled and clamped int16_t samples.
|
||||
|
|
@ -238,15 +238,15 @@ static void pa_volume_s16re_mmx(int16_t *samples, const int32_t *volumes, unsign
|
|||
);
|
||||
}
|
||||
|
||||
#endif /* (!defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__) */
|
||||
#endif /* (!defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__) */
|
||||
|
||||
void pa_volume_func_init_mmx(pa_cpu_x86_flag_t flags) {
|
||||
#if (!defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__)
|
||||
#if (!defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__)
|
||||
if ((flags & PA_CPU_X86_MMX) && (flags & PA_CPU_X86_CMOV)) {
|
||||
pa_log_info("Initialising MMX optimized volume functions.");
|
||||
|
||||
pa_set_volume_func(PA_SAMPLE_S16NE, (pa_do_volume_func_t) pa_volume_s16ne_mmx);
|
||||
pa_set_volume_func(PA_SAMPLE_S16RE, (pa_do_volume_func_t) pa_volume_s16re_mmx);
|
||||
}
|
||||
#endif /* (!defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__) */
|
||||
#endif /* (!defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__) */
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
#include "sample-util.h"
|
||||
|
||||
#if (!defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__)
|
||||
#if (!defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__)
|
||||
|
||||
#define VOLUME_32x16(s,v) /* .. | vh | vl | */ \
|
||||
" pxor %%xmm4, %%xmm4 \n\t" /* .. | 0 | 0 | */ \
|
||||
|
|
@ -249,15 +249,15 @@ static void pa_volume_s16re_sse2(int16_t *samples, const int32_t *volumes, unsig
|
|||
);
|
||||
}
|
||||
|
||||
#endif /* (!defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__) */
|
||||
#endif /* (!defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__) */
|
||||
|
||||
void pa_volume_func_init_sse(pa_cpu_x86_flag_t flags) {
|
||||
#if (!defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__)
|
||||
#if (!defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__)
|
||||
if (flags & PA_CPU_X86_SSE2) {
|
||||
pa_log_info("Initialising SSE2 optimized volume functions.");
|
||||
|
||||
pa_set_volume_func(PA_SAMPLE_S16NE, (pa_do_volume_func_t) pa_volume_s16ne_sse2);
|
||||
pa_set_volume_func(PA_SAMPLE_S16RE, (pa_do_volume_func_t) pa_volume_s16re_sse2);
|
||||
}
|
||||
#endif /* (!defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__) */
|
||||
#endif /* (!defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__) */
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue