aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2014-06-08 23:39:52 -0700
committerChris Robinson <[email protected]>2014-06-08 23:39:52 -0700
commitd0fac3fe1d321856e61534d55ef5ad4b127f16c9 (patch)
tree4e020cc7cfedca27eefc48e1f40466a644885653
parentc07fb7b45c1e345dbaa439882250de5b2213026f (diff)
Don't try to set fp precision with __control87_2 or _controlfp
-rw-r--r--Alc/helpers.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/Alc/helpers.c b/Alc/helpers.c
index e1220fd4..df370206 100644
--- a/Alc/helpers.c
+++ b/Alc/helpers.c
@@ -229,12 +229,6 @@ void al_free(void *ptr)
}
-#if (defined(HAVE___CONTROL87_2) || defined(HAVE__CONTROLFP)) && (defined(__x86_64__) || defined(_M_X64))
-/* Win64 doesn't allow us to set the precision control. */
-#undef _MCW_PC
-#define _MCW_PC 0
-#endif
-
void SetMixerFPUMode(FPUCtl *ctl)
{
#ifdef HAVE_FENV_H
@@ -263,7 +257,7 @@ void SetMixerFPUMode(FPUCtl *ctl)
int mode;
__control87_2(0, 0, &ctl->state, NULL);
- __control87_2(_RC_CHOP|_PC_24, _MCW_RC|_MCW_PC, &mode, NULL);
+ __control87_2(_RC_CHOP, _MCW_RC, &mode, NULL);
#ifdef HAVE_SSE
if((CPUCapFlags&CPU_CAP_SSE))
{
@@ -275,7 +269,7 @@ void SetMixerFPUMode(FPUCtl *ctl)
#elif defined(HAVE__CONTROLFP)
ctl->state = _controlfp(0, 0);
- (void)_controlfp(_RC_CHOP|_PC_24, _MCW_RC|_MCW_PC);
+ (void)_controlfp(_RC_CHOP, _MCW_RC);
#endif
}
@@ -291,7 +285,7 @@ void RestoreFPUMode(const FPUCtl *ctl)
#elif defined(HAVE___CONTROL87_2)
int mode;
- __control87_2(ctl->state, _MCW_RC|_MCW_PC, &mode, NULL);
+ __control87_2(ctl->state, _MCW_RC, &mode, NULL);
#ifdef HAVE_SSE
if((CPUCapFlags&CPU_CAP_SSE))
__control87_2(ctl->sse_state, _MCW_RC|_MCW_DN, NULL, &mode);
@@ -299,7 +293,7 @@ void RestoreFPUMode(const FPUCtl *ctl)
#elif defined(HAVE__CONTROLFP)
- _controlfp(ctl->state, _MCW_RC|_MCW_PC);
+ _controlfp(ctl->state, _MCW_RC);
#endif
}