summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorXiaohong Bao <bao@lindenlab.com>2012-07-12 17:54:38 -0600
committerXiaohong Bao <bao@lindenlab.com>2012-07-12 17:54:38 -0600
commit0660f646e11e9b9afacd228ad43bd31c8c555ad7 (patch)
tree335e19bf0de497f95613d973a4a8ad552448b40e /indra/newview
parent0cbeee19d79978ea143804737633dcb5afc8af9c (diff)
fix for SH-3237: cached sculpties do not load at the correct LOD.
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llviewertexture.cpp3
-rw-r--r--indra/newview/llvovolume.cpp4
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();