diff options
| author | andreykproductengine <andreykproductengine@lindenlab.com> | 2018-06-01 01:18:47 +0300 |
|---|---|---|
| committer | andreykproductengine <andreykproductengine@lindenlab.com> | 2018-06-01 01:18:47 +0300 |
| commit | 9437d1511e2c4b73a58abc823b1ca2a29a8a4d04 (patch) | |
| tree | e6b24dafcbf54d6145a44784ed4defdbbd3335c8 /indra/newview/lldrawpoolavatar.cpp | |
| parent | fadb6c7c65f4d531f513d5d896ca25b9bb22b48f (diff) | |
| parent | 40d4e8b2e6d25a625c7a5ef5dd3e94321d18ce82 (diff) | |
merge from viewer-release
Diffstat (limited to 'indra/newview/lldrawpoolavatar.cpp')
| -rw-r--r-- | indra/newview/lldrawpoolavatar.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index 8128790eb6..ef69990170 100644 --- a/indra/newview/lldrawpoolavatar.cpp +++ b/indra/newview/lldrawpoolavatar.cpp @@ -1574,6 +1574,11 @@ void LLDrawPoolAvatar::updateRiggedFaceVertexBuffer( LLPointer<LLVertexBuffer> buffer = face->getVertexBuffer(); LLDrawable* drawable = face->getDrawable(); + if (drawable->getVOVolume() && drawable->getVOVolume()->isNoLOD()) + { + return; + } + U32 data_mask = face->getRiggedVertexBufferDataMask(); if (!vol_face.mWeightsScrubbed) @@ -1621,7 +1626,9 @@ void LLDrawPoolAvatar::updateRiggedFaceVertexBuffer( return; } - if (sShaderLevel <= 0 && face->mLastSkinTime < avatar->getLastSkinTime()) + if (!buffer.isNull() && + sShaderLevel <= 0 && + face->mLastSkinTime < avatar->getLastSkinTime()) { //perform software vertex skinning for this face LLStrider<LLVector3> position; @@ -1914,7 +1921,7 @@ void LLDrawPoolAvatar::updateRiggedVertexBuffers(LLVOAvatar* avatar) LLVOVolume* vobj = drawable->getVOVolume(); - if (!vobj) + if (!vobj || vobj->isNoLOD()) { continue; } |
