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 ;
|
mSavedRawDiscardLevel = -1 ;
|
||||||
mDesiredSavedRawDiscardLevel = -1 ;
|
mDesiredSavedRawDiscardLevel = -1 ;
|
||||||
mLastReferencedSavedRawImageTime = 0.0f ;
|
mLastReferencedSavedRawImageTime = 0.0f ;
|
||||||
|
mKeptSavedRawImageTime = 0.f ;
|
||||||
mLastCallBackActiveTime = 0.f;
|
mLastCallBackActiveTime = 0.f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1450,9 +1451,16 @@ BOOL LLViewerFetchedTexture::createTexture(S32 usename/*= 0*/)
|
|||||||
mOrigWidth = mRawImage->getWidth();
|
mOrigWidth = mRawImage->getWidth();
|
||||||
mOrigHeight = mRawImage->getHeight();
|
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();
|
mFullWidth = mRawImage->getWidth();
|
||||||
mFullHeight = mRawImage->getHeight();
|
mFullHeight = mRawImage->getHeight();
|
||||||
setTexelsPerImage();
|
setTexelsPerImage();
|
||||||
@@ -2738,8 +2746,16 @@ void LLViewerFetchedTexture::saveRawImage()
|
|||||||
mLastReferencedSavedRawImageTime = sCurrentTime ;
|
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)
|
if(!mForceToSaveRawImage || mDesiredSavedRawDiscardLevel < 0 || mDesiredSavedRawDiscardLevel > desired_discard)
|
||||||
{
|
{
|
||||||
mForceToSaveRawImage = TRUE ;
|
mForceToSaveRawImage = TRUE ;
|
||||||
@@ -2760,6 +2776,14 @@ void LLViewerFetchedTexture::forceToSaveRawImage(S32 desired_discard)
|
|||||||
}
|
}
|
||||||
void LLViewerFetchedTexture::destroySavedRawImage()
|
void LLViewerFetchedTexture::destroySavedRawImage()
|
||||||
{
|
{
|
||||||
|
if(mLastReferencedSavedRawImageTime < mKeptSavedRawImageTime)
|
||||||
|
{
|
||||||
|
return ; //keep the saved raw image.
|
||||||
|
}
|
||||||
|
|
||||||
|
mForceToSaveRawImage = FALSE ;
|
||||||
|
mSaveRawImage = FALSE ;
|
||||||
|
|
||||||
clearCallbackEntryList() ;
|
clearCallbackEntryList() ;
|
||||||
|
|
||||||
mSavedRawImage = NULL ;
|
mSavedRawImage = NULL ;
|
||||||
@@ -2768,6 +2792,7 @@ void LLViewerFetchedTexture::destroySavedRawImage()
|
|||||||
mSavedRawDiscardLevel = -1 ;
|
mSavedRawDiscardLevel = -1 ;
|
||||||
mDesiredSavedRawDiscardLevel = -1 ;
|
mDesiredSavedRawDiscardLevel = -1 ;
|
||||||
mLastReferencedSavedRawImageTime = 0.0f ;
|
mLastReferencedSavedRawImageTime = 0.0f ;
|
||||||
|
mKeptSavedRawImageTime = 0.f ;
|
||||||
}
|
}
|
||||||
|
|
||||||
LLImageRaw* LLViewerFetchedTexture::getSavedRawImage()
|
LLImageRaw* LLViewerFetchedTexture::getSavedRawImage()
|
||||||
|
|||||||
@@ -473,7 +473,7 @@ public:
|
|||||||
S32 getCachedRawImageLevel() const {return mCachedRawDiscardLevel;}
|
S32 getCachedRawImageLevel() const {return mCachedRawDiscardLevel;}
|
||||||
BOOL isCachedRawImageReady() const {return mCachedRawImageReady ;}
|
BOOL isCachedRawImageReady() const {return mCachedRawImageReady ;}
|
||||||
BOOL isRawImageValid()const { return mIsRawImageValid ; }
|
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) ;
|
/*virtual*/ void setCachedRawImage(S32 discard_level, LLImageRaw* imageraw) ;
|
||||||
void destroySavedRawImage() ;
|
void destroySavedRawImage() ;
|
||||||
LLImageRaw* getSavedRawImage() ;
|
LLImageRaw* getSavedRawImage() ;
|
||||||
@@ -559,6 +559,7 @@ protected:
|
|||||||
S32 mSavedRawDiscardLevel;
|
S32 mSavedRawDiscardLevel;
|
||||||
S32 mDesiredSavedRawDiscardLevel;
|
S32 mDesiredSavedRawDiscardLevel;
|
||||||
F32 mLastReferencedSavedRawImageTime ;
|
F32 mLastReferencedSavedRawImageTime ;
|
||||||
|
F32 mKeptSavedRawImageTime ;
|
||||||
|
|
||||||
//a small version of the copy of the raw image (<= 64 * 64)
|
//a small version of the copy of the raw image (<= 64 * 64)
|
||||||
LLPointer<LLImageRaw> mCachedRawImage;
|
LLPointer<LLImageRaw> mCachedRawImage;
|
||||||
|
|||||||
Reference in New Issue
Block a user