diff --git a/patches/msvcrt-Math_Precision/0001-msvcrt-Calculate-sinh-cosh-exp-pow-with-higher-preci.patch b/patches/msvcrt-Math_Precision/0001-msvcrt-Calculate-sinh-cosh-exp-pow-with-higher-preci.patch index bbd01217..2ad2a68d 100644 --- a/patches/msvcrt-Math_Precision/0001-msvcrt-Calculate-sinh-cosh-exp-pow-with-higher-preci.patch +++ b/patches/msvcrt-Math_Precision/0001-msvcrt-Calculate-sinh-cosh-exp-pow-with-higher-preci.patch @@ -1,18 +1,19 @@ -From 2712050d88f9b75e0b10e845d1ad21809a9d6dae Mon Sep 17 00:00:00 2001 +From 478753ef290789114c84c9c7a037206e4d5443f0 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Fri, 10 Apr 2015 07:51:16 +0200 -Subject: msvcrt: Calculate sinh/cosh/exp/pow with higher precision. (v2) +Subject: [PATCH] msvcrt: Calculate sinh/cosh/exp/pow with higher precision. + (v2) Based on a patch by Zheng Chen. --- - dlls/msvcrt/math.c | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 59 insertions(+), 4 deletions(-) + dlls/msvcrt/math.c | 61 +++++++++++++++++++++++++++++++++++++++++++--- + 1 file changed, 58 insertions(+), 3 deletions(-) diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c -index 60ce4e659f5..140bf08828b 100644 +index 59b6a984878..11ba649a947 100644 --- a/dlls/msvcrt/math.c +++ b/dlls/msvcrt/math.c -@@ -64,6 +64,61 @@ static MSVCRT_matherr_func MSVCRT_default_matherr_func = NULL; +@@ -69,6 +69,61 @@ static MSVCRT_matherr_func MSVCRT_default_matherr_func = NULL; static BOOL sse2_supported; static BOOL sse2_enabled; @@ -74,42 +75,33 @@ index 60ce4e659f5..140bf08828b 100644 void msvcrt_init_math(void) { sse2_supported = sse2_enabled = IsProcessorFeaturePresent( PF_XMMI64_INSTRUCTIONS_AVAILABLE ); -@@ -478,7 +533,7 @@ double CDECL MSVCRT_cos( double x ) +@@ -557,7 +612,7 @@ double CDECL MSVCRT_cos( double x ) */ double CDECL MSVCRT_cosh( double x ) { - double ret = cosh(x); + double ret = precise_cosh(x); - if (isnan(x)) math_error(_DOMAIN, "cosh", x, 0, ret); + if (isnan(x)) return math_error(_DOMAIN, "cosh", x, 0, ret); return ret; } -@@ -488,7 +543,7 @@ double CDECL MSVCRT_cosh( double x ) +@@ -567,7 +622,7 @@ double CDECL MSVCRT_cosh( double x ) */ double CDECL MSVCRT_exp( double x ) { - double ret = exp(x); + double ret = precise_exp(x); - if (isnan(x)) math_error(_DOMAIN, "exp", x, 0, ret); - else if (isfinite(x) && !ret) math_error(_UNDERFLOW, "exp", x, 0, ret); - else if (isfinite(x) && !isfinite(ret)) math_error(_OVERFLOW, "exp", x, 0, ret); -@@ -532,7 +587,7 @@ double CDECL MSVCRT_log10( double x ) - */ - double CDECL MSVCRT_pow( double x, double y ) - { -- double z = pow(x,y); -+ double z = precise_pow(x,y); - if (x < 0 && y != floor(y)) math_error(_DOMAIN, "pow", x, y, z); - else if (!x && isfinite(y) && y < 0) math_error(_SING, "pow", x, y, z); - else if (isfinite(x) && isfinite(y) && !isfinite(z)) math_error(_OVERFLOW, "pow", x, y, z); -@@ -555,7 +610,7 @@ double CDECL MSVCRT_sin( double x ) + if (isnan(x)) return math_error(_DOMAIN, "exp", x, 0, ret); + if (isfinite(x) && !ret) return math_error(_UNDERFLOW, "exp", x, 0, ret); + if (isfinite(x) && !isfinite(ret)) return math_error(_OVERFLOW, "exp", x, 0, ret); +@@ -638,7 +693,7 @@ double CDECL MSVCRT_sin( double x ) */ double CDECL MSVCRT_sinh( double x ) { - double ret = sinh(x); + double ret = precise_sinh(x); - if (isnan(x)) math_error(_DOMAIN, "sinh", x, 0, ret); + if (isnan(x)) return math_error(_DOMAIN, "sinh", x, 0, ret); return ret; } -- -2.14.1 +2.27.0 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 890e42db..5cc76855 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "18d7bc985990c1022a9f42d20cc819ba141af5cb" + echo "2b76b9f234eb5d4753337d8b080f2c050daae3ff" } # Show version information diff --git a/patches/xactengine-initial/0004-xaudio2_7-IXACT3Engine-Initialize-return-valid-error.patch b/patches/xactengine-initial/0004-xaudio2_7-IXACT3Engine-Initialize-return-valid-error.patch deleted file mode 100644 index 80017aaf..00000000 --- a/patches/xactengine-initial/0004-xaudio2_7-IXACT3Engine-Initialize-return-valid-error.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 3ad019171933268538e16f5ab14e0f7b5f4be5e2 Mon Sep 17 00:00:00 2001 -From: Alistair Leslie-Hughes -Date: Wed, 8 Jan 2020 08:33:02 +1100 -Subject: [PATCH] xaudio2_7: IXACT3Engine Initialize return valid error code - -FACTAudioEngine_Initialize returns a uint32_t type, so we need to -convert to a valid HRESULT value. ---- - dlls/xaudio2_7/xact_dll.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/dlls/xaudio2_7/xact_dll.c b/dlls/xaudio2_7/xact_dll.c -index 91e3ef0afd..1f580519d4 100644 ---- a/dlls/xaudio2_7/xact_dll.c -+++ b/dlls/xaudio2_7/xact_dll.c -@@ -934,6 +934,7 @@ static HRESULT WINAPI IXACT3EngineImpl_Initialize(IXACT3Engine *iface, - { - XACT3EngineImpl *This = impl_from_IXACT3Engine(iface); - FACTRuntimeParameters params; -+ UINT ret; - - TRACE("(%p)->(%p)\n", This, pParams); - -@@ -972,7 +973,11 @@ static HRESULT WINAPI IXACT3EngineImpl_Initialize(IXACT3Engine *iface, - params.fileIOCallbacks.readFileCallback = wrap_readfile; - params.fileIOCallbacks.getOverlappedResultCallback = wrap_getoverlappedresult; - -- return FACTAudioEngine_Initialize(This->fact_engine, ¶ms); -+ ret = FACTAudioEngine_Initialize(This->fact_engine, ¶ms); -+ if (ret != 0) -+ FIXME("FACTAudioEngine_Initialize returned %d\n", ret); -+ -+ return !ret ? S_OK : E_FAIL; - } - - static HRESULT WINAPI IXACT3EngineImpl_ShutDown(IXACT3Engine *iface) --- -2.25.1 - diff --git a/staging/upstream-commit b/staging/upstream-commit index 86f1d46f..d0bf838e 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -18d7bc985990c1022a9f42d20cc819ba141af5cb +2b76b9f234eb5d4753337d8b080f2c050daae3ff