summaryrefslogtreecommitdiff
path: root/indra
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
commita1a23b3e00929dc7df62abff43e1486d402727d3 (patch)
treea32263d8a84219c4bfe4456e601ebd1c11c73efc /indra
parent9eb4dc94d58a6cb7fe247f30bde08c126f99d820 (diff)
Better branch prediction for markVisible.
(transplanted from 5b6c80049d6e6c0df2396099b865729f21200de8)
Diffstat (limited to 'indra')
-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 a45f41a7dd..620f34ae53 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -1960,31 +1960,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)