diff options
author | Graham Linden <graham@lindenlab.com> | 2019-05-14 11:26:38 -0700 |
---|---|---|
committer | Graham Linden <graham@lindenlab.com> | 2019-05-14 11:26:38 -0700 |
commit | 9f9b96580c7632fca739a865005190282fb17881 (patch) | |
tree | 76b0e8ae46c5c3f9f40a173c34a441efb5f733c5 /indra/newview | |
parent | b9cd2ca7907e1543b77597fb7d9280944a9fa4bd (diff) |
SL-11101
Don't short-circuit getVisibleExtents as its side-effects are relevant.
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/pipeline.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 628e7ae2d7..cd0a50113b 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -2327,6 +2327,8 @@ bool LLPipeline::getVisibleExtents(LLCamera& camera, LLVector3& min, LLVector3& LLViewerCamera::eCameraID saved_camera_id = LLViewerCamera::sCurCameraID; LLViewerCamera::sCurCameraID = LLViewerCamera::CAMERA_WORLD; + bool res = true; + for (LLWorld::region_list_t::const_iterator iter = LLWorld::getInstance()->getRegionList().begin(); iter != LLWorld::getInstance()->getRegionList().end(); ++iter) { @@ -2337,17 +2339,20 @@ bool LLPipeline::getVisibleExtents(LLCamera& camera, LLVector3& min, LLVector3& LLSpatialPartition* part = region->getSpatialPartition(i); if (part) { - if (hasRenderType(part->mDrawableType) && !part->getVisibleExtents(camera, min, max)) + if (hasRenderType(part->mDrawableType)) { - LLViewerCamera::sCurCameraID = saved_camera_id; - return false; + if (!part->getVisibleExtents(camera, min, max)) + { + res = false; + } } } } } LLViewerCamera::sCurCameraID = saved_camera_id; - return true; + + return res; } static LLTrace::BlockTimerStatHandle FTM_CULL("Object Culling"); |