diff options
Diffstat (limited to 'indra/newview/llviewerjointmesh_sse.cpp')
-rw-r--r-- | indra/newview/llviewerjointmesh_sse.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/indra/newview/llviewerjointmesh_sse.cpp b/indra/newview/llviewerjointmesh_sse.cpp index 579c5d2687..d1ded78f06 100644 --- a/indra/newview/llviewerjointmesh_sse.cpp +++ b/indra/newview/llviewerjointmesh_sse.cpp @@ -31,8 +31,6 @@ #if LL_VECTORIZE -static LLV4Matrix4 sJointMat[32]; - inline void matrix_translate(LLV4Matrix4& m, const LLMatrix4* w, const LLVector3& j) { m.mV[VX] = _mm_loadu_ps(w->mMatrix[VX]); @@ -47,6 +45,9 @@ inline void matrix_translate(LLV4Matrix4& m, const LLMatrix4* w, const LLVector3 // static void LLViewerJointMesh::updateGeometrySSE(LLFace *face, LLPolyMesh *mesh) { + // This cannot be a file-level static because it will be initialized + // before main() using SSE code, which will crash on non-SSE processors. + static LLV4Matrix4 sJointMat[32]; LLDynamicArray<LLJointRenderData*>& joint_data = mesh->getReferenceMesh()->mJointRenderData; //upload joint pivots/matrices |