Skip to content
Snippets Groups Projects
Commit 5501d02c authored by Euclid Linden's avatar Euclid Linden
Browse files

Merged in euclid-16461 (pull request #805)

SL-16461 disable occlusion-based reflection update

Approved-by: Dave Parks
parents 9e38e5a1 d718f25f
No related branches found
No related tags found
1 merge request!83Merge Linden 6.6.7
...@@ -679,9 +679,8 @@ void LLDrawPoolWater::renderWater() ...@@ -679,9 +679,8 @@ void LLDrawPoolWater::renderWater()
{ {
face->renderIndexed(); face->renderIndexed();
// If not occlusion culling, record non-void water being drawn // Note non-void water being drawn, updates required
// (If occlusion is enabled, these are set within LLOcclusionCullingGroup::checkOcclusion() ) if (!edge) // SL-16461 remove !LLPipeline::sUseOcclusion check
if (!edge && !LLPipeline::sUseOcclusion)
{ {
sNeedsReflectionUpdate = TRUE; sNeedsReflectionUpdate = TRUE;
sNeedsDistortionUpdate = TRUE; sNeedsDistortionUpdate = TRUE;
......
...@@ -1140,6 +1140,10 @@ void LLOcclusionCullingGroup::checkOcclusion() ...@@ -1140,6 +1140,10 @@ void LLOcclusionCullingGroup::checkOcclusion()
#if LL_TRACK_PENDING_OCCLUSION_QUERIES #if LL_TRACK_PENDING_OCCLUSION_QUERIES
sPendingQueries.erase(mOcclusionQuery[LLViewerCamera::sCurCameraID]); sPendingQueries.erase(mOcclusionQuery[LLViewerCamera::sCurCameraID]);
#endif #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) if (LLPipeline::RENDER_TYPE_WATER == mSpatialPartition->mDrawableType)
{ {
// Note any unoccluded water, for deciding on reflection/distortion passes // Note any unoccluded water, for deciding on reflection/distortion passes
...@@ -1150,7 +1154,7 @@ void LLOcclusionCullingGroup::checkOcclusion() ...@@ -1150,7 +1154,7 @@ void LLOcclusionCullingGroup::checkOcclusion()
LLDrawPoolWater::sNeedsDistortionUpdate = TRUE; LLDrawPoolWater::sNeedsDistortionUpdate = TRUE;
} }
} }
#endif
if (query_result > 0) if (query_result > 0)
{ {
clearOcclusionState(LLOcclusionCullingGroup::OCCLUDED, LLOcclusionCullingGroup::STATE_MODE_DIFF); clearOcclusionState(LLOcclusionCullingGroup::OCCLUDED, LLOcclusionCullingGroup::STATE_MODE_DIFF);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment