diff options
author | ruslantproductengine <ruslantproductengine@lindenlab.com> | 2016-03-02 18:35:43 +0200 |
---|---|---|
committer | ruslantproductengine <ruslantproductengine@lindenlab.com> | 2016-03-02 18:35:43 +0200 |
commit | 0ffc4f2667806653d1f0548fdda7eb91bdea5025 (patch) | |
tree | 14002056547d65454d1088c1a947772a6e6dfa06 /indra/newview/lldrawpoolavatar.cpp | |
parent | ca7631e4d71c693a5a502c05a482ab01ada7888a (diff) |
MAINT-5700 [QuickGraphics-RC] Blocked avatars should always be derendered
Diffstat (limited to 'indra/newview/lldrawpoolavatar.cpp')
-rwxr-xr-x | indra/newview/lldrawpoolavatar.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index c200ecfaf8..63e4abb308 100755 --- a/indra/newview/lldrawpoolavatar.cpp +++ b/indra/newview/lldrawpoolavatar.cpp @@ -472,7 +472,9 @@ void LLDrawPoolAvatar::renderShadow(S32 pass) } BOOL impostor = avatarp->isImpostor(); - if (impostor) + if (impostor + && LLVOAvatar::AV_DO_NOT_RENDER != avatarp->getVisualMuteSettings() + && LLVOAvatar::AV_ALWAYS_RENDER != avatarp->getVisualMuteSettings()) { return; } @@ -1246,7 +1248,9 @@ void LLDrawPoolAvatar::renderAvatars(LLVOAvatar* single_avatar, S32 pass) BOOL impostor = avatarp->isImpostor() && !single_avatar; - if (impostor && pass != 0) + if (( avatarp->isInMuteList() + || impostor + || (LLVOAvatar::AV_DO_NOT_RENDER == avatarp->getVisualMuteSettings() && !avatarp->needsImpostorUpdate()) ) && pass != 0) { //don't draw anything but the impostor for impostored avatars return; } @@ -1263,7 +1267,7 @@ void LLDrawPoolAvatar::renderAvatars(LLVOAvatar* single_avatar, S32 pass) LLVOAvatar::sNumVisibleAvatars++; } - if (impostor) + if (impostor || (LLVOAvatar::AV_DO_NOT_RENDER == avatarp->getVisualMuteSettings() && !avatarp->needsImpostorUpdate())) { if (LLPipeline::sRenderDeferred && !LLPipeline::sReflectionRender && avatarp->mImpostor.isComplete()) { |