diff options
author | Dave Parks <davep@lindenlab.com> | 2010-04-20 11:38:38 -0500 |
---|---|---|
committer | Dave Parks <davep@lindenlab.com> | 2010-04-20 11:38:38 -0500 |
commit | d40b29345118ee9e80baf132fc68dc3e367e4c07 (patch) | |
tree | 372664a6f55a94588dd8f532f70bb88c263f5dfd /indra | |
parent | a49b1f5e00ae1a03469de5fae4b36233a0442b54 (diff) |
Better branch prediction for markVisible.
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/pipeline.cpp | 36 |
1 files changed, 17 insertions, 19 deletions
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 02dc013ca4..cb656b4fbc 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -1973,31 +1973,29 @@ void LLPipeline::markVisible(LLDrawable *drawablep, LLCamera& camera) { LLMemType mt(LLMemType::MTYPE_PIPELINE_MARK_VISIBLE); - if(!drawablep || drawablep->isDead()) + if(drawablep && !drawablep->isDead()) { - return; - } - - if (drawablep->isSpatialBridge()) - { - LLDrawable* root = ((LLSpatialBridge*) drawablep)->mDrawable; - - if (root && root->getParent() && root->getVObj() && root->getVObj()->isAttachment()) + if (drawablep->isSpatialBridge()) { - LLVOAvatar* av = root->getParent()->getVObj()->asAvatar(); - if (av && av->isImpostor()) + LLDrawable* root = ((LLSpatialBridge*) drawablep)->mDrawable; + + if (root->getVObj()->isAttachment()) { - return; + LLVOAvatar* av = root->getParent()->getVObj()->asAvatar(); + if (av && av->isImpostor()) + { + return; + } } + sCull->pushBridge((LLSpatialBridge*) drawablep); + } + else + { + sCull->pushDrawable(drawablep); } - sCull->pushBridge((LLSpatialBridge*) drawablep); - } - else - { - sCull->pushDrawable(drawablep); - } - drawablep->setVisible(camera); + drawablep->setVisible(camera); + } } void LLPipeline::markMoved(LLDrawable *drawablep, BOOL damped_motion) |