From c29a902e73808263a189cb09525e4aff1a7401e9 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Mon, 16 Aug 2021 22:11:52 +0300 Subject: SL-14988 Overflow can keep flexi from updating --- indra/newview/llflexibleobject.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/newview/llflexibleobject.cpp') diff --git a/indra/newview/llflexibleobject.cpp b/indra/newview/llflexibleobject.cpp index e075a311c2..ea019bcb93 100644 --- a/indra/newview/llflexibleobject.cpp +++ b/indra/newview/llflexibleobject.cpp @@ -389,7 +389,8 @@ void LLVolumeImplFlexible::doIdleUpdate() U64 throttling_delay = (virtual_frame_num + id) % update_period; if ((throttling_delay == 0 && mLastFrameNum < virtual_frame_num) //one or more virtual frames per frame - || (mLastFrameNum + update_period < virtual_frame_num)) // missed virtual frame + || (mLastFrameNum + update_period < virtual_frame_num) // missed virtual frame + || mLastFrameNum > virtual_frame_num) // overflow { // We need mLastFrameNum to compensate for 'unreliable time' and to filter 'duplicate' frames // If happened too late, subtract throttling_delay (it is zero otherwise) -- cgit v1.2.3 From 4a4838aa83f85c405ab2a0354b1da35a9fe5b92c Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Mon, 16 Aug 2021 22:33:27 +0300 Subject: SL-14988 Removed redundant check Potentially a result of a merge conflict, same check and recorder are inside doFlexibleUpdate(); --- indra/newview/llflexibleobject.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'indra/newview/llflexibleobject.cpp') diff --git a/indra/newview/llflexibleobject.cpp b/indra/newview/llflexibleobject.cpp index ea019bcb93..2e9c804b21 100644 --- a/indra/newview/llflexibleobject.cpp +++ b/indra/newview/llflexibleobject.cpp @@ -788,11 +788,7 @@ BOOL LLVolumeImplFlexible::doUpdateGeometry(LLDrawable *drawable) volume->updateRelativeXform(); - if (mRenderRes > -1) - { - LL_RECORD_BLOCK_TIME(FTM_DO_FLEXIBLE_UPDATE); - doFlexibleUpdate(); - } + doFlexibleUpdate(); // Object may have been rotated, which means it needs a rebuild. See SL-47220 BOOL rotated = FALSE; -- cgit v1.2.3 From a426e8ddb31260cbc56106d433d967ebcb9b99aa Mon Sep 17 00:00:00 2001 From: Andrey Lihatskiy Date: Fri, 27 May 2022 19:05:14 +0300 Subject: DRTVWR-543 post-merge cleanup --- indra/newview/llflexibleobject.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'indra/newview/llflexibleobject.cpp') diff --git a/indra/newview/llflexibleobject.cpp b/indra/newview/llflexibleobject.cpp index 9b1a1d4e85..d5115df35f 100644 --- a/indra/newview/llflexibleobject.cpp +++ b/indra/newview/llflexibleobject.cpp @@ -788,10 +788,7 @@ BOOL LLVolumeImplFlexible::doUpdateGeometry(LLDrawable *drawable) volume->updateRelativeXform(); - if (mRenderRes > -1) - { - doFlexibleUpdate(); - } + doFlexibleUpdate(); // Object may have been rotated, which means it needs a rebuild. See SL-47220 BOOL rotated = FALSE; -- cgit v1.2.3