aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/helpers.c
diff options
context:
space:
mode:
Diffstat (limited to 'Alc/helpers.c')
-rw-r--r--Alc/helpers.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/Alc/helpers.c b/Alc/helpers.c
index a0230b7c..ff28bf0d 100644
--- a/Alc/helpers.c
+++ b/Alc/helpers.c
@@ -139,7 +139,11 @@ void FillCPUCaps(ALuint capfilter)
{
caps |= CPU_CAP_SSE;
if((cpuinf[0].regs[3]&(1<<26)))
+ {
caps |= CPU_CAP_SSE2;
+ if((cpuinf[0].regs[2]&(1<<19)))
+ caps |= CPU_CAP_SSE4_1;
+ }
}
}
}
@@ -164,10 +168,13 @@ void FillCPUCaps(ALuint capfilter)
caps |= CPU_CAP_NEON;
#endif
- TRACE("Got caps:%s%s%s%s\n", ((caps&CPU_CAP_SSE)?((capfilter&CPU_CAP_SSE)?" SSE":" (SSE)"):""),
- ((caps&CPU_CAP_SSE2)?((capfilter&CPU_CAP_SSE2)?" SSE2":" (SSE2)"):""),
- ((caps&CPU_CAP_NEON)?((capfilter&CPU_CAP_NEON)?" Neon":" (Neon)"):""),
- ((!caps)?" -none-":""));
+ TRACE("Got caps:%s%s%s%s%s\n",
+ ((caps&CPU_CAP_SSE) ? ((capfilter&CPU_CAP_SSE) ? " SSE" : " (SSE)") : ""),
+ ((caps&CPU_CAP_SSE2) ? ((capfilter&CPU_CAP_SSE2) ? " SSE2" : " (SSE2)") : ""),
+ ((caps&CPU_CAP_SSE4_1) ? ((capfilter&CPU_CAP_SSE4_1) ? " SSE4.1" : " (SSE4.1)") : ""),
+ ((caps&CPU_CAP_NEON) ? ((capfilter&CPU_CAP_NEON) ? " Neon" : " (Neon)") : ""),
+ ((!caps) ? " -none-" : "")
+ );
CPUCapFlags = caps & capfilter;
}