Prune ll_aligned_malloc/free calls out of lldrawable and llface

meow-7.2.2
Dave Parks 2010-11-21 03:48:11 -06:00
parent 81ba8b8bc6
commit 892d70f5d5
4 changed files with 16 additions and 23 deletions

View File

@ -89,9 +89,6 @@ void LLDrawable::incrementVisible()
void LLDrawable::init()
{
mExtents = (LLVector4a*) ll_aligned_malloc_32(sizeof(LLVector4a)*3);
mPositionGroup = mExtents + 2;
// mXform
mParent = NULL;
mRenderType = 0;
@ -144,8 +141,6 @@ void LLDrawable::destroy()
llinfos << "- Zombie drawables: " << sNumZombieDrawables << llendl;
}*/
ll_aligned_free_32(mExtents);
mExtents = mPositionGroup = NULL;
}
void LLDrawable::markDead()
@ -836,7 +831,7 @@ void LLDrawable::shiftPos(const LLVector4a &shift_vector)
mExtents[0].add(shift_vector);
mExtents[1].add(shift_vector);
mPositionGroup->add(shift_vector);
mPositionGroup.add(shift_vector);
}
else if (mSpatialBridge)
{
@ -846,7 +841,7 @@ void LLDrawable::shiftPos(const LLVector4a &shift_vector)
{
mExtents[0].add(shift_vector);
mExtents[1].add(shift_vector);
mPositionGroup->add(shift_vector);
mPositionGroup.add(shift_vector);
}
mVObjp->onShift(shift_vector);
@ -877,7 +872,7 @@ void LLDrawable::setSpatialExtents(const LLVector4a& min, const LLVector4a& max)
void LLDrawable::setPositionGroup(const LLVector4a& pos)
{
*mPositionGroup = pos;
mPositionGroup = pos;
}
void LLDrawable::updateSpatialExtents()
@ -891,7 +886,7 @@ void LLDrawable::updateSpatialExtents()
if (mSpatialBridge.notNull())
{
mPositionGroup->splat(0.f);
mPositionGroup.splat(0.f);
}
}
@ -1160,8 +1155,8 @@ void LLSpatialBridge::updateSpatialExtents()
diagonal.setSub(newMax, newMin);
mRadius = diagonal.getLength3().getF32() * 0.5f;
mPositionGroup->setAdd(newMin,newMax);
mPositionGroup->mul(0.5f);
mPositionGroup.setAdd(newMin,newMax);
mPositionGroup.mul(0.5f);
updateBinRadius();
}
@ -1430,7 +1425,7 @@ void LLSpatialBridge::shiftPos(const LLVector4a& vec)
{
mExtents[0].add(vec);
mExtents[1].add(vec);
mPositionGroup->add(vec);
mPositionGroup.add(vec);
}
void LLSpatialBridge::cleanupReferences()

View File

@ -101,7 +101,7 @@ public:
const LLVector3& getPosition() const { return mXform.getPosition(); }
const LLVector3& getWorldPosition() const { return mXform.getPositionW(); }
const LLVector3 getPositionAgent() const;
const LLVector4a& getPositionGroup() const { return *mPositionGroup; }
const LLVector4a& getPositionGroup() const { return mPositionGroup; }
const LLVector3& getScale() const { return mCurrentScale; }
void setScale(const LLVector3& scale) { mCurrentScale = scale; }
const LLQuaternion& getWorldRotation() const { return mXform.getWorldRotation(); }
@ -278,6 +278,11 @@ public:
RIGGED = 0x08000000,
} EDrawableFlags;
private: //aligned members
LLVector4a mExtents[2];
LLVector4a mPositionGroup;
public:
LLXformMatrix mXform;
// vis data
@ -298,9 +303,6 @@ public:
private:
typedef std::vector<LLFace*> face_list_t;
LLVector4a* mExtents;
LLVector4a* mPositionGroup;
U32 mState;
S32 mRenderType;
LLPointer<LLViewerObject> mVObjp;

View File

@ -146,8 +146,6 @@ void cylindricalProjection(LLVector2 &tc, const LLVector4a& normal, const LLVect
void LLFace::init(LLDrawable* drawablep, LLViewerObject* objp)
{
mExtents = (LLVector4a*) ll_aligned_malloc_16(sizeof(LLVector4a)*2);
mLastUpdateTime = gFrameTimeSeconds;
mLastMoveTime = 0.f;
mLastSkinTime = gFrameTimeSeconds;
@ -239,9 +237,6 @@ void LLFace::destroy()
mDrawablep = NULL;
mVObjp = NULL;
ll_aligned_free_16(mExtents);
mExtents = NULL;
}

View File

@ -219,6 +219,9 @@ public:
void removeAtlas() ;
BOOL switchTexture() ;
public: //aligned members
LLVector4a mExtents[2];
private:
F32 adjustPartialOverlapPixelArea(F32 cos_angle_to_view_dir, F32 radius );
BOOL calcPixelArea(F32& cos_angle_to_view_dir, F32& radius) ;
@ -231,8 +234,6 @@ public:
LLVector3 mCenterLocal;
LLVector3 mCenterAgent;
LLVector4a* mExtents;
LLVector2 mTexExtents[2];
F32 mDistance;
LLPointer<LLVertexBuffer> mVertexBuffer;