diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llcommon/indra_constants.cpp | 1 | ||||
| -rw-r--r-- | indra/llcommon/indra_constants.h | 2 | ||||
| -rw-r--r-- | indra/newview/llappviewer.h | 1 | ||||
| -rw-r--r-- | indra/newview/lldrawpoolavatar.cpp | 10 | ||||
| -rw-r--r-- | indra/newview/llviewertexture.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/llviewertexture.h | 6 | ||||
| -rw-r--r-- | indra/newview/llviewertexturelist.cpp | 8 | 
7 files changed, 18 insertions, 11 deletions
| diff --git a/indra/llcommon/indra_constants.cpp b/indra/llcommon/indra_constants.cpp index 1d094cd4f4..60721977cd 100644 --- a/indra/llcommon/indra_constants.cpp +++ b/indra/llcommon/indra_constants.cpp @@ -68,4 +68,3 @@ const LLUUID TERRAIN_ROCK_DETAIL		("53a2f406-4895-1d13-d541-d2e3b86bc19c"); // V  const LLUUID DEFAULT_WATER_NORMAL		("822ded49-9a6c-f61c-cb89-6df54f42cdf4"); // VIEWER -const LLUUID IMG_BLACK_SQUARE	        ("3b39cc01-c2d1-e194-1181-e4404978b20c"); // On dataserver diff --git a/indra/llcommon/indra_constants.h b/indra/llcommon/indra_constants.h index 6d39aef32e..02f063f5e8 100644 --- a/indra/llcommon/indra_constants.h +++ b/indra/llcommon/indra_constants.h @@ -205,8 +205,6 @@ LL_COMMON_API extern const LLUUID TERRAIN_ROCK_DETAIL;  LL_COMMON_API extern const LLUUID DEFAULT_WATER_NORMAL; -LL_COMMON_API extern const LLUUID IMG_BLACK_SQUARE; -  // radius within which a chat message is fully audible  const F32 CHAT_NORMAL_RADIUS = 20.f; diff --git a/indra/newview/llappviewer.h b/indra/newview/llappviewer.h index 539881c80e..b5e674bd7b 100644 --- a/indra/newview/llappviewer.h +++ b/indra/newview/llappviewer.h @@ -410,6 +410,7 @@ extern BOOL gPrintMessagesThisFrame;  extern LLUUID gSunTextureID;  extern LLUUID gMoonTextureID; +extern LLUUID gBlackSquareID;  extern BOOL gRandomizeFramerate;  extern BOOL gPeriodicSlowFrame; diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index d4f37e51ef..f44e19dbe4 100644 --- a/indra/newview/lldrawpoolavatar.cpp +++ b/indra/newview/lldrawpoolavatar.cpp @@ -50,6 +50,7 @@  #include "llrendersphere.h"  #include "llviewerpartsim.h"  #include "llviewercontrol.h" // for gSavedSettings +#include "llviewertexturelist.h"  static U32 sDataMask = LLDrawPoolAvatar::VERTEX_DATA_MASK;  static U32 sBufferUsage = GL_STREAM_DRAW_ARB; @@ -63,6 +64,7 @@ BOOL	LLDrawPoolAvatar::sSkipTransparent = FALSE;  S32 LLDrawPoolAvatar::sDiffuseChannel = 0;  F32 LLDrawPoolAvatar::sMinimumAlpha = 0.2f; +LLUUID gBlackSquareID;  static bool is_deferred_render = false;  static bool is_post_deferred_render = false; @@ -1811,12 +1813,8 @@ void LLDrawPoolAvatar::renderRigged(LLVOAvatar* avatar, U32 type, bool glow)                  LLViewerTexture* specular = NULL;                  if (LLPipeline::sImpostorRender)                  { -                    std::vector<LLViewerFetchedTexture*> found; -                    LLViewerTextureManager::findFetchedTextures(IMG_BLACK_SQUARE, found); -                    if (1 <= found.size()) -                    { -                        specular = found[0]; -                    } +                    specular = LLViewerTextureManager::findFetchedTexture(gBlackSquareID, TEX_LIST_DISCARD); +                    llassert(NULL != specular);                  }                  else                  { diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index e2b8ff8e80..5a38ab5c9d 100644 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -1117,6 +1117,7 @@ void LLViewerFetchedTexture::init(bool firstinit)  	mLastCallBackActiveTime = 0.f;  	mForceCallbackFetch = FALSE;  	mInDebug = FALSE; +	mUnremovable = FALSE;  	mFTType = FTT_UNKNOWN;  } diff --git a/indra/newview/llviewertexture.h b/indra/newview/llviewertexture.h index a3f8db6907..8017d82604 100644 --- a/indra/newview/llviewertexture.h +++ b/indra/newview/llviewertexture.h @@ -346,7 +346,10 @@ public:  	bool updateFetch();  	bool setDebugFetching(S32 debug_level); -	bool isInDebug() {return mInDebug;} +	bool isInDebug() const { return mInDebug; } + +	void setUnremovable(BOOL value) { mUnremovable = value; } +	bool isUnremovable() const { return mUnremovable; }  	void clearFetchedResults(); //clear all fetched results, for debug use. @@ -435,6 +438,7 @@ private:  private:  	BOOL  mFullyLoaded;  	BOOL  mInDebug; +	BOOL  mUnremovable;  	BOOL  mInFastCacheList;  	BOOL  mForceCallbackFetch; diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp index 9ee5ed758f..be80fab8d2 100644 --- a/indra/newview/llviewertexturelist.cpp +++ b/indra/newview/llviewertexturelist.cpp @@ -184,6 +184,12 @@ void LLViewerTextureList::doPreloadImages()  		mImagePreloads.insert(image);  	} +	LLPointer<LLImageRaw> img_blak_square_tex(new LLImageRaw(2, 2, 3)); +	memset(img_blak_square_tex->getData(), 0, img_blak_square_tex->getDataSize()); +	LLPointer<LLViewerFetchedTexture> img_blak_square(new LLViewerFetchedTexture(img_blak_square_tex, FTT_DEFAULT, FALSE)); +	gBlackSquareID = img_blak_square->getID(); +	img_blak_square->setUnremovable(TRUE); +	addImage(img_blak_square, TEX_LIST_DISCARD);  }  static std::string get_texture_list_name() @@ -854,7 +860,7 @@ void LLViewerTextureList::updateImagesDecodePriorities()  			LLPointer<LLViewerFetchedTexture> imagep = iter->second;  			++iter; // safe to increment now -			if(imagep->isInDebug()) +			if(imagep->isInDebug() || imagep->isUnremovable())  			{  				update_counter--;  				continue; //is in debug, ignore. | 
