summaryrefslogtreecommitdiff
path: root/audio
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2015-02-28 23:41:58 +0000
committerjoerg <joerg@pkgsrc.org>2015-02-28 23:41:58 +0000
commita1882b9476217bddce18cbda89b154b337f93ae4 (patch)
tree6f49b34c7498d1d20e05b65c681ac215cce5a2a7 /audio
parent4b0748efd968fbc57f1b1dc9ac756f5537458a5b (diff)
downloadpkgsrc-a1882b9476217bddce18cbda89b154b337f93ae4.tar.gz
Use NEON intrinsics in Clang to avoid the unsupported assembler
modifiers. It is beyond common sense why pulseaudio devs considered the mechanical conversion to inline asm an improvement...
Diffstat (limited to 'audio')
-rw-r--r--audio/pulseaudio/distinfo3
-rw-r--r--audio/pulseaudio/patches/patch-src_pulsecore_mix__neon.c23
2 files changed, 25 insertions, 1 deletions
diff --git a/audio/pulseaudio/distinfo b/audio/pulseaudio/distinfo
index fdb87602922..c016ae6d1d3 100644
--- a/audio/pulseaudio/distinfo
+++ b/audio/pulseaudio/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.50 2015/02/25 23:40:35 ryoon Exp $
+$NetBSD: distinfo,v 1.51 2015/02/28 23:41:58 joerg Exp $
SHA1 (pulseaudio-6.0.tar.xz) = 3607d523fb270d9b68463de30f5d9e17957f1088
RMD160 (pulseaudio-6.0.tar.xz) = a3f96cabc2872646c34ba581d6044dc4a6513fd9
@@ -11,6 +11,7 @@ SHA1 (patch-src_daemon_caps.c) = e819c26cd3d91d93ae5877725ed6a1b59183d89a
SHA1 (patch-src_daemon_main.c) = 8cdabd3c631cc5e7c7f370e364d9511b23f88668
SHA1 (patch-src_modules_module-detect.c) = 25c803ee2d5addf9dbf522d81bd422dc201d4550
SHA1 (patch-src_modules_oss_module-oss.c) = 399ac178ae832619253ce8dd985edbed23db86e7
+SHA1 (patch-src_pulsecore_mix__neon.c) = 6f6d33d38024d65045d637d48276e1ba92b81342
SHA1 (patch-src_pulsecore_sample-util.h) = b6bd83cfdc1c337453d9a728f07205a2cf0af831
SHA1 (patch-src_pulsecore_svolume__mmx.c) = c34d153e3bfdb812eb7bd70fa330a9ec674c2dc2
SHA1 (patch-src_pulsecore_svolume__sse.c) = 47c97c1af947133f2a7b330aed38792bb0e7ef09
diff --git a/audio/pulseaudio/patches/patch-src_pulsecore_mix__neon.c b/audio/pulseaudio/patches/patch-src_pulsecore_mix__neon.c
new file mode 100644
index 00000000000..6b653a55080
--- /dev/null
+++ b/audio/pulseaudio/patches/patch-src_pulsecore_mix__neon.c
@@ -0,0 +1,23 @@
+$NetBSD: patch-src_pulsecore_mix__neon.c,v 1.1 2015/02/28 23:41:58 joerg Exp $
+
+--- src/pulsecore/mix_neon.c.orig 2015-02-25 15:03:12.000000000 +0000
++++ src/pulsecore/mix_neon.c
+@@ -175,6 +175,10 @@ static void pa_mix2_ch4_s16ne_neon(pa_mi
+
+ int32x4_t sv0, sv1;
+
++#ifdef __clang__
++ sv0 = vld1q_s32(streams[0].linear);
++ sv1 = vld1q_s32(streams[1].linear);
++#else
+ __asm__ __volatile__ (
+ "vld1.s32 %h[sv0], [%[lin0]] \n\t"
+ "vld1.s32 %h[sv1], [%[lin1]] \n\t"
+@@ -182,6 +186,7 @@ static void pa_mix2_ch4_s16ne_neon(pa_mi
+ : [lin0] "r" (streams[0].linear), [lin1] "r" (streams[1].linear)
+ : /* clobber list */
+ );
++#endif
+
+ length /= sizeof(int16_t);
+ for (; length >= 4; length -= 4) {