Automated merge with ssh://hg.lindenlab.com/viewer/viewer-2-0
commit
39efc3de51
|
|
@ -2121,10 +2121,11 @@ LLImageRaw* LLViewerFetchedTexture::reloadRawImage(S8 discard_level)
|
|||
llassert_always(mGLTexturep.notNull()) ;
|
||||
llassert_always(discard_level >= 0);
|
||||
llassert_always(mComponents > 0);
|
||||
|
||||
if (mRawImage.notNull())
|
||||
{
|
||||
llerrs << "called with existing mRawImage" << llendl;
|
||||
mRawImage = NULL;
|
||||
//mRawImage is in use by somebody else, do not delete it.
|
||||
return NULL ;
|
||||
}
|
||||
|
||||
if(mSavedRawDiscardLevel >= 0 && mSavedRawDiscardLevel <= discard_level)
|
||||
|
|
|
|||
|
|
@ -287,17 +287,22 @@ BOOL LLVLComposition::generateTexture(const F32 x, const F32 y,
|
|||
min_dim /= 2;
|
||||
}
|
||||
|
||||
mDetailTextures[i]->reloadRawImage(ddiscard) ;
|
||||
BOOL delete_raw = (mDetailTextures[i]->reloadRawImage(ddiscard) != NULL) ;
|
||||
if(mDetailTextures[i]->getRawImageLevel() != ddiscard)//raw iamge is not ready, will enter here again later.
|
||||
{
|
||||
mDetailTextures[i]->destroyRawImage() ;
|
||||
if(delete_raw)
|
||||
{
|
||||
mDetailTextures[i]->destroyRawImage() ;
|
||||
}
|
||||
lldebugs << "cached raw data for terrain detail texture is not ready yet: " << mDetailTextures[i]->getID() << llendl;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
mRawImages[i] = mDetailTextures[i]->getRawImage() ;
|
||||
mDetailTextures[i]->destroyRawImage() ;
|
||||
|
||||
if(delete_raw)
|
||||
{
|
||||
mDetailTextures[i]->destroyRawImage() ;
|
||||
}
|
||||
if (mDetailTextures[i]->getWidth(ddiscard) != BASE_SIZE ||
|
||||
mDetailTextures[i]->getHeight(ddiscard) != BASE_SIZE ||
|
||||
mDetailTextures[i]->getComponents() != 3)
|
||||
|
|
|
|||
Loading…
Reference in New Issue