[packages/OpenAL] up to 1.22.0
atler
atler at pld-linux.org
Sat Apr 23 13:07:02 CEST 2022
commit 4899bbd7ff512e27cd1f27c64bdd8351fd01a2f8
Author: Jan Palus <atler at pld-linux.org>
Date: Sat Apr 23 13:06:38 2022 +0200
up to 1.22.0
OpenAL-nosse.patch | 51 ++++++++++++++++++++++++++++++---------------------
OpenAL.spec | 12 +++++++++---
2 files changed, 39 insertions(+), 24 deletions(-)
---
diff --git a/OpenAL.spec b/OpenAL.spec
index 7aeaacc..a83753d 100644
--- a/OpenAL.spec
+++ b/OpenAL.spec
@@ -2,8 +2,10 @@
# Conditional build:
%bcond_without alsa # ALSA backend
%bcond_without jack # JACK backend
+%bcond_without pipewire # PipeWire backend
%bcond_without portaudio # PortAudio backend
%bcond_without pulseaudio # PulseAudio backend
+%bcond_without rtkit # RTKit support
%bcond_with sdl # SDL2 backend
%bcond_with sse2 # force use of SSE2 instructions (x86)
%bcond_without gui # alsoft-config GUI
@@ -15,25 +17,27 @@
Summary: Open Audio Library
Summary(pl.UTF-8): Otwarta Biblioteka Dźwięku
Name: OpenAL
-Version: 1.21.1
+Version: 1.22.0
Release: 1
License: LGPL v2+
Group: Libraries
Source0: https://openal-soft.org/openal-releases/openal-soft-%{version}.tar.bz2
-# Source0-md5: a936806ebd8de417b0ffd8cf3f48f456
+# Source0-md5: 40e5b29a241e1e320b5b16ed8f912257
Patch0: %{name}-pc.patch
Patch1: %{name}-nosse.patch
URL: http://www.openal.org/
%{?with_sdl:BuildRequires: SDL2-devel >= 2}
%{?with_alsa:BuildRequires: alsa-lib-devel}
BuildRequires: cmake >= 3.0.2
+%{?with_rtkit:BuildRequires: dbus-devel}
%{?with_jack:BuildRequires: jack-audio-connection-kit-devel}
BuildRequires: libmysofa-devel
BuildRequires: libstdc++-devel >= 6:5
+%{?with_pipewire:BuildRequires: pipewire-devel >= 0.3}
BuildRequires: pkgconfig
%{?with_portaudio:BuildRequires: portaudio-devel}
%{?with_pulseaudio:BuildRequires: pulseaudio-devel}
-BuildRequires: rpmbuild(macros) >= 1.605
+BuildRequires: rpmbuild(macros) >= 1.742
%if %{with gui}
%if %{with qt4}
BuildRequires: QtCore-devel >= 4.8.0
@@ -103,8 +107,10 @@ cd build
%cmake .. \
%{!?with_alsa:-DALSOFT_BACKEND_ALSA=OFF} \
%{!?with_jack:-DALSOFT_BACKEND_JACK=OFF} \
+ %{cmake_on_off pipewire ALSOFT_BACKEND_PIPEWIRE} \
%{!?with_portaudio:-DALSOFT_BACKEND_PORTAUDIO=OFF} \
%{!?with_pulseaudio:-DALSOFT_BACKEND_PULSEAUDIO=OFF} \
+ %{cmake_on_off rtkit ALSOFT_RTKIT} \
%{?with_sdl:-DALSOFT_BACKEND_SDL2=ON} \
%{!?with_sse2:-DALSOFT_ENABLE_SSE2_CODEGEN=OFF} \
-DALSOFT_EXAMPLES=OFF \
diff --git a/OpenAL-nosse.patch b/OpenAL-nosse.patch
index 97fb3cc..44baae0 100644
--- a/OpenAL-nosse.patch
+++ b/OpenAL-nosse.patch
@@ -17,7 +17,7 @@
+#if defined(HAVE_SSE_INTRINSICS) && defined(__SSE_MATH__)
return _mm_cvtt_ss2si(_mm_set_ss(f));
- #elif ((defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || defined(__x86_64__)) && \
+ #elif (defined(_MSC_VER) && defined(_M_IX86_FP) && _M_IX86_FP == 0) \
@@ -257,7 +257,7 @@
/** Converts double-to-int using standard behavior (truncation). */
inline int double2int(double d) noexcept
@@ -26,7 +26,7 @@
+#if defined(HAVE_SSE_INTRINSICS) && defined(__SSE_MATH__)
return _mm_cvttsd_si32(_mm_set_sd(d));
- #elif ((defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || defined(__x86_64__)) && \
+ #elif (defined(_MSC_VER) && defined(_M_IX86_FP) && _M_IX86_FP < 2) \
--- openal-soft-1.20.0/core/fpu_ctrl.cpp.orig 2019-11-28 09:45:08.000000000 +0100
+++ openal-soft-1.20.0/core/fpu_ctrl.cpp 2019-12-04 18:37:09.810067181 +0100
@@ -209,7 +209,7 @@
@@ -36,8 +36,8 @@
-#if defined(HAVE_SSE_INTRINSICS)
+#if defined(HAVE_SSE_INTRINSICS) && defined(__SSE_MATH__)
this->sse_state = _mm_getcsr();
- unsigned int sseState = this->sse_state;
- sseState |= 0x8000; /* set flush-to-zero */
+ unsigned int sseState{this->sse_state};
+ sseState &= ~(_MM_FLUSH_ZERO_MASK | _MM_DENORMALS_ZERO_MASK);
@@ -236,7 +236,7 @@
{
if(!this->in_mode) return;
@@ -50,14 +50,14 @@
--- openal-soft-1.21.0/alc/effects/convolution.cpp.orig 2020-11-04 11:00:35.000000000 +0100
+++ openal-soft-1.21.0/alc/effects/convolution.cpp 2020-11-05 06:23:28.093700396 +0100
@@ -1,7 +1,7 @@
-
- #include "config.h"
+ #include <stdint.h>
+ #include <utility>
-#ifdef HAVE_SSE_INTRINSICS
+#if defined(HAVE_SSE_INTRINSICS) && defined(__SSE__)
#include <xmmintrin.h>
- #endif
-
+ #elif defined(HAVE_NEON)
+ #include <arm_neon.h>
@@ -108,7 +108,7 @@
void apply_fir(al::span<float> dst, const float *RESTRICT src, const float *RESTRICT filter)
@@ -67,23 +67,32 @@
for(float &output : dst)
{
__m128 r4{_mm_setzero_ps()};
---- openal-soft-1.21.0/core/uhjfilter.cpp.orig 2020-11-04 11:00:35.000000000 +0100
-+++ openal-soft-1.21.0/core/uhjfilter.cpp 2020-11-05 06:29:14.128492431 +0100
-@@ -3,7 +3,7 @@
-
- #include "uhjfilter.h"
+--- openal-soft-1.22.0/common/phase_shifter.h.orig 2022-04-23 03:46:14.000000000 +0200
++++ openal-soft-1.22.0/common/phase_shifter.h 2022-04-23 12:16:39.561832386 +0200
+@@ -1,7 +1,7 @@
+ #ifndef PHASE_SHIFTER_H
+ #define PHASE_SHIFTER_H
-#ifdef HAVE_SSE_INTRINSICS
-+#if defined(HAVE_SSE_INTRINSICS) && defined(__SSE__)
++#ifdef HAVE_SSE_INTRINSICS && defined(__SSE__)
#include <xmmintrin.h>
- #endif
-
-@@ -75,7 +75,7 @@
-
- void allpass_process(al::span<float> dst, const float *RESTRICT src)
+ #elif defined(HAVE_NEON)
+ #include <arm_neon.h>
+@@ -116,7 +116,7 @@
+ template<size_t S>
+ inline void PhaseShifterT<S>::process(al::span<float> dst, const float *RESTRICT src) const
{
-#ifdef HAVE_SSE_INTRINSICS
-+#if defined(HAVE_SSE_INTRINSICS) && defined(__SSE__)
- size_t pos{0};
++#ifdef HAVE_SSE_INTRINSICS && defined(__SSE__)
+ if(size_t todo{dst.size()>>1})
+ {
+ auto *out = reinterpret_cast<__m64*>(dst.data());
+@@ -215,7 +215,7 @@
+ template<size_t S>
+ inline void PhaseShifterT<S>::processAccum(al::span<float> dst, const float *RESTRICT src) const
+ {
+-#ifdef HAVE_SSE_INTRINSICS
++#ifdef HAVE_SSE_INTRINSICS && defined(__SSE__)
if(size_t todo{dst.size()>>1})
{
+ auto *out = reinterpret_cast<__m64*>(dst.data());
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/OpenAL.git/commitdiff/4899bbd7ff512e27cd1f27c64bdd8351fd01a2f8
More information about the pld-cvs-commit
mailing list