diff options
Diffstat (limited to 'indra')
| -rwxr-xr-x | indra/newview/app_settings/settings.xml | 11 | ||||
| -rw-r--r-- | indra/newview/llappviewer.cpp | 13 | ||||
| -rwxr-xr-x | indra/newview/lltexturefetch.cpp | 23 | ||||
| -rw-r--r-- | indra/newview/lltexturefetch.h | 6 | ||||
| -rw-r--r-- | indra/newview/llviewerfloaterreg.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/llviewermenu.cpp | 11 | ||||
| -rw-r--r-- | indra/newview/llviewertexture.cpp | 5 | ||||
| -rw-r--r-- | indra/newview/llviewertexture.h | 1 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/menu_viewer.xml | 24 | 
9 files changed, 78 insertions, 22 deletions
| diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index d24d1ebd6d..c2f3d244f3 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -10697,6 +10697,17 @@        <key>Value</key>        <integer>0</integer>      </map> +    <key>TextureFetchDebuggerEnabled</key> +    <map> +      <key>Comment</key> +      <string>Enable the texture fetching debugger if set</string> +      <key>Persist</key> +      <integer>1</integer> +      <key>Type</key> +      <string>Boolean</string> +      <key>Value</key> +      <integer>0</integer> +    </map>      <key>TextureLoadFullRes</key>      <map>        <key>Comment</key> diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index bb6658dc48..178b96e42e 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1405,12 +1405,15 @@ bool LLAppViewer::mainLoop()  				}									  				//texture fetching debugger -				LLFloaterTextureFetchDebugger* tex_fetch_debugger_instance = -					LLFloaterReg::findTypedInstance<LLFloaterTextureFetchDebugger>("tex_fetch_debugger"); -				if(tex_fetch_debugger_instance) +				if(LLTextureFetchDebugger::isEnabled())  				{ -					tex_fetch_debugger_instance->idle() ;				 -				}		 +					LLFloaterTextureFetchDebugger* tex_fetch_debugger_instance = +						LLFloaterReg::findTypedInstance<LLFloaterTextureFetchDebugger>("tex_fetch_debugger"); +					if(tex_fetch_debugger_instance) +					{ +						tex_fetch_debugger_instance->idle() ;				 +					} +				}  				if ((LLStartUp::getStartupState() >= STATE_CLEANUP) &&  					(frameTimer.getElapsedTimeF64() > FRAME_STALL_THRESHOLD)) diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index 59a125dcc5..efb6ed6079 100755 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -56,6 +56,7 @@  #include "llstartup.h"  #include "llviewerstats.h" +bool LLTextureFetchDebugger::sDebuggerEnabled = false ;  LLStat LLTextureFetch::sCacheHitRate("texture_cache_hits", 128);  LLStat LLTextureFetch::sCacheReadLatency("texture_cache_read_latency", 128); @@ -1424,7 +1425,7 @@ bool LLTextureFetchWorker::doWork(S32 param)  	{  		if (mDecoded)  		{ -			if(!mInLocalCache) +			if(mFetcher->getFetchDebugger() && !mInLocalCache)  			{  				mFetcher->getFetchDebugger()->addHistoryEntry(this);  			} @@ -1858,13 +1859,18 @@ LLTextureFetch::LLTextureFetch(LLTextureCache* cache, LLImageDecodeThread* image  	  mHTTPTextureBits(0),  	  mTotalHTTPRequests(0),  	  mCurlGetRequest(NULL), -	  mQAMode(qa_mode) +	  mQAMode(qa_mode), +	  mFetchDebugger(NULL)  {  	mCurlPOSTRequestCount = 0;  	mMaxBandwidth = gSavedSettings.getF32("ThrottleBandwidthKBPS");  	mTextureInfo.setUpLogging(gSavedSettings.getBOOL("LogTextureDownloadsToViewerLog"), gSavedSettings.getBOOL("LogTextureDownloadsToSimulator"), gSavedSettings.getU32("TextureLoggingThreshold")); -	mFetchDebugger = new LLTextureFetchDebugger(this, cache, imagedecodethread) ; +	LLTextureFetchDebugger::sDebuggerEnabled = gSavedSettings.getBOOL("TextureFetchDebuggerEnabled"); +	if(LLTextureFetchDebugger::isEnabled()) +	{ +		mFetchDebugger = new LLTextureFetchDebugger(this, cache, imagedecodethread) ; +	}  }  LLTextureFetch::~LLTextureFetch() @@ -2311,7 +2317,11 @@ void LLTextureFetch::startThread()  {  	// Construct mCurlGetRequest from Worker Thread  	mCurlGetRequest = new LLCurlRequest(); -	mFetchDebugger->setCurlGetRequest(mCurlGetRequest); +	 +	if(mFetchDebugger) +	{ +		mFetchDebugger->setCurlGetRequest(mCurlGetRequest); +	}  }  // WORKER THREAD @@ -2320,7 +2330,10 @@ void LLTextureFetch::endThread()  	// Destroy mCurlGetRequest from Worker Thread  	delete mCurlGetRequest;  	mCurlGetRequest = NULL; -	mFetchDebugger->setCurlGetRequest(NULL); +	if(mFetchDebugger) +	{ +		mFetchDebugger->setCurlGetRequest(NULL); +	}  }  // WORKER THREAD diff --git a/indra/newview/lltexturefetch.h b/indra/newview/lltexturefetch.h index 3b08389042..107e1623b0 100644 --- a/indra/newview/lltexturefetch.h +++ b/indra/newview/lltexturefetch.h @@ -230,6 +230,7 @@ public:  //debug use  class LLTextureFetchDebugger  { +	friend class LLTextureFetch;  public:  	LLTextureFetchDebugger(LLTextureFetch* fetcher, LLTextureCache* cache, LLImageDecodeThread* imagedecodethread) ;  	~LLTextureFetchDebugger(); @@ -398,6 +399,11 @@ private:  	void unlockDecoder();  	S32 fillCurlQueue(); + +private: +	static bool sDebuggerEnabled; +public: +	static bool isEnabled() {return sDebuggerEnabled;}  };  #endif // LL_LLTEXTUREFETCH_H diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 986b8ac3c5..a7ca7a0836 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -228,7 +228,11 @@ void LLViewerFloaterReg::registerFloaters()  	LLFloaterReg::add("land_holdings", "floater_land_holdings.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterLandHoldings>);  	LLFloaterReg::add("mem_leaking", "floater_mem_leaking.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMemLeak>); -	LLFloaterReg::add("tex_fetch_debugger", "floater_texture_fetch_debugger.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterTextureFetchDebugger>); + +	if(gSavedSettings.getBOOL("TextureFetchDebuggerEnabled")) +	{ +		LLFloaterReg::add("tex_fetch_debugger", "floater_texture_fetch_debugger.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterTextureFetchDebugger>); +	}  	LLFloaterReg::add("media_settings", "floater_media_settings.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMediaSettings>);	  	LLFloaterReg::add("message_critical", "floater_critical.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterTOS>);  	LLFloaterReg::add("message_tos", "floater_tos.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterTOS>); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 7bdfd6df1d..2a3ba4e603 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -2286,6 +2286,14 @@ class LLDevelopSetLoggingLevel : public view_listener_t  	}  }; +class LLDevelopTextureFetchDebugger : public view_listener_t +{ +	bool handleEvent(const LLSD& userdata) +	{ +		return gSavedSettings.getBOOL("TextureFetchDebuggerEnabled"); +	} +}; +  //////////////////  // ADMIN MENU   //  ////////////////// @@ -8308,6 +8316,9 @@ void initialize_menus()  	// Develop >Set logging level  	view_listener_t::addMenu(new LLDevelopCheckLoggingLevel(), "Develop.CheckLoggingLevel");  	view_listener_t::addMenu(new LLDevelopSetLoggingLevel(), "Develop.SetLoggingLevel"); +	 +	//Develop (Texture Fetch Debug Console) +	view_listener_t::addMenu(new LLDevelopTextureFetchDebugger(), "Develop.SetTexFetchDebugger");  	// Admin >Object  	view_listener_t::addMenu(new LLAdminForceTakeCopy(), "Admin.ForceTakeCopy"); diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index 90ba21ef34..d83a595220 100644 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -98,6 +98,8 @@ S32 LLViewerTexture::sMaxSmallImageSize = MAX_CACHED_RAW_IMAGE_AREA ;  BOOL LLViewerTexture::sFreezeImageScalingDown = FALSE ;  F32 LLViewerTexture::sCurrentTime = 0.0f ;  BOOL LLViewerTexture::sUseTextureAtlas        = FALSE ; +F32  LLViewerTexture::sTexelPixelRatio = 1.0f; +  LLViewerTexture::EDebugTexels LLViewerTexture::sDebugTexelsMode = LLViewerTexture::DEBUG_TEXELS_OFF;  const F32 desired_discard_bias_min = -2.0f; // -max number of levels to improve image quality by @@ -407,6 +409,7 @@ void LLViewerTextureManager::cleanup()  void LLViewerTexture::initClass()  {  	LLImageGL::sDefaultGLTexture = LLViewerFetchedTexture::sDefaultImagep->getGLTexture() ; +	sTexelPixelRatio = gSavedSettings.getF32("TexelPixelRatio");  }  // static @@ -723,8 +726,6 @@ void LLViewerTexture::forceImmediateUpdate()  void LLViewerTexture::addTextureStats(F32 virtual_size, BOOL needs_gltexture) const   { -	static LLCachedControl<F32>  sTexelPixelRatio(gSavedSettings,"TexelPixelRatio"); -  	if(needs_gltexture)  	{  		mNeedsGLTexture = TRUE ; diff --git a/indra/newview/llviewertexture.h b/indra/newview/llviewertexture.h index 95896f9d41..41bf625225 100644 --- a/indra/newview/llviewertexture.h +++ b/indra/newview/llviewertexture.h @@ -310,6 +310,7 @@ protected:  	} LLGLTextureState;  	LLGLTextureState  mTextureState ; +	static F32 sTexelPixelRatio;  public:  	static const U32 sCurrentFileVersion;	  	static S32 sImageCount; diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index a1f17ffc17..5d46b0f98d 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -1876,14 +1876,7 @@                  <menu_item_check.on_click                   function="Advanced.ToggleConsole"                   parameter="texture" /> -            </menu_item_check> -          <menu_item_call -          label="Texture Fetch Debug Console" -          name="Texture Fetch Debug Console"> -            <menu_item_call.on_click -             function="Floater.Show" -             parameter="tex_fetch_debugger" /> -          </menu_item_call> +            </menu_item_check>                          <menu_item_check               label="Debug Console"               name="Debug Console" @@ -1938,7 +1931,20 @@                 function="Advanced.ToggleConsole"                 parameter="scene view" />              </menu_item_check> - +            <menu_item_call +              enabled="false" +              visible="false" +              label="Texture Fetch Debug Console" +              name="Texture Fetch Debug Console"> +              <menu_item_call.on_click +                function="Floater.Show" +                parameter="tex_fetch_debugger" /> +              <on_enable +                function="Develop.SetTexFetchDebugger" /> +              <on_visible +                function="Develop.SetTexFetchDebugger" /> +            </menu_item_call> +                        <menu_item_separator/>              <menu_item_call | 
