From 28b0c4bbbf4a11290ddaa984b6928a2f88c0c12a Mon Sep 17 00:00:00 2001 From: Ansariel Date: Tue, 4 Dec 2018 20:01:01 +0100 Subject: [PATCH] FIRE-23331: Improve fix by only disabling skin matrix cache for own avatar if editing appearance (FSDisableRiggedMeshMatrixCaching setting left in place just in case) --- indra/newview/lldrawpoolavatar.cpp | 4 +++- indra/newview/llvoavatarself.cpp | 2 -- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index 3136b91b34..5dc7db2192 100644 --- a/indra/newview/lldrawpoolavatar.cpp +++ b/indra/newview/lldrawpoolavatar.cpp @@ -1923,7 +1923,9 @@ LLMatrix4a* LLDrawPoolAvatar::getCacheSkinningMats(LLDrawable* drawable, const L } static LLCachedControl disableMatCache(gSavedSettings, "FSDisableRiggedMeshMatrixCaching"); // FIRE-23331 - disable matrix caching during appearance update due to weird side effects - if (disableMatCache || (drawable->mSkinningMatCache && LLFrameTimer::getFrameCount() != drawable->mLastSkinningMatCacheFrame)) + if (disableMatCache || + (avatar->isSelf() && avatar->isEditingAppearance()) || + (drawable->mSkinningMatCache && LLFrameTimer::getFrameCount() != drawable->mLastSkinningMatCacheFrame)) { // LL_DEBUGS("Skinning") << "Call InitSkinningMatrixPalette for drawable @" << (U64)drawable << LL_ENDL; // add caching of matrix pallette as high up the stack as we can diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index 9d1b93d105..a2b561d9cb 100644 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -3211,7 +3211,6 @@ void LLVOAvatarSelf::onCustomizeStart(bool disable_camera_switch) gAgentAvatarp->mIsEditingAppearance = true; gAgentAvatarp->mUseLocalAppearance = true; - gSavedSettings.setBOOL("FSDisableRiggedMeshMatrixCaching", true); // FIRE-23331 - disable matrix caching during appearance update due to weird side effects if (gSavedSettings.getBOOL("AppearanceCameraMovement") && !disable_camera_switch) { gAgentCamera.changeCameraToCustomizeAvatar(); @@ -3235,7 +3234,6 @@ void LLVOAvatarSelf::onCustomizeEnd(bool disable_camera_switch) if (isAgentAvatarValid()) { gAgentAvatarp->mIsEditingAppearance = false; - gSavedSettings.setBOOL("FSDisableRiggedMeshMatrixCaching", false); // FIRE-23331 - disable matrix caching during appearance update due to weird side effects // [Legacy Bake] if (gAgentAvatarp->getRegion() && !gAgentAvatarp->getRegion()->getCentralBakeVersion()) {