summaryrefslogtreecommitdiff
path: root/indra/newview/llviewertexture.cpp
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2010-02-22 14:15:58 -0500
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2010-02-22 14:15:58 -0500
commitbd84d36c9d08878c895c896e097e8e3310b61cf3 (patch)
treee2e333ba15c131dfb25c4baf54bcb98fd2a3bd46 /indra/newview/llviewertexture.cpp
parent00fdc0acd5e27d353c070706e838a35bf889a536 (diff)
parent04712617c55c53dbec1f73a4e8834ebe3167e5ed (diff)
merge
Diffstat (limited to 'indra/newview/llviewertexture.cpp')
-rw-r--r--indra/newview/llviewertexture.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp
index 28998d409e..6add8a7e92 100644
--- a/indra/newview/llviewertexture.cpp
+++ b/indra/newview/llviewertexture.cpp
@@ -293,6 +293,8 @@ void LLViewerTextureManager::init()
}
}
imagep->createGLTexture(0, image_raw);
+ //cache the raw image
+ imagep->setCachedRawImage(0, image_raw) ;
image_raw = NULL;
#else
LLViewerFetchedTexture::sDefaultImagep = LLViewerTextureManager::getFetchedTexture(IMG_DEFAULT, TRUE, LLViewerTexture::BOOST_UI);
@@ -799,12 +801,18 @@ BOOL LLViewerTexture::createGLTexture(S32 discard_level, const LLImageRaw* image
{
mFullWidth = mGLTexturep->getCurrentWidth() ;
mFullHeight = mGLTexturep->getCurrentHeight() ;
- mComponents = mGLTexturep->getComponents() ;
+ mComponents = mGLTexturep->getComponents() ;
}
return ret ;
}
+//virtual
+void LLViewerTexture::setCachedRawImage(S32 discard_level, LLImageRaw* imageraw)
+{
+ //nothing here.
+}
+
void LLViewerTexture::setExplicitFormat(LLGLint internal_format, LLGLenum primary_format, LLGLenum type_format, BOOL swap_bytes)
{
llassert(mGLTexturep.notNull()) ;
@@ -2354,6 +2362,18 @@ void LLViewerFetchedTexture::switchToCachedImage()
}
}
+//cache the imageraw forcefully.
+//virtual
+void LLViewerFetchedTexture::setCachedRawImage(S32 discard_level, LLImageRaw* imageraw)
+{
+ if(imageraw != mRawImage.get())
+ {
+ mCachedRawImage = imageraw ;
+ mCachedRawDiscardLevel = discard_level ;
+ mCachedRawImageReady = TRUE ;
+ }
+}
+
void LLViewerFetchedTexture::setCachedRawImage()
{
if(mRawImage == mCachedRawImage)