Speculative fixes.
This commit is contained in:
@@ -1149,6 +1149,7 @@ LLSpatialPartition* LLDrawable::getSpatialPartition()
|
||||
//must be an active volume
|
||||
if (!mSpatialBridge)
|
||||
{
|
||||
// Spatial bridge ctors self-register...
|
||||
if (mVObjp->isHUDAttachment())
|
||||
{
|
||||
setSpatialBridge(new LLHUDBridge(this, getRegion()));
|
||||
@@ -1615,9 +1616,9 @@ void LLSpatialBridge::cleanupReferences()
|
||||
}
|
||||
}*/
|
||||
|
||||
LLDrawable* drawablep = mDrawable;
|
||||
mDrawable = NULL;
|
||||
drawablep->setSpatialBridge(NULL);
|
||||
LLPointer<LLDrawable> drawablep = mDrawable;
|
||||
mDrawable = nullptr;
|
||||
drawablep->setSpatialBridge(nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5565,15 +5565,15 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
|
||||
|
||||
else
|
||||
{
|
||||
if( type == LLDrawPool::POOL_FULLBRIGHT || type == LLDrawPool::POOL_FULLBRIGHT_ALPHA_MASK)
|
||||
{
|
||||
pool->addRiggedFace(facep, LLDrawPoolAvatar::RIGGED_FULLBRIGHT);
|
||||
}
|
||||
//Annoying exception to the rule. getPoolTypeFromTE will return POOL_ALPHA_MASK for legacy bumpmaps, but there is no POOL_ALPHA_MASK in deferred.
|
||||
else if(type == LLDrawPool::POOL_MATERIALS || (type == LLDrawPool::POOL_ALPHA_MASK && mat))
|
||||
if (type == LLDrawPool::POOL_MATERIALS || ((type == LLDrawPool::POOL_ALPHA_MASK || type == LLDrawPool::POOL_FULLBRIGHT_ALPHA_MASK) && mat))
|
||||
{
|
||||
pool->addRiggedFace(facep, mat->getShaderMask());
|
||||
}
|
||||
else if (type == LLDrawPool::POOL_FULLBRIGHT || type == LLDrawPool::POOL_FULLBRIGHT_ALPHA_MASK)
|
||||
{
|
||||
pool->addRiggedFace(facep, LLDrawPoolAvatar::RIGGED_FULLBRIGHT);
|
||||
}
|
||||
else if (type == LLDrawPool::POOL_BUMP && te->getBumpmap())
|
||||
{
|
||||
pool->addRiggedFace(facep, LLDrawPoolAvatar::RIGGED_DEFERRED_BUMP);
|
||||
@@ -5670,7 +5670,7 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
|
||||
type = LLDrawPool::POOL_FULLBRIGHT;
|
||||
}
|
||||
}
|
||||
else if(force_simple && type != LLDrawPool::POOL_FULLBRIGHT && type != LLDrawPool::POOL_ALPHA_MASK && type != LLDrawPool::POOL_FULLBRIGHT_ALPHA_MASK)
|
||||
else if(force_simple && type != LLDrawPool::POOL_FULLBRIGHT && (!LLPipeline::sRenderDeferred && (type != LLDrawPool::POOL_ALPHA_MASK && type != LLDrawPool::POOL_FULLBRIGHT_ALPHA_MASK)))
|
||||
{
|
||||
type = LLDrawPool::POOL_SIMPLE;
|
||||
}
|
||||
|
||||
@@ -2667,6 +2667,9 @@ void LLPipeline::clearRebuildGroups()
|
||||
iter != mGroupQ2.end(); ++iter)
|
||||
{
|
||||
LLSpatialGroup* group = *iter;
|
||||
if (group == nullptr) {
|
||||
LL_WARNS() << "Null spatial group in Pipeline::mGroupQ2." << LL_ENDL;
|
||||
}
|
||||
|
||||
// If the group contains HUD objects, save the group
|
||||
if (group->isHUDGroup())
|
||||
|
||||
Reference in New Issue
Block a user