diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index dc319981d0..8303895318 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -11563,36 +11563,71 @@ void LLPipeline::generateImpostor(LLVOAvatar* avatar, bool preview_avatar) bool LLPipeline::hasRenderBatches(const U32 type) const { + // FIRE-31942, sCull can be invalid if triggering 360 snapshosts fast enough (due to snapshots running in their own co routine) + if( !sCull ) + return {}; + // + return sCull->getRenderMapSize(type) > 0; } LLCullResult::drawinfo_iterator LLPipeline::beginRenderMap(U32 type) { + // FIRE-31942, sCull can be invalid if triggering 360 snapshosts fast enough (due to snapshots running in their own co routine) + if( !sCull ) + return {}; + // + return sCull->beginRenderMap(type); } LLCullResult::drawinfo_iterator LLPipeline::endRenderMap(U32 type) { + // FIRE-31942, sCull can be invalid if triggering 360 snapshosts fast enough (due to snapshots running in their own co routine) + if( !sCull ) + return {}; + // + return sCull->endRenderMap(type); } LLCullResult::sg_iterator LLPipeline::beginAlphaGroups() { + // FIRE-31942, sCull can be invalid if triggering 360 snapshosts fast enough (due to snapshots running in their own co routine) + if( !sCull ) + return {}; + // + return sCull->beginAlphaGroups(); } LLCullResult::sg_iterator LLPipeline::endAlphaGroups() { + // FIRE-31942, sCull can be invalid if triggering 360 snapshosts fast enough (due to snapshots running in their own co routine) + if( !sCull ) + return {}; + // + return sCull->endAlphaGroups(); } LLCullResult::sg_iterator LLPipeline::beginRiggedAlphaGroups() { + // FIRE-31942, sCull can be invalid if triggering 360 snapshosts fast enough (due to snapshots running in their own co routine) + if( !sCull ) + return {}; + // + return sCull->beginRiggedAlphaGroups(); } LLCullResult::sg_iterator LLPipeline::endRiggedAlphaGroups() { + // FIRE-31942, sCull can be invalid if triggering 360 snapshosts fast enough (due to snapshots running in their own co routine) + if( !sCull ) + return {}; + // + return sCull->endRiggedAlphaGroups(); }