LLViewerTexture now has the ability to prevent raw images from being dumped for a specified period of time. Unused for now. Relates to mesh import. Also, BOOST_PREVIEW textures bumped to PO2.
This commit is contained in:
@@ -1191,6 +1191,7 @@ void LLViewerFetchedTexture::init(bool firstinit)
|
||||
mSavedRawDiscardLevel = -1 ;
|
||||
mDesiredSavedRawDiscardLevel = -1 ;
|
||||
mLastReferencedSavedRawImageTime = 0.0f ;
|
||||
mKeptSavedRawImageTime = 0.f ;
|
||||
mLastCallBackActiveTime = 0.f;
|
||||
}
|
||||
|
||||
@@ -1450,9 +1451,16 @@ BOOL LLViewerFetchedTexture::createTexture(S32 usename/*= 0*/)
|
||||
mOrigWidth = mRawImage->getWidth();
|
||||
mOrigHeight = mRawImage->getHeight();
|
||||
|
||||
// leave black border, do not scale image content
|
||||
mRawImage->expandToPowerOfTwo(MAX_IMAGE_SIZE, FALSE);
|
||||
|
||||
if (mBoostLevel == BOOST_PREVIEW)
|
||||
{
|
||||
mRawImage->biasedScaleToPowerOfTwo(1024);
|
||||
}
|
||||
else
|
||||
{ // leave black border, do not scale image content
|
||||
mRawImage->expandToPowerOfTwo(MAX_IMAGE_SIZE, FALSE);
|
||||
}
|
||||
|
||||
mFullWidth = mRawImage->getWidth();
|
||||
mFullHeight = mRawImage->getHeight();
|
||||
setTexelsPerImage();
|
||||
@@ -2738,8 +2746,16 @@ void LLViewerFetchedTexture::saveRawImage()
|
||||
mLastReferencedSavedRawImageTime = sCurrentTime ;
|
||||
}
|
||||
|
||||
void LLViewerFetchedTexture::forceToSaveRawImage(S32 desired_discard)
|
||||
void LLViewerFetchedTexture::forceToSaveRawImage(S32 desired_discard, F32 kept_time)
|
||||
{
|
||||
mKeptSavedRawImageTime = kept_time ;
|
||||
mLastReferencedSavedRawImageTime = sCurrentTime ;
|
||||
|
||||
if(mSavedRawDiscardLevel > -1 && mSavedRawDiscardLevel <= desired_discard)
|
||||
{
|
||||
return ; //raw imge is ready.
|
||||
}
|
||||
|
||||
if(!mForceToSaveRawImage || mDesiredSavedRawDiscardLevel < 0 || mDesiredSavedRawDiscardLevel > desired_discard)
|
||||
{
|
||||
mForceToSaveRawImage = TRUE ;
|
||||
@@ -2760,6 +2776,14 @@ void LLViewerFetchedTexture::forceToSaveRawImage(S32 desired_discard)
|
||||
}
|
||||
void LLViewerFetchedTexture::destroySavedRawImage()
|
||||
{
|
||||
if(mLastReferencedSavedRawImageTime < mKeptSavedRawImageTime)
|
||||
{
|
||||
return ; //keep the saved raw image.
|
||||
}
|
||||
|
||||
mForceToSaveRawImage = FALSE ;
|
||||
mSaveRawImage = FALSE ;
|
||||
|
||||
clearCallbackEntryList() ;
|
||||
|
||||
mSavedRawImage = NULL ;
|
||||
@@ -2768,6 +2792,7 @@ void LLViewerFetchedTexture::destroySavedRawImage()
|
||||
mSavedRawDiscardLevel = -1 ;
|
||||
mDesiredSavedRawDiscardLevel = -1 ;
|
||||
mLastReferencedSavedRawImageTime = 0.0f ;
|
||||
mKeptSavedRawImageTime = 0.f ;
|
||||
}
|
||||
|
||||
LLImageRaw* LLViewerFetchedTexture::getSavedRawImage()
|
||||
|
||||
@@ -473,7 +473,7 @@ public:
|
||||
S32 getCachedRawImageLevel() const {return mCachedRawDiscardLevel;}
|
||||
BOOL isCachedRawImageReady() const {return mCachedRawImageReady ;}
|
||||
BOOL isRawImageValid()const { return mIsRawImageValid ; }
|
||||
void forceToSaveRawImage(S32 desired_discard = 0) ;
|
||||
void forceToSaveRawImage(S32 desired_discard = 0, F32 kept_time = 0.f) ;
|
||||
/*virtual*/ void setCachedRawImage(S32 discard_level, LLImageRaw* imageraw) ;
|
||||
void destroySavedRawImage() ;
|
||||
LLImageRaw* getSavedRawImage() ;
|
||||
@@ -559,6 +559,7 @@ protected:
|
||||
S32 mSavedRawDiscardLevel;
|
||||
S32 mDesiredSavedRawDiscardLevel;
|
||||
F32 mLastReferencedSavedRawImageTime ;
|
||||
F32 mKeptSavedRawImageTime ;
|
||||
|
||||
//a small version of the copy of the raw image (<= 64 * 64)
|
||||
LLPointer<LLImageRaw> mCachedRawImage;
|
||||
|
||||
Reference in New Issue
Block a user