File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1149,6 +1149,7 @@ LLSpatialPartition* LLDrawable::getSpatialPartition()
11491149 // must be an active volume
11501150 if (!mSpatialBridge )
11511151 {
1152+ // Spatial bridge ctors self-register...
11521153 if (mVObjp ->isHUDAttachment ())
11531154 {
11541155 setSpatialBridge (new LLHUDBridge (this , getRegion ()));
@@ -1615,9 +1616,9 @@ void LLSpatialBridge::cleanupReferences()
16151616 }
16161617 }*/
16171618
1618- LLDrawable* drawablep = mDrawable ;
1619- mDrawable = NULL ;
1620- drawablep->setSpatialBridge (NULL );
1619+ LLPointer< LLDrawable> drawablep = mDrawable ;
1620+ mDrawable = nullptr ;
1621+ drawablep->setSpatialBridge (nullptr );
16211622 }
16221623}
16231624
Original file line number Diff line number Diff line change @@ -5565,15 +5565,15 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
55655565
55665566 else
55675567 {
5568- if ( type == LLDrawPool::POOL_FULLBRIGHT || type == LLDrawPool::POOL_FULLBRIGHT_ALPHA_MASK )
5569- {
5570- pool->addRiggedFace (facep, LLDrawPoolAvatar::RIGGED_FULLBRIGHT );
5571- }
55725568 // Annoying exception to the rule. getPoolTypeFromTE will return POOL_ALPHA_MASK for legacy bumpmaps, but there is no POOL_ALPHA_MASK in deferred.
5573- else if (type == LLDrawPool::POOL_MATERIALS || (type == LLDrawPool::POOL_ALPHA_MASK && mat))
5569+ if (type == LLDrawPool::POOL_MATERIALS || (( type == LLDrawPool::POOL_ALPHA_MASK || type == LLDrawPool:: POOL_FULLBRIGHT_ALPHA_MASK ) && mat))
55745570 {
55755571 pool->addRiggedFace (facep, mat->getShaderMask ());
55765572 }
5573+ else if (type == LLDrawPool::POOL_FULLBRIGHT || type == LLDrawPool::POOL_FULLBRIGHT_ALPHA_MASK )
5574+ {
5575+ pool->addRiggedFace (facep, LLDrawPoolAvatar::RIGGED_FULLBRIGHT );
5576+ }
55775577 else if (type == LLDrawPool::POOL_BUMP && te->getBumpmap ())
55785578 {
55795579 pool->addRiggedFace (facep, LLDrawPoolAvatar::RIGGED_DEFERRED_BUMP );
@@ -5670,7 +5670,7 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
56705670 type = LLDrawPool::POOL_FULLBRIGHT ;
56715671 }
56725672 }
5673- else if (force_simple && type != LLDrawPool::POOL_FULLBRIGHT && type != LLDrawPool::POOL_ALPHA_MASK && type != LLDrawPool::POOL_FULLBRIGHT_ALPHA_MASK )
5673+ else if (force_simple && type != LLDrawPool::POOL_FULLBRIGHT && (!LLPipeline:: sRenderDeferred && ( type != LLDrawPool::POOL_ALPHA_MASK && type != LLDrawPool::POOL_FULLBRIGHT_ALPHA_MASK )) )
56745674 {
56755675 type = LLDrawPool::POOL_SIMPLE ;
56765676 }
Original file line number Diff line number Diff line change @@ -2667,6 +2667,9 @@ void LLPipeline::clearRebuildGroups()
26672667 iter != mGroupQ2 .end (); ++iter)
26682668 {
26692669 LLSpatialGroup* group = *iter;
2670+ if (group == nullptr ) {
2671+ LL_WARNS () << " Null spatial group in Pipeline::mGroupQ2." << LL_ENDL ;
2672+ }
26702673
26712674 // If the group contains HUD objects, save the group
26722675 if (group->isHUDGroup ())
You can’t perform that action at this time.
0 commit comments