Texture console now shows number of 'cached' raw images.

png loading now immediately dumps allocated data on failure
This commit is contained in:
Shyotl
2011-04-07 03:16:11 -05:00
parent 6e437d4188
commit 3a3805fd18
6 changed files with 44 additions and 7 deletions

View File

@@ -496,14 +496,14 @@ void LLGLTexMemBar::draw()
#endif
//----------------------------------------------------------------------------
text = llformat("Textures: %d Fetch: %d(%d) Pkts:%d(%d) Cache R/W: %d/%d LFS:%d IW:%d RAW:%d HTP:%d DEC:%d CRE:%d",
text = llformat("Textures: %d Fetch: %d(%d) Pkts:%d(%d) Cache R/W: %d/%d LFS:%d IW:%d RAW:%d(%d) HTP:%d DEC:%d CRE:%d ",
gTextureList.getNumImages(),
LLAppViewer::getTextureFetch()->getNumRequests(), LLAppViewer::getTextureFetch()->getNumDeletes(),
LLAppViewer::getTextureFetch()->mPacketCount, LLAppViewer::getTextureFetch()->mBadPacketCount,
LLAppViewer::getTextureCache()->getNumReads(), LLAppViewer::getTextureCache()->getNumWrites(),
LLLFSThread::sLocal->getPending(),
LLAppViewer::getImageDecodeThread()->getPending(),
LLImageRaw::sRawImageCount,
LLImageRaw::sRawImageCount, LLImageRaw::sRawImageCachedCount,
LLAppViewer::getTextureFetch()->getNumHTTPRequests(),
LLAppViewer::getImageDecodeThread()->getPending(),
gTextureList.mCreateTextureList.size());
@@ -511,7 +511,7 @@ void LLGLTexMemBar::draw()
LLFontGL::getFontMonospace()->renderUTF8(text, 0, 0, line_height*2,
text_color, LLFontGL::LEFT, LLFontGL::TOP);
left = 650;
left += LLFontGL::getFontMonospace()->getWidth(text);
F32 bandwidth = LLAppViewer::getTextureFetch()->getTextureBandwidth();
F32 max_bandwidth = gSavedSettings.getF32("ThrottleBandwidthKBPS");
color = bandwidth > max_bandwidth ? LLColor4::red : bandwidth > max_bandwidth*.75f ? LLColor4::yellow : text_color;

View File

@@ -1180,6 +1180,8 @@ void LLViewerFetchedTexture::init(bool firstinit)
mForSculpt = FALSE ;
mIsFetched = FALSE ;
if(!firstinit && mCachedRawImage.notNull())
mCachedRawImage->setInCache(false);
mCachedRawImage = NULL ;
mCachedRawDiscardLevel = -1 ;
mCachedRawImageReady = FALSE ;
@@ -1228,6 +1230,8 @@ void LLViewerFetchedTexture::cleanup()
// Clean up image data
destroyRawImage();
if(mCachedRawImage.notNull())
mCachedRawImage->setInCache(false);
mCachedRawImage = NULL ;
mCachedRawDiscardLevel = -1 ;
mCachedRawImageReady = FALSE ;
@@ -1354,6 +1358,8 @@ void LLViewerFetchedTexture::addToCreateTexture()
//discard the cached raw image and the saved raw image
mCachedRawImageReady = FALSE ;
mCachedRawDiscardLevel = -1 ;
if(mCachedRawImage.notNull())
mCachedRawImage->setInCache(false);
mCachedRawImage = NULL ;
mSavedRawDiscardLevel = -1 ;
mSavedRawImage = NULL ;
@@ -2617,7 +2623,11 @@ void LLViewerFetchedTexture::setCachedRawImage(S32 discard_level, LLImageRaw* im
{
if(imageraw != mRawImage.get())
{
if(mCachedRawImage.notNull())
mCachedRawImage->setInCache(false);
mCachedRawImage = imageraw ;
if(mCachedRawImage.notNull())
mCachedRawImage->setInCache(true);
mCachedRawDiscardLevel = discard_level ;
mCachedRawImageReady = TRUE ;
}
@@ -2674,7 +2684,11 @@ void LLViewerFetchedTexture::setCachedRawImage()
mRawImage->scale(w >> i, h >> i) ;
}
if(mCachedRawImage.notNull())
mCachedRawImage->setInCache(false);
mCachedRawImage = mRawImage ;
if(mCachedRawImage.notNull())
mCachedRawImage->setInCache(true);
mRawDiscardLevel += i ;
mCachedRawDiscardLevel = mRawDiscardLevel ;
}

View File

@@ -495,6 +495,7 @@ private:
void saveRawImage() ;
void setCachedRawImage() ;
void setCachedRawImagePtr(LLImageRaw *pRawImage) ;
//for atlas
/*void resetFaceAtlas() ;