-Screwed around with SSE2.

-Added ReleaseSSE2 as a build target.
-LL_VECTORIZE is silly and breaks things...
-Small little tweaks.

I have not tested if the cmake alterations work under linux and darwin. Hollar if broken.
This commit is contained in:
unknown
2010-10-02 02:13:17 -05:00
parent 3e8a7172db
commit b2bd45eed8
22 changed files with 207 additions and 103 deletions

View File

@@ -467,39 +467,32 @@ static void settings_modify()
gDebugGL = gSavedSettings.getBOOL("RenderDebugGL");
gDebugPipeline = gSavedSettings.getBOOL("RenderDebugPipeline");
gAuditTexture = gSavedSettings.getBOOL("AuditTexture");
#if LL_VECTORIZE
if (gSysCPU.hasAltivec())
if (gSysCPU.hasAltivec()) //for mac. No intrinsics used. No real risk of breaking compat.
{
gSavedSettings.setBOOL("VectorizeEnable", TRUE );
gSavedSettings.setU32("VectorizeProcessor", 0 );
}
else
if (gSysCPU.hasSSE2())
//Slightly confusing, but with linux llviewerjointmesh_sse(2) are compiled with relevent sse flags set.
//However, on windows or mac said files are only compiled with sse(2) if the entire project is.
else if (gSysCPU.hasSSE2() && LLViewerJointMesh::supportsSSE2())
{
gSavedSettings.setBOOL("VectorizeEnable", TRUE );
gSavedSettings.setU32("VectorizeProcessor", 2 );
}
else
if (gSysCPU.hasSSE())
else if (gSysCPU.hasSSE() && LLViewerJointMesh::supportsSSE())
{
gSavedSettings.setBOOL("VectorizeEnable", TRUE );
gSavedSettings.setU32("VectorizeProcessor", 1 );
}
else
else // This build target doesn't support SSE, don't test/run.
{
// Don't bother testing or running if CPU doesn't support it. JC
gSavedSettings.setBOOL("VectorizePerfTest", FALSE );
gSavedSettings.setBOOL("VectorizeEnable", FALSE );
gSavedSettings.setU32("VectorizeProcessor", 0 );
gSavedSettings.setBOOL("VectorizeSkin", FALSE);
}
#else
// This build target doesn't support SSE, don't test/run.
gSavedSettings.setBOOL("VectorizePerfTest", FALSE );
gSavedSettings.setBOOL("VectorizeEnable", FALSE );
gSavedSettings.setU32("VectorizeProcessor", 0 );
gSavedSettings.setBOOL("VectorizeSkin", FALSE);
#endif
}
void LLAppViewer::initGridChoice()