summaryrefslogtreecommitdiff
path: root/indra/newview/llspatialpartition.cpp
diff options
context:
space:
mode:
authorRunitaiLinden <davep@lindenlab.com>2023-12-01 14:49:22 -0600
committerRunitaiLinden <davep@lindenlab.com>2023-12-01 14:49:22 -0600
commitc573d27e5baf23adbc14153c4d65a581f55febb4 (patch)
tree41fcbccdffd13c77073768241baa55200a695614 /indra/newview/llspatialpartition.cpp
parenta09b083b1b18d293d97dd84dd4849924b2766a4f (diff)
SL-20611 Followup -- fix for water rendering twice. Add comments around LLEventPoll hack.
Diffstat (limited to 'indra/newview/llspatialpartition.cpp')
-rw-r--r--indra/newview/llspatialpartition.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/indra/newview/llspatialpartition.cpp b/indra/newview/llspatialpartition.cpp
index a63d46f502..9f30d60fed 100644
--- a/indra/newview/llspatialpartition.cpp
+++ b/indra/newview/llspatialpartition.cpp
@@ -64,6 +64,9 @@ bool LLSpatialGroup::sNoDelete = false;
static F32 sLastMaxTexPriority = 1.f;
static F32 sCurMaxTexPriority = 1.f;
+// enable expensive sanity checks around redundant drawable and group insertion to LLCullResult
+#define LL_DEBUG_CULL_RESULT 0
+
//static counter for frame to switch LOD on
void sg_assert(BOOL expr)
@@ -4015,6 +4018,10 @@ void LLCullResult::pushOcclusionGroup(LLSpatialGroup* group)
void LLCullResult::pushDrawableGroup(LLSpatialGroup* group)
{
+#if LL_DEBUG_CULL_RESULT
+ // group must NOT be in the drawble groups list already
+ llassert(std::find(&mDrawableGroups[0], mDrawableGroupsEnd, group) == mDrawableGroupsEnd);
+#endif
if (mDrawableGroupsSize < mDrawableGroupsAllocated)
{
mDrawableGroups[mDrawableGroupsSize] = group;
@@ -4029,6 +4036,10 @@ void LLCullResult::pushDrawableGroup(LLSpatialGroup* group)
void LLCullResult::pushDrawable(LLDrawable* drawable)
{
+#if LL_DEBUG_CULL_RESULT
+ // drawable must NOT be in the visible list already
+ llassert(std::find(&mVisibleList[0], mVisibleListEnd, drawable) == mVisibleListEnd);
+#endif
if (mVisibleListSize < mVisibleListAllocated)
{
mVisibleList[mVisibleListSize] = drawable;