diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llappearance/llpolymesh.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llviewerjointmesh.cpp | 18 | 
2 files changed, 13 insertions, 7 deletions
| diff --git a/indra/llappearance/llpolymesh.cpp b/indra/llappearance/llpolymesh.cpp index dab14851c8..79b879b487 100644 --- a/indra/llappearance/llpolymesh.cpp +++ b/indra/llappearance/llpolymesh.cpp @@ -981,7 +981,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); -	LLVector4a::memcpyNonAliased16((F32*) mTexCoords, (F32*) mSharedData->mTexCoords, sizeof(LLVector2) * (mSharedData->mNumVertices + mSharedData->mNumVertices%2)); +	memcpy((F32*) mTexCoords, (F32*) mSharedData->mTexCoords, sizeof(LLVector2) * (mSharedData->mNumVertices)); // allocated in LLPolyMeshSharedData::allocateVertexData  	for (U32 i = 0; i < mSharedData->mNumVertices; ++i)  	{ diff --git a/indra/newview/llviewerjointmesh.cpp b/indra/newview/llviewerjointmesh.cpp index 5d46c695b7..b5ccb3591f 100644 --- a/indra/newview/llviewerjointmesh.cpp +++ b/indra/newview/llviewerjointmesh.cpp @@ -405,13 +405,19 @@ void LLViewerJointMesh::updateFaceData(LLFace *face, F32 pixel_area, BOOL damp_w  				F32* tc = (F32*) tex_coordsp.get();  				F32* vw = (F32*) vertex_weightsp.get(); -				F32* cw = (F32*) clothing_weightsp.get();	 +				F32* cw = (F32*) clothing_weightsp.get(); -				S32 tc_size = (num_verts*2*sizeof(F32)+0xF) & ~0xF; -				LLVector4a::memcpyNonAliased16(tc, (F32*) mMesh->getTexCoords(), tc_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));	 +				//S32 tc_size = (num_verts*2*sizeof(F32)+0xF) & ~0xF; +				//LLVector4a::memcpyNonAliased16(tc, (F32*) mMesh->getTexCoords(), tc_size); +				//S32 vw_size = (num_verts*sizeof(F32)+0xF) & ~0xF; +				//LLVector4a::memcpyNonAliased16(vw, (F32*) mMesh->getWeights(), vw_size); + +                // Both allocated in LLPolyMeshSharedData::allocateVertexData(unsigned int) + +                memcpy(tc, mMesh->getTexCoords(), num_verts*2*sizeof(F32) ); +                memcpy(vw, mMesh->getWeights(), num_verts*sizeof(F32) ); + +                LLVector4a::memcpyNonAliased16(cw, (F32*) mMesh->getClothingWeights(), num_verts*4*sizeof(F32));  			}  			const U32 idx_count = mMesh->getNumFaces()*3; | 
