From ff2113842413048823546820b14ee0edc830631f Mon Sep 17 00:00:00 2001 From: Ansariel Date: Fri, 29 Aug 2014 00:48:32 +0200 Subject: [PATCH] Backed out changeset: a3c260db5c4a - this is slow and needs to fixed differently (which is already done on our end says Nicky); thanks to Drake Arconis (Sovereign Engineer) for pointing out --- indra/llappearance/llpolymesh.cpp | 5 +---- indra/newview/llviewerjointmesh.cpp | 8 ++------ 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/indra/llappearance/llpolymesh.cpp b/indra/llappearance/llpolymesh.cpp index 4ca2530817..0a7a8d27bb 100644 --- a/indra/llappearance/llpolymesh.cpp +++ b/indra/llappearance/llpolymesh.cpp @@ -980,10 +980,7 @@ void LLPolyMesh::initializeForMorph() LLVector4a::memcpyNonAliased16((F32*) mScaledNormals, (F32*) mSharedData->mBaseNormals, sizeof(LLVector4a) * mSharedData->mNumVertices); LLVector4a::memcpyNonAliased16((F32*) mBinormals, (F32*) mSharedData->mBaseNormals, sizeof(LLVector4a) * mSharedData->mNumVertices); LLVector4a::memcpyNonAliased16((F32*) mScaledBinormals, (F32*) mSharedData->mBaseNormals, sizeof(LLVector4a) * mSharedData->mNumVertices); - // Fix buffer overflow from using memcpyNonAliased16 on incorrectly sized data; by Cinder Roxley - //LLVector4a::memcpyNonAliased16((F32*) mTexCoords, (F32*) mSharedData->mTexCoords, sizeof(LLVector2) * (mSharedData->mNumVertices + mSharedData->mNumVertices%2)); - memcpy(mTexCoords, mSharedData->mTexCoords, sizeof(LLVector2) * mSharedData->mNumVertices); - // + LLVector4a::memcpyNonAliased16((F32*) mTexCoords, (F32*) mSharedData->mTexCoords, sizeof(LLVector2) * (mSharedData->mNumVertices + mSharedData->mNumVertices%2)); for (U32 i = 0; i < mSharedData->mNumVertices; ++i) { diff --git a/indra/newview/llviewerjointmesh.cpp b/indra/newview/llviewerjointmesh.cpp index fb99c4fba8..bf7cf08c63 100755 --- a/indra/newview/llviewerjointmesh.cpp +++ b/indra/newview/llviewerjointmesh.cpp @@ -442,12 +442,8 @@ void LLViewerJointMesh::updateFaceData(LLFace *face, F32 pixel_area, BOOL damp_w S32 tc_size = (num_verts*2*sizeof(F32)+0xF) & ~0xF; LLVector4a::memcpyNonAliased16(tc, (F32*) mMesh->getTexCoords(), tc_size); - // Fix buffer overflow from using memcpyNonAliased16 on incorrectly sized data; by Cinder Roxley - //S32 vw_size = (num_verts*sizeof(F32)+0xF) & ~0xF; - //LLVector4a::memcpyNonAliased16(vw, (F32*) mMesh->getWeights(), vw_size); - S32 vw_size = (num_verts*sizeof(F32)); - memcpy(vw, (F32*) mMesh->getWeights(), vw_size); - // + S32 vw_size = (num_verts*sizeof(F32)+0xF) & ~0xF; + LLVector4a::memcpyNonAliased16(vw, (F32*) mMesh->getWeights(), vw_size); LLVector4a::memcpyNonAliased16(cw, (F32*) mMesh->getClothingWeights(), num_verts*4*sizeof(F32)); }