diff options
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/lldrawpoolwater.cpp | 5 | ||||
-rw-r--r-- | indra/newview/llvieweroctree.cpp | 6 |
2 files changed, 7 insertions, 4 deletions
diff --git a/indra/newview/lldrawpoolwater.cpp b/indra/newview/lldrawpoolwater.cpp index 590385472b..62706feae3 100644 --- a/indra/newview/lldrawpoolwater.cpp +++ b/indra/newview/lldrawpoolwater.cpp @@ -679,9 +679,8 @@ void LLDrawPoolWater::renderWater() { face->renderIndexed(); - // If not occlusion culling, record non-void water being drawn - // (If occlusion is enabled, these are set within LLOcclusionCullingGroup::checkOcclusion() ) - if (!edge && !LLPipeline::sUseOcclusion) + // Note non-void water being drawn, updates required + if (!edge) // SL-16461 remove !LLPipeline::sUseOcclusion check { sNeedsReflectionUpdate = TRUE; sNeedsDistortionUpdate = TRUE; diff --git a/indra/newview/llvieweroctree.cpp b/indra/newview/llvieweroctree.cpp index b7d0e06116..8d6f4d2729 100644 --- a/indra/newview/llvieweroctree.cpp +++ b/indra/newview/llvieweroctree.cpp @@ -1140,6 +1140,10 @@ void LLOcclusionCullingGroup::checkOcclusion() #if LL_TRACK_PENDING_OCCLUSION_QUERIES sPendingQueries.erase(mOcclusionQuery[LLViewerCamera::sCurCameraID]); #endif + +#if 0 // (12/2021) occasional false-negative occlusion tests produce water reflection errors, SL-16461 + // If/when water occlusion queries become 100% reliable, re-enable this optimization + if (LLPipeline::RENDER_TYPE_WATER == mSpatialPartition->mDrawableType) { // Note any unoccluded water, for deciding on reflection/distortion passes @@ -1150,7 +1154,7 @@ void LLOcclusionCullingGroup::checkOcclusion() LLDrawPoolWater::sNeedsDistortionUpdate = TRUE; } } - +#endif if (query_result > 0) { clearOcclusionState(LLOcclusionCullingGroup::OCCLUDED, LLOcclusionCullingGroup::STATE_MODE_DIFF); |