From 6a198eed3b784a0495e9710288bddcf73b44ae15 Mon Sep 17 00:00:00 2001 From: Xiaohong Bao Date: Thu, 16 Jul 2009 23:51:22 +0000 Subject: add a flag in LLImageGL to turn off calling LLImageGL::analyzeAlpha() and LLImageGL::updatePickMask(). --- indra/llrender/llimagegl.cpp | 11 +++++++++++ indra/llrender/llimagegl.h | 2 ++ 2 files changed, 13 insertions(+) (limited to 'indra/llrender') diff --git a/indra/llrender/llimagegl.cpp b/indra/llrender/llimagegl.cpp index a86a0aac23..311009064f 100644 --- a/indra/llrender/llimagegl.cpp +++ b/indra/llrender/llimagegl.cpp @@ -362,6 +362,7 @@ void LLImageGL::init(BOOL usemipmaps) mGLTextureCreated = FALSE ; mIsMask = FALSE; + mNeedsAlpahAndPickMask = TRUE ; } void LLImageGL::cleanup() @@ -1356,6 +1357,11 @@ void LLImageGL::setTarget(const LLGLenum target, const LLTexUnit::eTextureType b void LLImageGL::analyzeAlpha(const void* data_in, S32 w, S32 h) { + if(!mNeedsAlpahAndPickMask) + { + return ; + } + if (mFormatType != GL_UNSIGNED_BYTE) { llwarns << "Cannot analyze alpha for image with format type " << std::hex << mFormatType << std::dec << llendl; @@ -1416,6 +1422,11 @@ void LLImageGL::analyzeAlpha(const void* data_in, S32 w, S32 h) //---------------------------------------------------------------------------- void LLImageGL::updatePickMask(S32 width, S32 height, const U8* data_in) { + if(!mNeedsAlpahAndPickMask) + { + return ; + } + if (mFormatType != GL_UNSIGNED_BYTE || mFormatPrimary != GL_RGBA) { diff --git a/indra/llrender/llimagegl.h b/indra/llrender/llimagegl.h index 09210b1ef1..b58472d398 100644 --- a/indra/llrender/llimagegl.h +++ b/indra/llrender/llimagegl.h @@ -167,6 +167,7 @@ public: void init(BOOL usemipmaps); virtual void cleanup(); // Clean up the LLImageGL so it can be reinitialized. Be careful when using this in derived class destructors + void setNeedsAlpahAndPickMask(BOOL need_mask) {mNeedsAlpahAndPickMask = need_mask;} public: // Various GL/Rendering options S32 mTextureMemory; @@ -180,6 +181,7 @@ private: S8 mAutoGenMips; BOOL mIsMask; + BOOL mNeedsAlpahAndPickMask; bool mGLTextureCreated ; LLGLuint mTexName; -- cgit v1.2.3