summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2010-04-20 11:38:38 -0500
committerDave Parks <davep@lindenlab.com>2010-04-20 11:38:38 -0500
commitd40b29345118ee9e80baf132fc68dc3e367e4c07 (patch)
tree372664a6f55a94588dd8f532f70bb88c263f5dfd
parenta49b1f5e00ae1a03469de5fae4b36233a0442b54 (diff)
Better branch prediction for markVisible.
-rw-r--r--indra/newview/pipeline.cpp36
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)