diff options
Diffstat (limited to 'OpenAL32/alState.c')
-rw-r--r-- | OpenAL32/alState.c | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/OpenAL32/alState.c b/OpenAL32/alState.c index 1cb52689..c50df9e6 100644 --- a/OpenAL32/alState.c +++ b/OpenAL32/alState.c @@ -587,17 +587,9 @@ AL_API ALvoid AL_APIENTRY alDeferUpdatesSOFT(void) ALeffectslot **slot, **slot_end; int fpuState; - LockContext(Context); -#if defined(HAVE_FESETROUND) - fpuState = fegetround(); - fesetround(FE_TOWARDZERO); -#elif defined(HAVE__CONTROLFP) - fpuState = _controlfp(0, 0); - (void)_controlfp(_RC_CHOP, _MCW_RC); -#else - (void)fpuState; -#endif + fpuState = SetMixerFPUMode(); + LockContext(Context); Context->DeferUpdates = AL_TRUE; /* Make sure all pending updates are performed */ @@ -630,11 +622,7 @@ AL_API ALvoid AL_APIENTRY alDeferUpdatesSOFT(void) } UnlockContext(Context); -#if defined(HAVE_FESETROUND) - fesetround(fpuState); -#elif defined(HAVE__CONTROLFP) - _controlfp(fpuState, _MCW_RC); -#endif + RestoreFPUMode(fpuState); } ALCcontext_DecRef(Context); |