From ae0cd901f8917f1cacc4c402e5a51a06632a076b Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Tue, 4 Oct 2011 17:25:55 -0500 Subject: SH-2428 Make GCC 4.4 happy by using LLVector4a striders with LLAlphaObject subclasses -- also vectorize particle VBO updates --- indra/newview/llvograss.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'indra/newview/llvograss.cpp') diff --git a/indra/newview/llvograss.cpp b/indra/newview/llvograss.cpp index 32822e1181..8a79d564d3 100644 --- a/indra/newview/llvograss.cpp +++ b/indra/newview/llvograss.cpp @@ -464,7 +464,7 @@ void LLVOGrass::plantBlades() } void LLVOGrass::getGeometry(S32 idx, - LLStrider& verticesp, + LLStrider& verticesp, LLStrider& normalsp, LLStrider& texcoordsp, LLStrider& colorsp, @@ -516,21 +516,24 @@ void LLVOGrass::getGeometry(S32 idx, position.mV[0] = mPosition.mV[VX] + x + xf; position.mV[1] = mPosition.mV[VY] + y + yf; position.mV[2] = mRegionp->getLand().resolveHeightRegion(position); - *verticesp++ = v1 = position + mRegionp->getOriginAgent(); - *verticesp++ = v1; + v1 = position + mRegionp->getOriginAgent(); + (*verticesp++).load3(v1.mV); + (*verticesp++).load3(v1.mV); position.mV[0] += dzx; position.mV[1] += dzy; position.mV[2] += blade_height; - *verticesp++ = v2 = position + mRegionp->getOriginAgent(); - *verticesp++ = v2; + v2 = position + mRegionp->getOriginAgent(); + (*verticesp++).load3(v2.mV); + (*verticesp++).load3(v2.mV); position.mV[0] = mPosition.mV[VX] + x - xf; position.mV[1] = mPosition.mV[VY] + y - xf; position.mV[2] = mRegionp->getLand().resolveHeightRegion(position); - *verticesp++ = v3 = position + mRegionp->getOriginAgent(); - *verticesp++ = v3; + v3 = position + mRegionp->getOriginAgent(); + (*verticesp++).load3(v3.mV); + (*verticesp++).load3(v3.mV); LLVector3 normal1 = (v1-v2) % (v2-v3); normal1.mV[VZ] = 0.75f; @@ -541,8 +544,9 @@ void LLVOGrass::getGeometry(S32 idx, position.mV[0] += dzx; position.mV[1] += dzy; position.mV[2] += blade_height; - *verticesp++ = v1 = position + mRegionp->getOriginAgent(); - *verticesp++ = v1; + v1 = position + mRegionp->getOriginAgent(); + (*verticesp++).load3(v1.mV); + (*verticesp++).load3(v1.mV); *(normalsp++) = normal1; *(normalsp++) = normal2; -- cgit v1.2.3