]> git.rm.cloudns.org Git - xonotic/darkplaces.git/commitdiff
always allow -nosse and -nosse2 flags to change SSE status
authordivverent <divverent@d7cf8633-e32d-0410-b094-e92efae38249>
Sat, 18 Feb 2012 13:48:09 +0000 (13:48 +0000)
committerRudolf Polzer <divverent@alientrap.org>
Mon, 20 Feb 2012 14:59:32 +0000 (15:59 +0100)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@11698 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=04917d73d7e3f4ab6465bc97879af1acb86a77c9

quakedef.h
sys_shared.c

index 65f241590335bffd34d37b7bbe89ae4193a9872d..66fdfb308c9ccffec4f6be4de38e7b5cece082d5 100644 (file)
@@ -484,10 +484,7 @@ extern cvar_t sessionid;
 # undef SSE2_PRESENT
 #endif
 
-#ifdef SSE2_PRESENT
-#define Sys_HaveSSE() true
-#define Sys_HaveSSE2() true
-#elif defined(SSE_POSSIBLE)
+#ifdef SSE_POSSIBLE
 // runtime detection of SSE/SSE2 capabilities for x86
 qboolean Sys_HaveSSE(void);
 qboolean Sys_HaveSSE2(void);
index d033323a9d0f161be28698dea7bf3ef0d0bac411..10f5a60e5d7126a145188698246ddeb23479840c 100644 (file)
@@ -536,18 +536,24 @@ static int CPUID_Features(void)
 # endif
        return features;
 }
+#endif
 
+#ifdef SSE_POSSIBLE
 qboolean Sys_HaveSSE(void)
 {
        // COMMANDLINEOPTION: SSE: -nosse disables SSE support and detection
        if(COM_CheckParm("-nosse"))
                return false;
+#ifdef SSE_PRESENT
+       return true;
+#else
        // COMMANDLINEOPTION: SSE: -forcesse enables SSE support and disables detection
        if(COM_CheckParm("-forcesse") || COM_CheckParm("-forcesse2"))
                return true;
        if(CPUID_Features() & (1 << 25))
                return true;
        return false;
+#endif
 }
 
 qboolean Sys_HaveSSE2(void)
@@ -555,12 +561,16 @@ qboolean Sys_HaveSSE2(void)
        // COMMANDLINEOPTION: SSE2: -nosse2 disables SSE2 support and detection
        if(COM_CheckParm("-nosse") || COM_CheckParm("-nosse2"))
                return false;
+#ifdef SSE2_PRESENT
+       return true;
+#else
        // COMMANDLINEOPTION: SSE2: -forcesse2 enables SSE2 support and disables detection
        if(COM_CheckParm("-forcesse2"))
                return true;
        if((CPUID_Features() & (3 << 25)) == (3 << 25)) // SSE is 1<<25, SSE2 is 1<<26
                return true;
        return false;
+#endif
 }
 #endif