X-Git-Url: http://git.pld-linux.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=OpenAL-nosse.patch;h=49554748350947de77a6b151bed8b9a1c9b9bbff;hb=HEAD;hp=f5fe4f69eef5e25ccb1b2001fc293f39eff1c079;hpb=27bdd119335b1affdc4ee1c4c5f3b1c68a4eade3;p=packages%2FOpenAL.git diff --git a/OpenAL-nosse.patch b/OpenAL-nosse.patch index f5fe4f6..4955474 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,18 +26,18 @@ +#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__)) && \ ---- openal-soft-1.20.0/alc/fpu_ctrl.cpp.orig 2019-11-28 09:45:08.000000000 +0100 -+++ openal-soft-1.20.0/alc/fpu_ctrl.cpp 2019-12-04 18:37:09.810067181 +0100 + #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 @@ - - FPUCtl::FPUCtl() { + if(this->in_mode) return; + -#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 + #include -#ifdef HAVE_SSE_INTRINSICS +#if defined(HAVE_SSE_INTRINSICS) && defined(__SSE__) #include - #endif - + #elif defined(HAVE_NEON) + #include @@ -108,7 +108,7 @@ void apply_fir(al::span dst, const float *RESTRICT src, const float *RESTRICT filter) @@ -67,23 +67,23 @@ for(float &output : dst) { __m128 r4{_mm_setzero_ps()}; ---- openal-soft-1.21.0/alc/uhjfilter.cpp.orig 2020-11-04 11:00:35.000000000 +0100 -+++ openal-soft-1.21.0/alc/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__) #include - #endif - -@@ -75,7 +75,7 @@ - - void allpass_process(al::span dst, const float *RESTRICT src) + #elif defined(HAVE_NEON) + #include +@@ -116,7 +116,7 @@ + template + inline void PhaseShifterT::process(al::span dst, const float *RESTRICT src) const { -#ifdef HAVE_SSE_INTRINSICS +#if defined(HAVE_SSE_INTRINSICS) && defined(__SSE__) - size_t pos{0}; if(size_t todo{dst.size()>>1}) { + auto *out = reinterpret_cast<__m64*>(dst.data());