FIRE-23331: Improve fix by only disabling skin matrix cache for own avatar if editing appearance (FSDisableRiggedMeshMatrixCaching setting left in place just in case)

meow-7.2.2
Ansariel 2018-12-04 20:01:01 +01:00
parent fba3d93774
commit 28b0c4bbbf
2 changed files with 3 additions and 3 deletions

View File

@ -1923,7 +1923,9 @@ LLMatrix4a* LLDrawPoolAvatar::getCacheSkinningMats(LLDrawable* drawable, const L
}
static LLCachedControl<bool> disableMatCache(gSavedSettings, "FSDisableRiggedMeshMatrixCaching"); // <FS:Beq> 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;
//<FS:Beq> add caching of matrix pallette as high up the stack as we can

View File

@ -3211,7 +3211,6 @@ void LLVOAvatarSelf::onCustomizeStart(bool disable_camera_switch)
gAgentAvatarp->mIsEditingAppearance = true;
gAgentAvatarp->mUseLocalAppearance = true;
gSavedSettings.setBOOL("FSDisableRiggedMeshMatrixCaching", true); // <FS:Beq> 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); // <FS:Beq> FIRE-23331 - disable matrix caching during appearance update due to weird side effects
// <FS:Ansariel> [Legacy Bake]
if (gAgentAvatarp->getRegion() && !gAgentAvatarp->getRegion()->getCentralBakeVersion())
{