aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2010-10-15 10:35:47 -0700
committerChris Robinson <[email protected]>2010-10-15 10:35:47 -0700
commit6db4e08efb8c27b1b1815cb99c749f5c6fdae3b0 (patch)
treebb9ca936bd0ddcde9ae34c9f5a8bae6fcd207972
parent4f81bce800c91bf0676cdff4267ce474d88ebf5a (diff)
Fix fpu state handling with _controlfp
-rw-r--r--Alc/mixer.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/Alc/mixer.c b/Alc/mixer.c
index 4e7ec8b6..b709be9c 100644
--- a/Alc/mixer.c
+++ b/Alc/mixer.c
@@ -760,8 +760,7 @@ ALvoid aluMixData(ALCdevice *device, ALvoid *buffer, ALsizei size)
fpuState = fegetround();
fesetround(FE_TOWARDZERO);
#elif defined(HAVE__CONTROLFP)
- fpuState = _controlfp(0, 0);
- _controlfp(_RC_CHOP, _MCW_RC);
+ fpuState = _controlfp(_RC_CHOP, _MCW_RC);
#else
(void)fpuState;
#endif
@@ -939,6 +938,6 @@ ALvoid aluMixData(ALCdevice *device, ALvoid *buffer, ALsizei size)
#if defined(HAVE_FESETROUND)
fesetround(fpuState);
#elif defined(HAVE__CONTROLFP)
- _controlfp(fpuState, 0xfffff);
+ _controlfp(fpuState, _MCW_RC);
#endif
}