diff options
| author | Xiaohong Bao <bao@lindenlab.com> | 2012-07-12 17:54:38 -0600 | 
|---|---|---|
| committer | Xiaohong Bao <bao@lindenlab.com> | 2012-07-12 17:54:38 -0600 | 
| commit | 0660f646e11e9b9afacd228ad43bd31c8c555ad7 (patch) | |
| tree | 335e19bf0de497f95613d973a4a8ad552448b40e /indra | |
| parent | 0cbeee19d79978ea143804737633dcb5afc8af9c (diff) | |
fix for SH-3237: cached sculpties do not load at the correct LOD.
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/llviewertexture.cpp | 3 | ||||
| -rw-r--r-- | indra/newview/llvovolume.cpp | 4 | 
2 files changed, 4 insertions, 3 deletions
| diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index 077056b66a..27415270e6 100644 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -1355,9 +1355,10 @@ void LLViewerFetchedTexture::setForSculpt()  	static const S32 MAX_INTERVAL = 8 ; //frames  	mForSculpt = TRUE ; -	if(isForSculptOnly() && !getBoundRecently()) +	if(isForSculptOnly() && hasGLTexture() && !getBoundRecently())  	{  		destroyGLTexture() ; //sculpt image does not need gl texture. +		mTextureState = ACTIVE;  	}  	checkCachedRawSculptImage() ;  	setMaxVirtualSizeResetInterval(MAX_INTERVAL) ; diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index b5d173346e..2f13f2b1a6 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -833,7 +833,7 @@ void LLVOVolume::updateTextureVirtualSize(bool forced)  				}  			} -			S32 texture_discard = mSculptTexture->getDiscardLevel(); //try to match the texture +			S32 texture_discard = mSculptTexture->getCachedRawImageLevel(); //try to match the texture  			S32 current_discard = getVolume() ? getVolume()->getSculptLevel() : -2 ;  			if (texture_discard >= 0 && //texture has some data available @@ -1116,7 +1116,7 @@ void LLVOVolume::sculpt()  		S8 sculpt_components = 0;  		const U8* sculpt_data = NULL; -		S32 discard_level = mSculptTexture->getDiscardLevel() ; +		S32 discard_level = mSculptTexture->getCachedRawImageLevel() ;  		LLImageRaw* raw_image = mSculptTexture->getCachedRawImage() ;  		S32 max_discard = mSculptTexture->getMaxDiscardLevel(); | 
