diff options
Diffstat (limited to 'indra/newview')
61 files changed, 690 insertions, 688 deletions
| diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp index 93e0cddd64..5fec0d927f 100755 --- a/indra/newview/llagentcamera.cpp +++ b/indra/newview/llagentcamera.cpp @@ -1126,14 +1126,14 @@ void LLAgentCamera::updateLookAt(const S32 mouse_x, const S32 mouse_y)  	}  } -static LLFastTimer::DeclareTimer FTM_UPDATE_CAMERA("Camera"); +static LLTrace::TimeBlock FTM_UPDATE_CAMERA("Camera");  //-----------------------------------------------------------------------------  // updateCamera()  //-----------------------------------------------------------------------------  void LLAgentCamera::updateCamera()  { -	LLFastTimer t(FTM_UPDATE_CAMERA); +	LL_RECORD_BLOCK_TIME(FTM_UPDATE_CAMERA);  	// - changed camera_skyward to the new global "mCameraUpVector"  	mCameraUpVector = LLVector3::z_axis; diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 9cd589c34a..c6229902f6 100755 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1237,24 +1237,24 @@ void LLAppViewer::checkMemory()  	}  } -static LLFastTimer::DeclareTimer FTM_MESSAGES("System Messages"); -static LLFastTimer::DeclareTimer FTM_SLEEP("Sleep"); -static LLFastTimer::DeclareTimer FTM_YIELD("Yield"); - -static LLFastTimer::DeclareTimer FTM_TEXTURE_CACHE("Texture Cache"); -static LLFastTimer::DeclareTimer FTM_DECODE("Image Decode"); -static LLFastTimer::DeclareTimer FTM_VFS("VFS Thread"); -static LLFastTimer::DeclareTimer FTM_LFS("LFS Thread"); -static LLFastTimer::DeclareTimer FTM_PAUSE_THREADS("Pause Threads"); -static LLFastTimer::DeclareTimer FTM_IDLE("Idle"); -static LLFastTimer::DeclareTimer FTM_PUMP("Pump"); -static LLFastTimer::DeclareTimer FTM_PUMP_ARES("Ares"); -static LLFastTimer::DeclareTimer FTM_PUMP_SERVICE("Service"); -static LLFastTimer::DeclareTimer FTM_SERVICE_CALLBACK("Callback"); -static LLFastTimer::DeclareTimer FTM_AGENT_AUTOPILOT("Autopilot"); -static LLFastTimer::DeclareTimer FTM_AGENT_UPDATE("Update"); - -LLFastTimer::DeclareTimer FTM_FRAME("Frame"); +static LLTrace::TimeBlock FTM_MESSAGES("System Messages"); +static LLTrace::TimeBlock FTM_SLEEP("Sleep"); +static LLTrace::TimeBlock FTM_YIELD("Yield"); + +static LLTrace::TimeBlock FTM_TEXTURE_CACHE("Texture Cache"); +static LLTrace::TimeBlock FTM_DECODE("Image Decode"); +static LLTrace::TimeBlock FTM_VFS("VFS Thread"); +static LLTrace::TimeBlock FTM_LFS("LFS Thread"); +static LLTrace::TimeBlock FTM_PAUSE_THREADS("Pause Threads"); +static LLTrace::TimeBlock FTM_IDLE("Idle"); +static LLTrace::TimeBlock FTM_PUMP("Pump"); +static LLTrace::TimeBlock FTM_PUMP_ARES("Ares"); +static LLTrace::TimeBlock FTM_PUMP_SERVICE("Service"); +static LLTrace::TimeBlock FTM_SERVICE_CALLBACK("Callback"); +static LLTrace::TimeBlock FTM_AGENT_AUTOPILOT("Autopilot"); +static LLTrace::TimeBlock FTM_AGENT_UPDATE("Update"); + +LLTrace::TimeBlock FTM_FRAME("Frame");  bool LLAppViewer::mainLoop()  { @@ -1295,7 +1295,7 @@ bool LLAppViewer::mainLoop()  	// Handle messages  	while (!LLApp::isExiting())  	{ -		LLFastTimer _(FTM_FRAME); +		LL_RECORD_BLOCK_TIME(FTM_FRAME);  		LLTrace::TimeBlock::processTimes();  		LLTrace::get_frame_recording().nextPeriod();  		LLTrace::TimeBlock::logStats(); @@ -1314,7 +1314,7 @@ bool LLAppViewer::mainLoop()  			if (gViewerWindow)  			{ -				LLFastTimer t2(FTM_MESSAGES); +				LL_RECORD_BLOCK_TIME(FTM_MESSAGES);  				gViewerWindow->getWindow()->processMiscNativeEvents();  			} @@ -1322,7 +1322,7 @@ bool LLAppViewer::mainLoop()  			if (gViewerWindow)  			{ -				LLFastTimer t2(FTM_MESSAGES); +				LL_RECORD_BLOCK_TIME(FTM_MESSAGES);  				if (!restoreErrorTrap())  				{  					LL_WARNS() << " Someone took over my signal/exception handler (post messagehandling)!" << LL_ENDL; @@ -1372,24 +1372,24 @@ bool LLAppViewer::mainLoop()  				{  					pauseMainloopTimeout(); // *TODO: Remove. Messages shouldn't be stalling for 20+ seconds! -					LLFastTimer t3(FTM_IDLE); +					LL_RECORD_BLOCK_TIME(FTM_IDLE);  					idle();  					if (gAres != NULL && gAres->isInitialized())  					{  						pingMainloopTimeout("Main:ServicePump");				 -						LLFastTimer t4(FTM_PUMP); +						LL_RECORD_BLOCK_TIME(FTM_PUMP);  						{ -							LLFastTimer t(FTM_PUMP_ARES); +							LL_RECORD_BLOCK_TIME(FTM_PUMP_ARES);  							gAres->process();  						}  						{ -							LLFastTimer t(FTM_PUMP_SERVICE); +							LL_RECORD_BLOCK_TIME(FTM_PUMP_SERVICE);  							// this pump is necessary to make the login screen show up  							gServicePump->pump();  							{ -								LLFastTimer t(FTM_SERVICE_CALLBACK); +								LL_RECORD_BLOCK_TIME(FTM_SERVICE_CALLBACK);  								gServicePump->callback();  							}  						} @@ -1425,12 +1425,12 @@ bool LLAppViewer::mainLoop()  			// Sleep and run background threads  			{ -				LLFastTimer t2(FTM_SLEEP); +				LL_RECORD_BLOCK_TIME(FTM_SLEEP);  				// yield some time to the os based on command line option  				if(mYieldTime >= 0)  				{ -					LLFastTimer t(FTM_YIELD); +					LL_RECORD_BLOCK_TIME(FTM_YIELD);  					ms_sleep(mYieldTime);  				} @@ -1476,11 +1476,11 @@ bool LLAppViewer::mainLoop()  					work_pending += updateTextureThreads(max_time);  					{ -						LLFastTimer ftm(FTM_VFS); +						LL_RECORD_BLOCK_TIME(FTM_VFS);  	 					io_pending += LLVFSThread::updateClass(1);  					}  					{ -						LLFastTimer ftm(FTM_LFS); +						LL_RECORD_BLOCK_TIME(FTM_LFS);  	 					io_pending += LLLFSThread::updateClass(1);  					} @@ -1595,15 +1595,15 @@ S32 LLAppViewer::updateTextureThreads(F32 max_time)  {  	S32 work_pending = 0;  	{ -		LLFastTimer ftm(FTM_TEXTURE_CACHE); +		LL_RECORD_BLOCK_TIME(FTM_TEXTURE_CACHE);   		work_pending += LLAppViewer::getTextureCache()->update(max_time); // unpauses the texture cache thread  	}  	{ -		LLFastTimer ftm(FTM_DECODE); +		LL_RECORD_BLOCK_TIME(FTM_DECODE);  	 	work_pending += LLAppViewer::getImageDecodeThread()->update(max_time); // unpauses the image thread  	}  	{ -		LLFastTimer ftm(FTM_DECODE); +		LL_RECORD_BLOCK_TIME(FTM_DECODE);  	 	work_pending += LLAppViewer::getTextureFetch()->update(max_time); // unpauses the texture fetch thread  	}  	return work_pending; @@ -4467,20 +4467,20 @@ public:  		}  }; -static LLFastTimer::DeclareTimer FTM_AUDIO_UPDATE("Update Audio"); -static LLFastTimer::DeclareTimer FTM_CLEANUP("Cleanup"); -static LLFastTimer::DeclareTimer FTM_CLEANUP_DRAWABLES("Drawables"); -static LLFastTimer::DeclareTimer FTM_CLEANUP_OBJECTS("Objects"); -static LLFastTimer::DeclareTimer FTM_IDLE_CB("Idle Callbacks"); -static LLFastTimer::DeclareTimer FTM_LOD_UPDATE("Update LOD"); -static LLFastTimer::DeclareTimer FTM_OBJECTLIST_UPDATE("Update Objectlist"); -static LLFastTimer::DeclareTimer FTM_REGION_UPDATE("Update Region"); -static LLFastTimer::DeclareTimer FTM_WORLD_UPDATE("Update World"); -static LLFastTimer::DeclareTimer FTM_NETWORK("Network"); -static LLFastTimer::DeclareTimer FTM_AGENT_NETWORK("Agent Network"); -static LLFastTimer::DeclareTimer FTM_VLMANAGER("VL Manager"); -static LLFastTimer::DeclareTimer FTM_AGENT_POSITION("Agent Position"); -static LLFastTimer::DeclareTimer FTM_HUD_EFFECTS("HUD Effects"); +static LLTrace::TimeBlock FTM_AUDIO_UPDATE("Update Audio"); +static LLTrace::TimeBlock FTM_CLEANUP("Cleanup"); +static LLTrace::TimeBlock FTM_CLEANUP_DRAWABLES("Drawables"); +static LLTrace::TimeBlock FTM_CLEANUP_OBJECTS("Objects"); +static LLTrace::TimeBlock FTM_IDLE_CB("Idle Callbacks"); +static LLTrace::TimeBlock FTM_LOD_UPDATE("Update LOD"); +static LLTrace::TimeBlock FTM_OBJECTLIST_UPDATE("Update Objectlist"); +static LLTrace::TimeBlock FTM_REGION_UPDATE("Update Region"); +static LLTrace::TimeBlock FTM_WORLD_UPDATE("Update World"); +static LLTrace::TimeBlock FTM_NETWORK("Network"); +static LLTrace::TimeBlock FTM_AGENT_NETWORK("Agent Network"); +static LLTrace::TimeBlock FTM_VLMANAGER("VL Manager"); +static LLTrace::TimeBlock FTM_AGENT_POSITION("Agent Position"); +static LLTrace::TimeBlock FTM_HUD_EFFECTS("HUD Effects");  ///////////////////////////////////////////////////////  // idle() @@ -4554,7 +4554,7 @@ void LLAppViewer::idle()  	if (!gDisconnected)  	{ -		LLFastTimer t(FTM_NETWORK); +		LL_RECORD_BLOCK_TIME(FTM_NETWORK);  		// Update spaceserver timeinfo  	    LLWorld::getInstance()->setSpaceTimeUSec(LLWorld::getInstance()->getSpaceTimeUSec() + LLUnits::Seconds::fromValue(dt_raw)); @@ -4570,7 +4570,7 @@ void LLAppViewer::idle()  		}  		{ -			LLFastTimer t(FTM_AGENT_AUTOPILOT); +			LL_RECORD_BLOCK_TIME(FTM_AGENT_AUTOPILOT);  			// Handle automatic walking towards points  			gAgentPilot.updateTarget();  			gAgent.autoPilot(&yaw); @@ -4585,7 +4585,7 @@ void LLAppViewer::idle()  	    if (flags_changed || (agent_update_time > (1.0f / (F32) AGENT_UPDATES_PER_SECOND)))  	    { -		    LLFastTimer t(FTM_AGENT_UPDATE); +		    LL_RECORD_BLOCK_TIME(FTM_AGENT_UPDATE);  		    // Send avatar and camera info  		    last_control_flags = gAgent.getControlFlags();  		    send_agent_update(TRUE); @@ -4634,7 +4634,7 @@ void LLAppViewer::idle()  	if (!gDisconnected)  	{ -		LLFastTimer t(FTM_NETWORK); +		LL_RECORD_BLOCK_TIME(FTM_NETWORK);  	    ////////////////////////////////////////////////  	    // @@ -4662,7 +4662,7 @@ void LLAppViewer::idle()  	//  	{ -// 		LLFastTimer t(FTM_IDLE_CB); +// 		LL_RECORD_BLOCK_TIME(FTM_IDLE_CB);  		// Do event notifications if necessary.  Yes, we may want to move this elsewhere.  		gEventNotifier.update(); @@ -4709,14 +4709,14 @@ void LLAppViewer::idle()  	{  		// Handle pending gesture processing -		LLFastTimer t(FTM_AGENT_POSITION); +		LL_RECORD_BLOCK_TIME(FTM_AGENT_POSITION);  		LLGestureMgr::instance().update();  		gAgent.updateAgentPosition(gFrameDTClamped, yaw, current_mouse.mX, current_mouse.mY);  	}  	{ -		LLFastTimer t(FTM_OBJECTLIST_UPDATE);  +		LL_RECORD_BLOCK_TIME(FTM_OBJECTLIST_UPDATE);           if (!(logoutRequestSent() && hasSavedFinalSnapshot()))  		{ @@ -4731,13 +4731,13 @@ void LLAppViewer::idle()  	//  	{ -		LLFastTimer t(FTM_CLEANUP); +		LL_RECORD_BLOCK_TIME(FTM_CLEANUP);  		{ -			LLFastTimer t(FTM_CLEANUP_OBJECTS); +			LL_RECORD_BLOCK_TIME(FTM_CLEANUP_OBJECTS);  			gObjectList.cleanDeadObjects();  		}  		{ -			LLFastTimer t(FTM_CLEANUP_DRAWABLES); +			LL_RECORD_BLOCK_TIME(FTM_CLEANUP_DRAWABLES);  			LLDrawable::cleanupDeadDrawables();  		}  	} @@ -4756,7 +4756,7 @@ void LLAppViewer::idle()  	//  	{ -		LLFastTimer t(FTM_HUD_EFFECTS); +		LL_RECORD_BLOCK_TIME(FTM_HUD_EFFECTS);  		LLSelectMgr::getInstance()->updateEffects();  		LLHUDManager::getInstance()->cleanupEffects();  		LLHUDManager::getInstance()->sendEffects(); @@ -4768,7 +4768,7 @@ void LLAppViewer::idle()  	//  	{ -		LLFastTimer t(FTM_NETWORK); +		LL_RECORD_BLOCK_TIME(FTM_NETWORK);  		gVLManager.unpackData();  	} @@ -4780,7 +4780,7 @@ void LLAppViewer::idle()  	LLWorld::getInstance()->updateVisibilities();  	{  		const F32 max_region_update_time = .001f; // 1ms -		LLFastTimer t(FTM_REGION_UPDATE); +		LL_RECORD_BLOCK_TIME(FTM_REGION_UPDATE);  		LLWorld::getInstance()->updateRegions(max_region_update_time);  	} @@ -4817,7 +4817,7 @@ void LLAppViewer::idle()  	// Here, particles are updated and drawables are moved.  	// -	LLFastTimer t(FTM_WORLD_UPDATE); +	LL_RECORD_BLOCK_TIME(FTM_WORLD_UPDATE);  	gPipeline.updateMove();  	LLWorld::getInstance()->updateParticles(); @@ -4849,12 +4849,12 @@ void LLAppViewer::idle()  	// objects and camera should be in sync, do LOD calculations now  	{ -		LLFastTimer t(FTM_LOD_UPDATE); +		LL_RECORD_BLOCK_TIME(FTM_LOD_UPDATE);  		gObjectList.updateApparentAngles(gAgent);  	}  	{ -		LLFastTimer t(FTM_AUDIO_UPDATE); +		LL_RECORD_BLOCK_TIME(FTM_AUDIO_UPDATE);  		if (gAudiop)  		{ @@ -5073,12 +5073,12 @@ void LLAppViewer::idleNameCache()  static F32 CheckMessagesMaxTime = CHECK_MESSAGES_DEFAULT_MAX_TIME;  #endif -static LLFastTimer::DeclareTimer FTM_IDLE_NETWORK("Idle Network"); -static LLFastTimer::DeclareTimer FTM_MESSAGE_ACKS("Message Acks"); -static LLFastTimer::DeclareTimer FTM_RETRANSMIT("Retransmit"); -static LLFastTimer::DeclareTimer FTM_TIMEOUT_CHECK("Timeout Check"); -static LLFastTimer::DeclareTimer FTM_DYNAMIC_THROTTLE("Dynamic Throttle"); -static LLFastTimer::DeclareTimer FTM_CHECK_REGION_CIRCUIT("Check Region Circuit"); +static LLTrace::TimeBlock FTM_IDLE_NETWORK("Idle Network"); +static LLTrace::TimeBlock FTM_MESSAGE_ACKS("Message Acks"); +static LLTrace::TimeBlock FTM_RETRANSMIT("Retransmit"); +static LLTrace::TimeBlock FTM_TIMEOUT_CHECK("Timeout Check"); +static LLTrace::TimeBlock FTM_DYNAMIC_THROTTLE("Dynamic Throttle"); +static LLTrace::TimeBlock FTM_CHECK_REGION_CIRCUIT("Check Region Circuit");  void LLAppViewer::idleNetwork()  { @@ -5089,7 +5089,7 @@ void LLAppViewer::idleNetwork()  	if (!gSavedSettings.getBOOL("SpeedTest"))  	{ -		LLFastTimer t(FTM_IDLE_NETWORK); // decode +		LL_RECORD_BLOCK_TIME(FTM_IDLE_NETWORK); // decode  		LLTimer check_message_timer;  		//  Read all available packets from network  diff --git a/indra/newview/llappviewer.h b/indra/newview/llappviewer.h index d642d55b14..a258e24536 100755 --- a/indra/newview/llappviewer.h +++ b/indra/newview/llappviewer.h @@ -43,7 +43,7 @@ class LLTextureFetch;  class LLWatchdogTimeout;  class LLUpdaterService; -extern LLFastTimer::DeclareTimer FTM_FRAME; +extern LLTrace::TimeBlock FTM_FRAME;  class LLAppViewer : public LLApp diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp index 0f138873ac..5c3dd4ebe0 100755 --- a/indra/newview/llchathistory.cpp +++ b/indra/newview/llchathistory.cpp @@ -733,11 +733,11 @@ void LLChatHistory::clear()  	mLastFromID = LLUUID::null;  } -static LLFastTimer::DeclareTimer FTM_APPEND_MESSAGE("Append Chat Message"); +static LLTrace::TimeBlock FTM_APPEND_MESSAGE("Append Chat Message");  void LLChatHistory::appendMessage(const LLChat& chat, const LLSD &args, const LLStyle::Params& input_append_params)  { -	LLFastTimer _(FTM_APPEND_MESSAGE); +	LL_RECORD_BLOCK_TIME(FTM_APPEND_MESSAGE);  	bool use_plain_text_chat_history = args["use_plain_text_chat_history"].asBoolean();  	bool square_brackets = false; // square brackets necessary for a system messages diff --git a/indra/newview/lldonotdisturbnotificationstorage.cpp b/indra/newview/lldonotdisturbnotificationstorage.cpp index 82affcf068..5bdf9c612a 100755 --- a/indra/newview/lldonotdisturbnotificationstorage.cpp +++ b/indra/newview/lldonotdisturbnotificationstorage.cpp @@ -96,11 +96,11 @@ void LLDoNotDisturbNotificationStorage::resetDirty()      mDirty = false;  } -static LLFastTimer::DeclareTimer FTM_SAVE_DND_NOTIFICATIONS("Save DND Notifications"); +static LLTrace::TimeBlock FTM_SAVE_DND_NOTIFICATIONS("Save DND Notifications");  void LLDoNotDisturbNotificationStorage::saveNotifications()  { -	LLFastTimer _(FTM_SAVE_DND_NOTIFICATIONS); +	LL_RECORD_BLOCK_TIME(FTM_SAVE_DND_NOTIFICATIONS);  	LLNotificationChannelPtr channelPtr = getCommunicationChannel();  	const LLCommunicationChannel *commChannel = dynamic_cast<LLCommunicationChannel*>(channelPtr.get()); @@ -126,11 +126,11 @@ void LLDoNotDisturbNotificationStorage::saveNotifications()      resetDirty();  } -static LLFastTimer::DeclareTimer FTM_LOAD_DND_NOTIFICATIONS("Load DND Notifications"); +static LLTrace::TimeBlock FTM_LOAD_DND_NOTIFICATIONS("Load DND Notifications");  void LLDoNotDisturbNotificationStorage::loadNotifications()  { -	LLFastTimer _(FTM_LOAD_DND_NOTIFICATIONS); +	LL_RECORD_BLOCK_TIME(FTM_LOAD_DND_NOTIFICATIONS);  	LL_INFOS("LLDoNotDisturbNotificationStorage") << "start loading notifications" << LL_ENDL; diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp index a480eed2e7..1837974604 100755 --- a/indra/newview/lldrawable.cpp +++ b/indra/newview/lldrawable.cpp @@ -56,10 +56,10 @@ const F32 MAX_INTERPOLATE_DISTANCE_SQUARED = 10.f * 10.f;  const F32 OBJECT_DAMPING_TIME_CONSTANT = 0.06f;  const F32 MIN_SHADOW_CASTER_RADIUS = 2.0f; -static LLFastTimer::DeclareTimer FTM_CULL_REBOUND("Cull Rebound"); +static LLTrace::TimeBlock FTM_CULL_REBOUND("Cull Rebound");  extern bool gShiftFrame; -LLTrace::MemStatHandle	LLDrawable::sMemStat("LLDrawable"); +//LLTrace::MemStatHandle	LLDrawable::sMemStat("LLDrawable");  //////////////////////// @@ -230,16 +230,16 @@ BOOL LLDrawable::isLight() const  	}  } -static LLFastTimer::DeclareTimer FTM_CLEANUP_DRAWABLE("Cleanup Drawable"); -static LLFastTimer::DeclareTimer FTM_DEREF_DRAWABLE("Deref"); -static LLFastTimer::DeclareTimer FTM_DELETE_FACES("Faces"); +static LLTrace::TimeBlock FTM_CLEANUP_DRAWABLE("Cleanup Drawable"); +static LLTrace::TimeBlock FTM_DEREF_DRAWABLE("Deref"); +static LLTrace::TimeBlock FTM_DELETE_FACES("Faces");  void LLDrawable::cleanupReferences()  { -	LLFastTimer t(FTM_CLEANUP_DRAWABLE); +	LL_RECORD_BLOCK_TIME(FTM_CLEANUP_DRAWABLE);  	{ -		LLFastTimer t(FTM_DELETE_FACES); +		LL_RECORD_BLOCK_TIME(FTM_DELETE_FACES);  		std::for_each(mFaces.begin(), mFaces.end(), DeletePointer());  		mFaces.clear();  	} @@ -251,7 +251,7 @@ void LLDrawable::cleanupReferences()  	removeFromOctree();  	{ -		LLFastTimer t(FTM_DEREF_DRAWABLE); +		LL_RECORD_BLOCK_TIME(FTM_DEREF_DRAWABLE);  		// Cleanup references to other objects  		mVObjp = NULL;  		mParent = NULL; @@ -300,14 +300,14 @@ S32 LLDrawable::findReferences(LLDrawable *drawablep)  	return count;  } -static LLFastTimer::DeclareTimer FTM_ALLOCATE_FACE("Allocate Face"); +static LLTrace::TimeBlock FTM_ALLOCATE_FACE("Allocate Face");  LLFace*	LLDrawable::addFace(LLFacePool *poolp, LLViewerTexture *texturep)  {  	LLFace *face;  	{ -		LLFastTimer t(FTM_ALLOCATE_FACE); +		LL_RECORD_BLOCK_TIME(FTM_ALLOCATE_FACE);  		face = new LLFace(this, mVObjp);  	} @@ -335,7 +335,7 @@ LLFace*	LLDrawable::addFace(const LLTextureEntry *te, LLViewerTexture *texturep)  	LLFace *face;  	{ -		LLFastTimer t(FTM_ALLOCATE_FACE); +		LL_RECORD_BLOCK_TIME(FTM_ALLOCATE_FACE);  		face = new LLFace(this, mVObjp);  	} @@ -1192,7 +1192,7 @@ void LLSpatialBridge::updateSpatialExtents()  	LLSpatialGroup* root = (LLSpatialGroup*) mOctree->getListener(0);  	{ -		LLFastTimer ftm(FTM_CULL_REBOUND); +		LL_RECORD_BLOCK_TIME(FTM_CULL_REBOUND);  		root->rebound();  	} diff --git a/indra/newview/lldrawable.h b/indra/newview/lldrawable.h index b94f663f21..3dab496a20 100755 --- a/indra/newview/lldrawable.h +++ b/indra/newview/lldrawable.h @@ -61,7 +61,7 @@ const U32 SILHOUETTE_HIGHLIGHT = 0;  LL_ALIGN_PREFIX(16)  class LLDrawable   :	public LLViewerOctreeEntryData, -	public LLTrace::MemTrackable<LLDrawable> +	public LLTrace::MemTrackable<LLDrawable, 16>  {  public:  	LLDrawable(const LLDrawable& rhs) : LLViewerOctreeEntryData(rhs) @@ -291,7 +291,7 @@ public:  	F32				mDistanceWRTCamera;  	static F32 sCurPixelAngle; //current pixels per radian -	static LLTrace::MemStatHandle sMemStat; +	//static LLTrace::MemStatHandle sMemStat;  private:  	typedef std::vector<LLFace*> face_list_t; diff --git a/indra/newview/lldrawpoolalpha.cpp b/indra/newview/lldrawpoolalpha.cpp index 604a9b1530..ef329ea8ff 100755 --- a/indra/newview/lldrawpoolalpha.cpp +++ b/indra/newview/lldrawpoolalpha.cpp @@ -89,7 +89,7 @@ S32 LLDrawPoolAlpha::getNumPostDeferredPasses()  void LLDrawPoolAlpha::beginPostDeferredPass(S32 pass)   {  -	LLFastTimer t(FTM_RENDER_ALPHA); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_ALPHA);  	if (pass == 0)  	{ @@ -142,7 +142,7 @@ void LLDrawPoolAlpha::renderPostDeferred(S32 pass)  void LLDrawPoolAlpha::beginRenderPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_ALPHA); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_ALPHA);  	if (LLPipeline::sUnderWaterRender)  	{ @@ -168,7 +168,7 @@ void LLDrawPoolAlpha::beginRenderPass(S32 pass)  void LLDrawPoolAlpha::endRenderPass( S32 pass )  { -	LLFastTimer t(FTM_RENDER_ALPHA); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_ALPHA);  	LLRenderPass::endRenderPass(pass);  	if(gPipeline.canUseWindLightShaders())  @@ -179,7 +179,7 @@ void LLDrawPoolAlpha::endRenderPass( S32 pass )  void LLDrawPoolAlpha::render(S32 pass)  { -	LLFastTimer t(FTM_RENDER_ALPHA); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_ALPHA);  	LLGLSPipelineAlpha gls_pipeline_alpha; diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index e366de9b13..168f82e013 100755 --- a/indra/newview/lldrawpoolavatar.cpp +++ b/indra/newview/lldrawpoolavatar.cpp @@ -100,7 +100,7 @@ S32 normal_channel = -1;  S32 specular_channel = -1;  S32 cube_channel = -1; -static LLFastTimer::DeclareTimer FTM_SHADOW_AVATAR("Avatar Shadow"); +static LLTrace::TimeBlock FTM_SHADOW_AVATAR("Avatar Shadow");  LLDrawPoolAvatar::LLDrawPoolAvatar() :   	LLFacePool(POOL_AVATAR)	 @@ -167,7 +167,7 @@ LLMatrix4& LLDrawPoolAvatar::getModelView()  void LLDrawPoolAvatar::beginDeferredPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_CHARACTERS); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_CHARACTERS);  	sSkipTransparent = TRUE;  	is_deferred_render = true; @@ -202,7 +202,7 @@ void LLDrawPoolAvatar::beginDeferredPass(S32 pass)  void LLDrawPoolAvatar::endDeferredPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_CHARACTERS); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_CHARACTERS);  	sSkipTransparent = FALSE;  	is_deferred_render = false; @@ -401,7 +401,7 @@ S32 LLDrawPoolAvatar::getNumShadowPasses()  void LLDrawPoolAvatar::beginShadowPass(S32 pass)  { -	LLFastTimer t(FTM_SHADOW_AVATAR); +	LL_RECORD_BLOCK_TIME(FTM_SHADOW_AVATAR);  	if (pass == 0)  	{ @@ -427,7 +427,7 @@ void LLDrawPoolAvatar::beginShadowPass(S32 pass)  void LLDrawPoolAvatar::endShadowPass(S32 pass)  { -	LLFastTimer t(FTM_SHADOW_AVATAR); +	LL_RECORD_BLOCK_TIME(FTM_SHADOW_AVATAR);  	if (pass == 0)  	{  		if (sShaderLevel > 0) @@ -446,7 +446,7 @@ void LLDrawPoolAvatar::endShadowPass(S32 pass)  void LLDrawPoolAvatar::renderShadow(S32 pass)  { -	LLFastTimer t(FTM_SHADOW_AVATAR); +	LL_RECORD_BLOCK_TIME(FTM_SHADOW_AVATAR);  	if (mDrawFace.empty())  	{ @@ -512,7 +512,7 @@ S32 LLDrawPoolAvatar::getNumDeferredPasses()  void LLDrawPoolAvatar::render(S32 pass)  { -	LLFastTimer t(FTM_RENDER_CHARACTERS); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_CHARACTERS);  	if (LLPipeline::sImpostorRender)  	{  		renderAvatars(NULL, pass+2); @@ -524,7 +524,7 @@ void LLDrawPoolAvatar::render(S32 pass)  void LLDrawPoolAvatar::beginRenderPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_CHARACTERS); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_CHARACTERS);  	//reset vertex buffer mappings  	LLVertexBuffer::unbind(); @@ -575,7 +575,7 @@ void LLDrawPoolAvatar::beginRenderPass(S32 pass)  void LLDrawPoolAvatar::endRenderPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_CHARACTERS); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_CHARACTERS);  	if (LLPipeline::sImpostorRender)  	{ @@ -1155,12 +1155,12 @@ void LLDrawPoolAvatar::endDeferredSkinned()  	gGL.getTexUnit(0)->activate();  } -static LLFastTimer::DeclareTimer FTM_RENDER_AVATARS("renderAvatars"); +static LLTrace::TimeBlock FTM_RENDER_AVATARS("renderAvatars");  void LLDrawPoolAvatar::renderAvatars(LLVOAvatar* single_avatar, S32 pass)  { -	LLFastTimer t(FTM_RENDER_AVATARS); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_AVATARS);  	if (pass == -1)  	{ @@ -1815,11 +1815,11 @@ void LLDrawPoolAvatar::renderDeferredRiggedMaterial(LLVOAvatar* avatar, S32 pass  	renderRigged(avatar, pass);  } -static LLFastTimer::DeclareTimer FTM_RIGGED_VBO("Rigged VBO"); +static LLTrace::TimeBlock FTM_RIGGED_VBO("Rigged VBO");  void LLDrawPoolAvatar::updateRiggedVertexBuffers(LLVOAvatar* avatar)  { -	LLFastTimer t(FTM_RIGGED_VBO); +	LL_RECORD_BLOCK_TIME(FTM_RIGGED_VBO);  	//update rigged vertex buffers  	for (U32 type = 0; type < NUM_RIGGED_PASSES; ++type) diff --git a/indra/newview/lldrawpoolbump.cpp b/indra/newview/lldrawpoolbump.cpp index 6c4226a9a6..010e718689 100755 --- a/indra/newview/lldrawpoolbump.cpp +++ b/indra/newview/lldrawpoolbump.cpp @@ -234,7 +234,7 @@ S32 LLDrawPoolBump::getNumPasses()  void LLDrawPoolBump::beginRenderPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_BUMP); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_BUMP);  	switch( pass )  	{  		case 0: @@ -261,7 +261,7 @@ void LLDrawPoolBump::beginRenderPass(S32 pass)  void LLDrawPoolBump::render(S32 pass)  { -	LLFastTimer t(FTM_RENDER_BUMP); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_BUMP);  	if (!gPipeline.hasRenderType(LLDrawPool::POOL_SIMPLE))  	{ @@ -294,7 +294,7 @@ void LLDrawPoolBump::render(S32 pass)  void LLDrawPoolBump::endRenderPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_BUMP); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_BUMP);  	switch( pass )  	{  		case 0: @@ -325,7 +325,7 @@ void LLDrawPoolBump::endRenderPass(S32 pass)  //static  void LLDrawPoolBump::beginShiny(bool invisible)  { -	LLFastTimer t(FTM_RENDER_SHINY); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_SHINY);  	if ((!invisible && !gPipeline.hasRenderBatches(LLRenderPass::PASS_SHINY))||   		(invisible && !gPipeline.hasRenderBatches(LLRenderPass::PASS_INVISI_SHINY)))  	{ @@ -418,7 +418,7 @@ void LLDrawPoolBump::bindCubeMap(LLGLSLShader* shader, S32 shader_level, S32& di  void LLDrawPoolBump::renderShiny(bool invisible)  { -	LLFastTimer t(FTM_RENDER_SHINY); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_SHINY);  	if ((!invisible && !gPipeline.hasRenderBatches(LLRenderPass::PASS_SHINY))||   		(invisible && !gPipeline.hasRenderBatches(LLRenderPass::PASS_INVISI_SHINY)))  	{ @@ -477,7 +477,7 @@ void LLDrawPoolBump::unbindCubeMap(LLGLSLShader* shader, S32 shader_level, S32&  void LLDrawPoolBump::endShiny(bool invisible)  { -	LLFastTimer t(FTM_RENDER_SHINY); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_SHINY);  	if ((!invisible && !gPipeline.hasRenderBatches(LLRenderPass::PASS_SHINY))||   		(invisible && !gPipeline.hasRenderBatches(LLRenderPass::PASS_INVISI_SHINY)))  	{ @@ -497,7 +497,7 @@ void LLDrawPoolBump::endShiny(bool invisible)  void LLDrawPoolBump::beginFullbrightShiny()  { -	LLFastTimer t(FTM_RENDER_SHINY); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_SHINY);  	if (!gPipeline.hasRenderBatches(LLRenderPass::PASS_FULLBRIGHT_SHINY))  	{  		return; @@ -559,7 +559,7 @@ void LLDrawPoolBump::beginFullbrightShiny()  void LLDrawPoolBump::renderFullbrightShiny()  { -	LLFastTimer t(FTM_RENDER_SHINY); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_SHINY);  	if (!gPipeline.hasRenderBatches(LLRenderPass::PASS_FULLBRIGHT_SHINY))  	{  		return; @@ -582,7 +582,7 @@ void LLDrawPoolBump::renderFullbrightShiny()  void LLDrawPoolBump::endFullbrightShiny()  { -	LLFastTimer t(FTM_RENDER_SHINY); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_SHINY);  	if (!gPipeline.hasRenderBatches(LLRenderPass::PASS_FULLBRIGHT_SHINY))  	{  		return; @@ -713,7 +713,7 @@ void LLDrawPoolBump::beginBump(U32 pass)  	}  	sVertexMask = VERTEX_MASK_BUMP; -	LLFastTimer t(FTM_RENDER_BUMP); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_BUMP);  	// Optional second pass: emboss bump map  	stop_glerror(); @@ -765,7 +765,7 @@ void LLDrawPoolBump::renderBump(U32 pass)  		return;  	} -	LLFastTimer ftm(FTM_RENDER_BUMP); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_BUMP);  	LLGLDisable fog(GL_FOG);  	LLGLDepthTest gls_depth(GL_TRUE, GL_FALSE, GL_LEQUAL);  	LLGLEnable blend(GL_BLEND); @@ -821,7 +821,7 @@ void LLDrawPoolBump::beginDeferredPass(S32 pass)  	{  		return;  	} -	LLFastTimer ftm(FTM_RENDER_BUMP); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_BUMP);  	mShiny = TRUE;  	gDeferredBumpProgram.bind();  	diffuse_channel = gDeferredBumpProgram.enableTexture(LLViewerShaderMgr::DIFFUSE_MAP); @@ -836,7 +836,7 @@ void LLDrawPoolBump::endDeferredPass(S32 pass)  	{  		return;  	} -	LLFastTimer ftm(FTM_RENDER_BUMP); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_BUMP);  	mShiny = FALSE;  	gDeferredBumpProgram.disableTexture(LLViewerShaderMgr::DIFFUSE_MAP);  	gDeferredBumpProgram.disableTexture(LLViewerShaderMgr::BUMP_MAP); @@ -850,7 +850,7 @@ void LLDrawPoolBump::renderDeferred(S32 pass)  	{  		return;  	} -	LLFastTimer ftm(FTM_RENDER_BUMP); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_BUMP);  	U32 type = LLRenderPass::PASS_BUMP;  	LLCullResult::drawinfo_iterator begin = gPipeline.beginRenderMap(type); @@ -1093,7 +1093,7 @@ LLViewerTexture* LLBumpImageList::getBrightnessDarknessImage(LLViewerFetchedText  } -static LLFastTimer::DeclareTimer FTM_BUMP_SOURCE_STANDARD_LOADED("Bump Standard Callback"); +static LLTrace::TimeBlock FTM_BUMP_SOURCE_STANDARD_LOADED("Bump Standard Callback");  // static  void LLBumpImageList::onSourceBrightnessLoaded( BOOL success, LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* aux_src, S32 discard_level, BOOL final, void* userdata ) @@ -1117,22 +1117,22 @@ void LLBumpImageList::onSourceDarknessLoaded( BOOL success, LLViewerFetchedTextu  	}  } -static LLFastTimer::DeclareTimer FTM_BUMP_GEN_NORMAL("Generate Normal Map"); -static LLFastTimer::DeclareTimer FTM_BUMP_CREATE_TEXTURE("Create GL Normal Map"); +static LLTrace::TimeBlock FTM_BUMP_GEN_NORMAL("Generate Normal Map"); +static LLTrace::TimeBlock FTM_BUMP_CREATE_TEXTURE("Create GL Normal Map");  void LLBumpImageList::onSourceStandardLoaded( BOOL success, LLViewerFetchedTexture* src_vi, LLImageRaw* src, LLImageRaw* aux_src, S32 discard_level, BOOL final, void* userdata)  {  	if (success && LLPipeline::sRenderDeferred)  	{ -		LLFastTimer t(FTM_BUMP_SOURCE_STANDARD_LOADED); +		LL_RECORD_BLOCK_TIME(FTM_BUMP_SOURCE_STANDARD_LOADED);  		LLPointer<LLImageRaw> nrm_image = new LLImageRaw(src->getWidth(), src->getHeight(), 4);  		{ -			LLFastTimer t(FTM_BUMP_GEN_NORMAL); +			LL_RECORD_BLOCK_TIME(FTM_BUMP_GEN_NORMAL);  			generateNormalMapFromAlpha(src, nrm_image);  		}  		src_vi->setExplicitFormat(GL_RGBA, GL_RGBA);  		{ -			LLFastTimer t(FTM_BUMP_CREATE_TEXTURE); +			LL_RECORD_BLOCK_TIME(FTM_BUMP_CREATE_TEXTURE);  			src_vi->createGLTexture(src_vi->getDiscardLevel(), nrm_image);  		}  	} @@ -1194,27 +1194,27 @@ void LLBumpImageList::generateNormalMapFromAlpha(LLImageRaw* src, LLImageRaw* nr  } -static LLFastTimer::DeclareTimer FTM_BUMP_SOURCE_LOADED("Bump Source Loaded"); -static LLFastTimer::DeclareTimer FTM_BUMP_SOURCE_ENTRIES_UPDATE("Entries Update"); -static LLFastTimer::DeclareTimer FTM_BUMP_SOURCE_MIN_MAX("Min/Max"); -static LLFastTimer::DeclareTimer FTM_BUMP_SOURCE_RGB2LUM("RGB to Luminance"); -static LLFastTimer::DeclareTimer FTM_BUMP_SOURCE_RESCALE("Rescale"); -static LLFastTimer::DeclareTimer FTM_BUMP_SOURCE_GEN_NORMAL("Generate Normal"); -static LLFastTimer::DeclareTimer FTM_BUMP_SOURCE_CREATE("Bump Source Create"); +static LLTrace::TimeBlock FTM_BUMP_SOURCE_LOADED("Bump Source Loaded"); +static LLTrace::TimeBlock FTM_BUMP_SOURCE_ENTRIES_UPDATE("Entries Update"); +static LLTrace::TimeBlock FTM_BUMP_SOURCE_MIN_MAX("Min/Max"); +static LLTrace::TimeBlock FTM_BUMP_SOURCE_RGB2LUM("RGB to Luminance"); +static LLTrace::TimeBlock FTM_BUMP_SOURCE_RESCALE("Rescale"); +static LLTrace::TimeBlock FTM_BUMP_SOURCE_GEN_NORMAL("Generate Normal"); +static LLTrace::TimeBlock FTM_BUMP_SOURCE_CREATE("Bump Source Create");  // static  void LLBumpImageList::onSourceLoaded( BOOL success, LLViewerTexture *src_vi, LLImageRaw* src, LLUUID& source_asset_id, EBumpEffect bump_code )  {  	if( success )  	{ -		LLFastTimer t(FTM_BUMP_SOURCE_LOADED); +		LL_RECORD_BLOCK_TIME(FTM_BUMP_SOURCE_LOADED);  		bump_image_map_t& entries_list(bump_code == BE_BRIGHTNESS ? gBumpImageList.mBrightnessEntries : gBumpImageList.mDarknessEntries );  		bump_image_map_t::iterator iter = entries_list.find(source_asset_id);  		{ -			LLFastTimer t(FTM_BUMP_SOURCE_ENTRIES_UPDATE); +			LL_RECORD_BLOCK_TIME(FTM_BUMP_SOURCE_ENTRIES_UPDATE);  			if (iter == entries_list.end() ||  				iter->second.isNull() ||  							iter->second->getWidth() != src->getWidth() || @@ -1257,7 +1257,7 @@ void LLBumpImageList::onSourceLoaded( BOOL success, LLViewerTexture *src_vi, LLI  			case 1:  			case 2:  				{ -					LLFastTimer t(FTM_BUMP_SOURCE_MIN_MAX); +					LL_RECORD_BLOCK_TIME(FTM_BUMP_SOURCE_MIN_MAX);  					if( src_data_size == dst_data_size * src_components )  					{  						for( S32 i = 0, j=0; i < dst_data_size; i++, j+= src_components ) @@ -1283,7 +1283,7 @@ void LLBumpImageList::onSourceLoaded( BOOL success, LLViewerTexture *src_vi, LLI  			case 3:  			case 4:  				{ -					LLFastTimer t(FTM_BUMP_SOURCE_RGB2LUM); +					LL_RECORD_BLOCK_TIME(FTM_BUMP_SOURCE_RGB2LUM);  					if( src_data_size == dst_data_size * src_components )  					{  						for( S32 i = 0, j=0; i < dst_data_size; i++, j+= src_components ) @@ -1316,7 +1316,7 @@ void LLBumpImageList::onSourceLoaded( BOOL success, LLViewerTexture *src_vi, LLI  			if( maximum > minimum )  			{ -				LLFastTimer t(FTM_BUMP_SOURCE_RESCALE); +				LL_RECORD_BLOCK_TIME(FTM_BUMP_SOURCE_RESCALE);  				U8 bias_and_scale_lut[256];  				F32 twice_one_over_range = 2.f / (maximum - minimum);  				S32 i; @@ -1352,7 +1352,7 @@ void LLBumpImageList::onSourceLoaded( BOOL success, LLViewerTexture *src_vi, LLI  			if (!LLPipeline::sRenderDeferred)  			{ -				LLFastTimer t(FTM_BUMP_SOURCE_CREATE); +				LL_RECORD_BLOCK_TIME(FTM_BUMP_SOURCE_CREATE);  				bump->setExplicitFormat(GL_ALPHA8, GL_ALPHA);  				bump->createGLTexture(0, dst_image);  			} @@ -1363,13 +1363,13 @@ void LLBumpImageList::onSourceLoaded( BOOL success, LLViewerTexture *src_vi, LLI  				bump->getGLTexture()->setAllowCompression(false);  				{ -					LLFastTimer t(FTM_BUMP_SOURCE_CREATE); +					LL_RECORD_BLOCK_TIME(FTM_BUMP_SOURCE_CREATE);  					bump->setExplicitFormat(GL_RGBA8, GL_ALPHA);  					bump->createGLTexture(0, dst_image);  				}  				{ -					LLFastTimer t(FTM_BUMP_SOURCE_GEN_NORMAL); +					LL_RECORD_BLOCK_TIME(FTM_BUMP_SOURCE_GEN_NORMAL);  					gPipeline.mScreen.bindTarget();  					LLGLDepthTest depth(GL_FALSE); @@ -1561,7 +1561,7 @@ void LLDrawPoolBump::pushBatch(LLDrawInfo& params, U32 mask, BOOL texture, BOOL  void LLDrawPoolInvisible::render(S32 pass)  { //render invisiprims -	LLFastTimer t(FTM_RENDER_INVISIBLE); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_INVISIBLE);  	if (gPipeline.canUseVertexShaders())  	{ @@ -1601,7 +1601,7 @@ void LLDrawPoolInvisible::endDeferredPass( S32 pass )  void LLDrawPoolInvisible::renderDeferred( S32 pass )  { //render invisiprims; this doesn't work becaue it also blocks all the post-deferred stuff  #if 0  -	LLFastTimer t(FTM_RENDER_INVISIBLE); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_INVISIBLE);  	U32 invisi_mask = LLVertexBuffer::MAP_VERTEX;  	glStencilMask(0); diff --git a/indra/newview/lldrawpoolmaterials.cpp b/indra/newview/lldrawpoolmaterials.cpp index 08a36bddf1..eea0f370ca 100644 --- a/indra/newview/lldrawpoolmaterials.cpp +++ b/indra/newview/lldrawpoolmaterials.cpp @@ -76,12 +76,12 @@ void LLDrawPoolMaterials::beginDeferredPass(S32 pass)  	diffuse_channel = mShader->enableTexture(LLShaderMgr::DIFFUSE_MAP); -	LLFastTimer t(FTM_RENDER_MATERIALS); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_MATERIALS);  }  void LLDrawPoolMaterials::endDeferredPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_MATERIALS); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_MATERIALS);  	mShader->unbind(); diff --git a/indra/newview/lldrawpoolsimple.cpp b/indra/newview/lldrawpoolsimple.cpp index 2cf9d833c6..bbd80304f8 100755 --- a/indra/newview/lldrawpoolsimple.cpp +++ b/indra/newview/lldrawpoolsimple.cpp @@ -41,8 +41,8 @@  static LLGLSLShader* simple_shader = NULL;  static LLGLSLShader* fullbright_shader = NULL; -static LLFastTimer::DeclareTimer FTM_RENDER_SIMPLE_DEFERRED("Deferred Simple"); -static LLFastTimer::DeclareTimer FTM_RENDER_GRASS_DEFERRED("Deferred Grass"); +static LLTrace::TimeBlock FTM_RENDER_SIMPLE_DEFERRED("Deferred Simple"); +static LLTrace::TimeBlock FTM_RENDER_GRASS_DEFERRED("Deferred Grass");  void LLDrawPoolGlow::beginPostDeferredPass(S32 pass)  { @@ -50,11 +50,11 @@ void LLDrawPoolGlow::beginPostDeferredPass(S32 pass)  	gDeferredEmissiveProgram.uniform1f(LLShaderMgr::TEXTURE_GAMMA, 2.2f);  } -static LLFastTimer::DeclareTimer FTM_RENDER_GLOW_PUSH("Glow Push"); +static LLTrace::TimeBlock FTM_RENDER_GLOW_PUSH("Glow Push");  void LLDrawPoolGlow::renderPostDeferred(S32 pass)  { -	LLFastTimer t(FTM_RENDER_GLOW); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_GLOW);  	LLGLEnable blend(GL_BLEND);  	LLGLDisable test(GL_ALPHA_TEST);  	gGL.flush(); @@ -67,7 +67,7 @@ void LLDrawPoolGlow::renderPostDeferred(S32 pass)  	gGL.setColorMask(false, true);  	{ -		LLFastTimer t(FTM_RENDER_GLOW_PUSH); +		LL_RECORD_BLOCK_TIME(FTM_RENDER_GLOW_PUSH);  		pushBatches(LLRenderPass::PASS_GLOW, getVertexDataMask() | LLVertexBuffer::MAP_TEXTURE_INDEX, TRUE, TRUE);  	} @@ -95,7 +95,7 @@ S32 LLDrawPoolGlow::getNumPasses()  void LLDrawPoolGlow::render(S32 pass)  { -	LLFastTimer t(FTM_RENDER_GLOW); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_GLOW);  	LLGLEnable blend(GL_BLEND);  	LLGLDisable test(GL_ALPHA_TEST);  	gGL.flush(); @@ -146,7 +146,7 @@ void LLDrawPoolSimple::prerender()  void LLDrawPoolSimple::beginRenderPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_SIMPLE); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_SIMPLE);  	if (LLPipeline::sUnderWaterRender)  	{ @@ -173,7 +173,7 @@ void LLDrawPoolSimple::beginRenderPass(S32 pass)  void LLDrawPoolSimple::endRenderPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_SIMPLE); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_SIMPLE);  	stop_glerror();  	LLRenderPass::endRenderPass(pass);  	stop_glerror(); @@ -188,7 +188,7 @@ void LLDrawPoolSimple::render(S32 pass)  	LLGLDisable blend(GL_BLEND);  	{ //render simple -		LLFastTimer t(FTM_RENDER_SIMPLE); +		LL_RECORD_BLOCK_TIME(FTM_RENDER_SIMPLE);  		gPipeline.enableLightsDynamic();  		if (mVertexShaderLevel > 0) @@ -225,7 +225,7 @@ void LLDrawPoolSimple::render(S32 pass) -static LLFastTimer::DeclareTimer FTM_RENDER_ALPHA_MASK("Alpha Mask"); +static LLTrace::TimeBlock FTM_RENDER_ALPHA_MASK("Alpha Mask");  LLDrawPoolAlphaMask::LLDrawPoolAlphaMask() :  	LLRenderPass(POOL_ALPHA_MASK) @@ -239,7 +239,7 @@ void LLDrawPoolAlphaMask::prerender()  void LLDrawPoolAlphaMask::beginRenderPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_ALPHA_MASK); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_ALPHA_MASK);  	if (LLPipeline::sUnderWaterRender)  	{ @@ -266,7 +266,7 @@ void LLDrawPoolAlphaMask::beginRenderPass(S32 pass)  void LLDrawPoolAlphaMask::endRenderPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_ALPHA_MASK); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_ALPHA_MASK);  	stop_glerror();  	LLRenderPass::endRenderPass(pass);  	stop_glerror(); @@ -279,7 +279,7 @@ void LLDrawPoolAlphaMask::endRenderPass(S32 pass)  void LLDrawPoolAlphaMask::render(S32 pass)  {  	LLGLDisable blend(GL_BLEND); -	LLFastTimer t(FTM_RENDER_ALPHA_MASK); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_ALPHA_MASK);  	if (mVertexShaderLevel > 0)  	{ @@ -312,7 +312,7 @@ void LLDrawPoolFullbrightAlphaMask::prerender()  void LLDrawPoolFullbrightAlphaMask::beginRenderPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_ALPHA_MASK); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_ALPHA_MASK);  	if (LLPipeline::sUnderWaterRender)  	{ @@ -339,7 +339,7 @@ void LLDrawPoolFullbrightAlphaMask::beginRenderPass(S32 pass)  void LLDrawPoolFullbrightAlphaMask::endRenderPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_ALPHA_MASK); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_ALPHA_MASK);  	stop_glerror();  	LLRenderPass::endRenderPass(pass);  	stop_glerror(); @@ -351,7 +351,7 @@ void LLDrawPoolFullbrightAlphaMask::endRenderPass(S32 pass)  void LLDrawPoolFullbrightAlphaMask::render(S32 pass)  { -	LLFastTimer t(FTM_RENDER_ALPHA_MASK); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_ALPHA_MASK);  	if (mVertexShaderLevel > 0)  	{ @@ -385,13 +385,13 @@ void LLDrawPoolFullbrightAlphaMask::render(S32 pass)  void LLDrawPoolSimple::beginDeferredPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_SIMPLE_DEFERRED); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_SIMPLE_DEFERRED);  	gDeferredDiffuseProgram.bind();  }  void LLDrawPoolSimple::endDeferredPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_SIMPLE_DEFERRED); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_SIMPLE_DEFERRED);  	LLRenderPass::endRenderPass(pass);  	gDeferredDiffuseProgram.unbind(); @@ -403,12 +403,12 @@ void LLDrawPoolSimple::renderDeferred(S32 pass)  	LLGLDisable alpha_test(GL_ALPHA_TEST);  	{ //render simple -		LLFastTimer t(FTM_RENDER_SIMPLE_DEFERRED); +		LL_RECORD_BLOCK_TIME(FTM_RENDER_SIMPLE_DEFERRED);  		pushBatches(LLRenderPass::PASS_SIMPLE, getVertexDataMask() | LLVertexBuffer::MAP_TEXTURE_INDEX, TRUE, TRUE);  	}  } -static LLFastTimer::DeclareTimer FTM_RENDER_ALPHA_MASK_DEFERRED("Deferred Alpha Mask"); +static LLTrace::TimeBlock FTM_RENDER_ALPHA_MASK_DEFERRED("Deferred Alpha Mask");  void LLDrawPoolAlphaMask::beginDeferredPass(S32 pass)  { @@ -422,7 +422,7 @@ void LLDrawPoolAlphaMask::endDeferredPass(S32 pass)  void LLDrawPoolAlphaMask::renderDeferred(S32 pass)  { -	LLFastTimer t(FTM_RENDER_ALPHA_MASK_DEFERRED); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_ALPHA_MASK_DEFERRED);  	gDeferredDiffuseAlphaMaskProgram.bind();  	gDeferredDiffuseAlphaMaskProgram.setMinimumAlpha(0.33f);  	pushMaskBatches(LLRenderPass::PASS_ALPHA_MASK, getVertexDataMask() | LLVertexBuffer::MAP_TEXTURE_INDEX, TRUE, TRUE); @@ -445,7 +445,7 @@ void LLDrawPoolGrass::prerender()  void LLDrawPoolGrass::beginRenderPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_GRASS); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_GRASS);  	stop_glerror();  	if (LLPipeline::sUnderWaterRender) @@ -475,7 +475,7 @@ void LLDrawPoolGrass::beginRenderPass(S32 pass)  void LLDrawPoolGrass::endRenderPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_GRASS); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_GRASS);  	LLRenderPass::endRenderPass(pass);  	if (mVertexShaderLevel > 0) @@ -493,7 +493,7 @@ void LLDrawPoolGrass::render(S32 pass)  	LLGLDisable blend(GL_BLEND);  	{ -		LLFastTimer t(FTM_RENDER_GRASS); +		LL_RECORD_BLOCK_TIME(FTM_RENDER_GRASS);  		LLGLEnable test(GL_ALPHA_TEST);  		gGL.setSceneBlendType(LLRender::BT_ALPHA);  		//render grass @@ -514,7 +514,7 @@ void LLDrawPoolGrass::endDeferredPass(S32 pass)  void LLDrawPoolGrass::renderDeferred(S32 pass)  {  	{ -		LLFastTimer t(FTM_RENDER_GRASS_DEFERRED); +		LL_RECORD_BLOCK_TIME(FTM_RENDER_GRASS_DEFERRED);  		gDeferredNonIndexedDiffuseAlphaMaskProgram.bind();  		gDeferredNonIndexedDiffuseAlphaMaskProgram.setMinimumAlpha(0.5f);  		//render grass @@ -541,7 +541,7 @@ void LLDrawPoolFullbright::beginPostDeferredPass(S32 pass)  void LLDrawPoolFullbright::renderPostDeferred(S32 pass)  { -	LLFastTimer t(FTM_RENDER_FULLBRIGHT); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_FULLBRIGHT);  	gGL.setSceneBlendType(LLRender::BT_ALPHA);  	U32 fullbright_mask = LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD0 | LLVertexBuffer::MAP_COLOR | LLVertexBuffer::MAP_TEXTURE_INDEX; @@ -556,7 +556,7 @@ void LLDrawPoolFullbright::endPostDeferredPass(S32 pass)  void LLDrawPoolFullbright::beginRenderPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_FULLBRIGHT); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_FULLBRIGHT);  	if (LLPipeline::sUnderWaterRender)  	{ @@ -570,7 +570,7 @@ void LLDrawPoolFullbright::beginRenderPass(S32 pass)  void LLDrawPoolFullbright::endRenderPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_FULLBRIGHT); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_FULLBRIGHT);  	LLRenderPass::endRenderPass(pass);  	stop_glerror(); @@ -585,7 +585,7 @@ void LLDrawPoolFullbright::endRenderPass(S32 pass)  void LLDrawPoolFullbright::render(S32 pass)  { //render fullbright -	LLFastTimer t(FTM_RENDER_FULLBRIGHT); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_FULLBRIGHT);  	gGL.setSceneBlendType(LLRender::BT_ALPHA);  	stop_glerror(); @@ -638,7 +638,7 @@ void LLDrawPoolFullbrightAlphaMask::beginPostDeferredPass(S32 pass)  void LLDrawPoolFullbrightAlphaMask::renderPostDeferred(S32 pass)  { -	LLFastTimer t(FTM_RENDER_FULLBRIGHT); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_FULLBRIGHT);  	LLGLDisable blend(GL_BLEND);  	U32 fullbright_mask = LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD0 | LLVertexBuffer::MAP_COLOR | LLVertexBuffer::MAP_TEXTURE_INDEX;  	pushMaskBatches(LLRenderPass::PASS_FULLBRIGHT_ALPHA_MASK, fullbright_mask, TRUE, TRUE); diff --git a/indra/newview/lldrawpoolterrain.cpp b/indra/newview/lldrawpoolterrain.cpp index 0adb42428d..58a2cae6e4 100755 --- a/indra/newview/lldrawpoolterrain.cpp +++ b/indra/newview/lldrawpoolterrain.cpp @@ -55,7 +55,7 @@ int DebugDetailMap = 0;  S32 LLDrawPoolTerrain::sDetailMode = 1;  F32 LLDrawPoolTerrain::sDetailScale = DETAIL_SCALE;  static LLGLSLShader* sShader = NULL; -static LLFastTimer::DeclareTimer FTM_SHADOW_TERRAIN("Terrain Shadow"); +static LLTrace::TimeBlock FTM_SHADOW_TERRAIN("Terrain Shadow");  LLDrawPoolTerrain::LLDrawPoolTerrain(LLViewerTexture *texturep) : @@ -129,7 +129,7 @@ void LLDrawPoolTerrain::prerender()  void LLDrawPoolTerrain::beginRenderPass( S32 pass )  { -	LLFastTimer t(FTM_RENDER_TERRAIN); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_TERRAIN);  	LLFacePool::beginRenderPass(pass);  	sShader = LLPipeline::sUnderWaterRender ?  @@ -144,7 +144,7 @@ void LLDrawPoolTerrain::beginRenderPass( S32 pass )  void LLDrawPoolTerrain::endRenderPass( S32 pass )  { -	LLFastTimer t(FTM_RENDER_TERRAIN); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_TERRAIN);  	//LLFacePool::endRenderPass(pass);  	if (mVertexShaderLevel > 1 && sShader->mShaderLevel > 0) { @@ -160,7 +160,7 @@ S32 LLDrawPoolTerrain::getDetailMode()  void LLDrawPoolTerrain::render(S32 pass)  { -	LLFastTimer t(FTM_RENDER_TERRAIN); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_TERRAIN);  	if (mDrawFace.empty())  	{ @@ -243,7 +243,7 @@ void LLDrawPoolTerrain::render(S32 pass)  void LLDrawPoolTerrain::beginDeferredPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_TERRAIN); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_TERRAIN);  	LLFacePool::beginRenderPass(pass);  	sShader = &gDeferredTerrainProgram; @@ -253,14 +253,14 @@ void LLDrawPoolTerrain::beginDeferredPass(S32 pass)  void LLDrawPoolTerrain::endDeferredPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_TERRAIN); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_TERRAIN);  	LLFacePool::endRenderPass(pass);  	sShader->unbind();  }  void LLDrawPoolTerrain::renderDeferred(S32 pass)  { -	LLFastTimer t(FTM_RENDER_TERRAIN); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_TERRAIN);  	if (mDrawFace.empty())  	{  		return; @@ -270,7 +270,7 @@ void LLDrawPoolTerrain::renderDeferred(S32 pass)  void LLDrawPoolTerrain::beginShadowPass(S32 pass)  { -	LLFastTimer t(FTM_SHADOW_TERRAIN); +	LL_RECORD_BLOCK_TIME(FTM_SHADOW_TERRAIN);  	LLFacePool::beginRenderPass(pass);  	gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);  	gDeferredShadowProgram.bind(); @@ -278,14 +278,14 @@ void LLDrawPoolTerrain::beginShadowPass(S32 pass)  void LLDrawPoolTerrain::endShadowPass(S32 pass)  { -	LLFastTimer t(FTM_SHADOW_TERRAIN); +	LL_RECORD_BLOCK_TIME(FTM_SHADOW_TERRAIN);  	LLFacePool::endRenderPass(pass);  	gDeferredShadowProgram.unbind();  }  void LLDrawPoolTerrain::renderShadow(S32 pass)  { -	LLFastTimer t(FTM_SHADOW_TERRAIN); +	LL_RECORD_BLOCK_TIME(FTM_SHADOW_TERRAIN);  	if (mDrawFace.empty())  	{  		return; diff --git a/indra/newview/lldrawpooltree.cpp b/indra/newview/lldrawpooltree.cpp index fedbd782dc..187a2045dd 100755 --- a/indra/newview/lldrawpooltree.cpp +++ b/indra/newview/lldrawpooltree.cpp @@ -41,7 +41,7 @@  S32 LLDrawPoolTree::sDiffTex = 0;  static LLGLSLShader* shader = NULL; -static LLFastTimer::DeclareTimer FTM_SHADOW_TREE("Tree Shadow"); +static LLTrace::TimeBlock FTM_SHADOW_TREE("Tree Shadow");  LLDrawPoolTree::LLDrawPoolTree(LLViewerTexture *texturep) :  	LLFacePool(POOL_TREE), @@ -62,7 +62,7 @@ void LLDrawPoolTree::prerender()  void LLDrawPoolTree::beginRenderPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_TREES); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_TREES);  	if (LLPipeline::sUnderWaterRender)  	{ @@ -88,7 +88,7 @@ void LLDrawPoolTree::beginRenderPass(S32 pass)  void LLDrawPoolTree::render(S32 pass)  { -	LLFastTimer t(LLPipeline::sShadowRender ? FTM_SHADOW_TREE : FTM_RENDER_TREES); +	LL_RECORD_BLOCK_TIME(LLPipeline::sShadowRender ? FTM_SHADOW_TREE : FTM_RENDER_TREES);  	if (mDrawFace.empty())  	{ @@ -131,7 +131,7 @@ void LLDrawPoolTree::render(S32 pass)  void LLDrawPoolTree::endRenderPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_TREES); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_TREES);  	if (gPipeline.canUseWindLightShadersOnObjects())  	{ @@ -149,7 +149,7 @@ void LLDrawPoolTree::endRenderPass(S32 pass)  //============================================  void LLDrawPoolTree::beginDeferredPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_TREES); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_TREES);  	shader = &gDeferredTreeProgram;  	shader->bind(); @@ -163,7 +163,7 @@ void LLDrawPoolTree::renderDeferred(S32 pass)  void LLDrawPoolTree::endDeferredPass(S32 pass)  { -	LLFastTimer t(FTM_RENDER_TREES); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_TREES);  	shader->unbind();  } @@ -173,7 +173,7 @@ void LLDrawPoolTree::endDeferredPass(S32 pass)  //============================================  void LLDrawPoolTree::beginShadowPass(S32 pass)  { -	LLFastTimer t(FTM_SHADOW_TREE); +	LL_RECORD_BLOCK_TIME(FTM_SHADOW_TREE);  	glPolygonOffset(gSavedSettings.getF32("RenderDeferredTreeShadowOffset"),  					gSavedSettings.getF32("RenderDeferredTreeShadowBias")); @@ -189,7 +189,7 @@ void LLDrawPoolTree::renderShadow(S32 pass)  void LLDrawPoolTree::endShadowPass(S32 pass)  { -	LLFastTimer t(FTM_SHADOW_TREE); +	LL_RECORD_BLOCK_TIME(FTM_SHADOW_TREE);  	glPolygonOffset(gSavedSettings.getF32("RenderDeferredSpotShadowOffset"),  						gSavedSettings.getF32("RenderDeferredSpotShadowBias")); diff --git a/indra/newview/lldrawpoolwater.cpp b/indra/newview/lldrawpoolwater.cpp index 0e118c7420..b33a4487b6 100755 --- a/indra/newview/lldrawpoolwater.cpp +++ b/indra/newview/lldrawpoolwater.cpp @@ -142,7 +142,7 @@ void LLDrawPoolWater::endPostDeferredPass(S32 pass)  //===============================  void LLDrawPoolWater::renderDeferred(S32 pass)  { -	LLFastTimer t(FTM_RENDER_WATER); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_WATER);  	deferred_render = TRUE;  	shade();  	deferred_render = FALSE; @@ -152,7 +152,7 @@ void LLDrawPoolWater::renderDeferred(S32 pass)  void LLDrawPoolWater::render(S32 pass)  { -	LLFastTimer ftm(FTM_RENDER_WATER); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_WATER);  	if (mDrawFace.empty() || LLDrawable::getCurrentFrame() <= 1)  	{  		return; diff --git a/indra/newview/lldrawpoolwlsky.cpp b/indra/newview/lldrawpoolwlsky.cpp index c3ba6c672d..a458fa23a2 100755 --- a/indra/newview/lldrawpoolwlsky.cpp +++ b/indra/newview/lldrawpoolwlsky.cpp @@ -306,7 +306,7 @@ void LLDrawPoolWLSky::renderDeferred(S32 pass)  	{  		return;  	} -	LLFastTimer ftm(FTM_RENDER_WL_SKY); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_WL_SKY);  	const F32 camHeightLocal = LLWLParamManager::getInstance()->getDomeOffset() * LLWLParamManager::getInstance()->getDomeRadius(); @@ -353,7 +353,7 @@ void LLDrawPoolWLSky::render(S32 pass)  	{  		return;  	} -	LLFastTimer ftm(FTM_RENDER_WL_SKY); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_WL_SKY);  	const F32 camHeightLocal = LLWLParamManager::getInstance()->getDomeOffset() * LLWLParamManager::getInstance()->getDomeRadius(); diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp index ef816ddaf6..16b1b8f10c 100755 --- a/indra/newview/llface.cpp +++ b/indra/newview/llface.cpp @@ -1064,12 +1064,12 @@ bool LLFace::canRenderAsMask()  } -static LLFastTimer::DeclareTimer FTM_FACE_GEOM_VOLUME("Volume VB Cache"); +static LLTrace::TimeBlock FTM_FACE_GEOM_VOLUME("Volume VB Cache");  //static   void LLFace::cacheFaceInVRAM(const LLVolumeFace& vf)  { -	LLFastTimer t(FTM_FACE_GEOM_VOLUME); +	LL_RECORD_BLOCK_TIME(FTM_FACE_GEOM_VOLUME);  	U32 mask = LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD0 |  				LLVertexBuffer::MAP_TANGENT | LLVertexBuffer::MAP_NORMAL; @@ -1131,24 +1131,24 @@ void push_for_transform(LLVertexBuffer* buff, U32 source_count, U32 dest_count)  	}  } -static LLFastTimer::DeclareTimer FTM_FACE_GET_GEOM("Face Geom"); -static LLFastTimer::DeclareTimer FTM_FACE_GEOM_POSITION("Position"); -static LLFastTimer::DeclareTimer FTM_FACE_GEOM_NORMAL("Normal"); -static LLFastTimer::DeclareTimer FTM_FACE_GEOM_TEXTURE("Texture"); -static LLFastTimer::DeclareTimer FTM_FACE_GEOM_COLOR("Color"); -static LLFastTimer::DeclareTimer FTM_FACE_GEOM_EMISSIVE("Emissive"); -static LLFastTimer::DeclareTimer FTM_FACE_GEOM_WEIGHTS("Weights"); -static LLFastTimer::DeclareTimer FTM_FACE_GEOM_TANGENT("Binormal"); -static LLFastTimer::DeclareTimer FTM_FACE_GEOM_INDEX("Index"); -static LLFastTimer::DeclareTimer FTM_FACE_GEOM_INDEX_TAIL("Tail"); -static LLFastTimer::DeclareTimer FTM_FACE_POSITION_STORE("Pos"); -static LLFastTimer::DeclareTimer FTM_FACE_TEXTURE_INDEX_STORE("TexIdx"); -static LLFastTimer::DeclareTimer FTM_FACE_POSITION_PAD("Pad"); -static LLFastTimer::DeclareTimer FTM_FACE_TEX_DEFAULT("Default"); -static LLFastTimer::DeclareTimer FTM_FACE_TEX_QUICK("Quick"); -static LLFastTimer::DeclareTimer FTM_FACE_TEX_QUICK_NO_XFORM("No Xform"); -static LLFastTimer::DeclareTimer FTM_FACE_TEX_QUICK_XFORM("Xform"); -static LLFastTimer::DeclareTimer FTM_FACE_TEX_QUICK_PLANAR("Quick Planar"); +static LLTrace::TimeBlock FTM_FACE_GET_GEOM("Face Geom"); +static LLTrace::TimeBlock FTM_FACE_GEOM_POSITION("Position"); +static LLTrace::TimeBlock FTM_FACE_GEOM_NORMAL("Normal"); +static LLTrace::TimeBlock FTM_FACE_GEOM_TEXTURE("Texture"); +static LLTrace::TimeBlock FTM_FACE_GEOM_COLOR("Color"); +static LLTrace::TimeBlock FTM_FACE_GEOM_EMISSIVE("Emissive"); +static LLTrace::TimeBlock FTM_FACE_GEOM_WEIGHTS("Weights"); +static LLTrace::TimeBlock FTM_FACE_GEOM_TANGENT("Binormal"); +static LLTrace::TimeBlock FTM_FACE_GEOM_INDEX("Index"); +static LLTrace::TimeBlock FTM_FACE_GEOM_INDEX_TAIL("Tail"); +static LLTrace::TimeBlock FTM_FACE_POSITION_STORE("Pos"); +static LLTrace::TimeBlock FTM_FACE_TEXTURE_INDEX_STORE("TexIdx"); +static LLTrace::TimeBlock FTM_FACE_POSITION_PAD("Pad"); +static LLTrace::TimeBlock FTM_FACE_TEX_DEFAULT("Default"); +static LLTrace::TimeBlock FTM_FACE_TEX_QUICK("Quick"); +static LLTrace::TimeBlock FTM_FACE_TEX_QUICK_NO_XFORM("No Xform"); +static LLTrace::TimeBlock FTM_FACE_TEX_QUICK_XFORM("Xform"); +static LLTrace::TimeBlock FTM_FACE_TEX_QUICK_PLANAR("Quick Planar");  BOOL LLFace::getGeometryVolume(const LLVolume& volume,  							   const S32 &f, @@ -1156,7 +1156,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,  								const U16 &index_offset,  								bool force_rebuild)  { -	LLFastTimer t(FTM_FACE_GET_GEOM); +	LL_RECORD_BLOCK_TIME(FTM_FACE_GET_GEOM);  	llassert(verify());  	const LLVolumeFace &vf = volume.getVolumeFace(f);  	S32 num_vertices = (S32)vf.mNumVertices; @@ -1292,7 +1292,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,  	// INDICES  	if (full_rebuild)  	{ -		LLFastTimer t(FTM_FACE_GEOM_INDEX); +		LL_RECORD_BLOCK_TIME(FTM_FACE_GEOM_INDEX);  		mVertexBuffer->getIndexStrider(indicesp, mIndicesIndex, mIndicesCount, map_range);  		volatile __m128i* dst = (__m128i*) indicesp.get(); @@ -1308,7 +1308,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,  		}  		{ -			LLFastTimer t(FTM_FACE_GEOM_INDEX_TAIL); +			LL_RECORD_BLOCK_TIME(FTM_FACE_GEOM_INDEX_TAIL);  			U16* idx = (U16*) dst;  			for (S32 i = end*8; i < num_indices; ++i) @@ -1386,7 +1386,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,  		if (rebuild_pos)  		{ -			LLFastTimer t(FTM_FACE_GEOM_POSITION); +			LL_RECORD_BLOCK_TIME(FTM_FACE_GEOM_POSITION);  			gTransformPositionProgram.bind();  			mVertexBuffer->bindForFeedback(0, LLVertexBuffer::TYPE_VERTEX, mGeomIndex, mGeomCount); @@ -1411,7 +1411,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,  		if (rebuild_color)  		{ -			LLFastTimer t(FTM_FACE_GEOM_COLOR); +			LL_RECORD_BLOCK_TIME(FTM_FACE_GEOM_COLOR);  			gTransformColorProgram.bind();  			mVertexBuffer->bindForFeedback(0, LLVertexBuffer::TYPE_COLOR, mGeomIndex, mGeomCount); @@ -1427,7 +1427,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,  		if (rebuild_emissive)  		{ -			LLFastTimer t(FTM_FACE_GEOM_EMISSIVE); +			LL_RECORD_BLOCK_TIME(FTM_FACE_GEOM_EMISSIVE);  			gTransformColorProgram.bind();  			mVertexBuffer->bindForFeedback(0, LLVertexBuffer::TYPE_EMISSIVE, mGeomIndex, mGeomCount); @@ -1448,7 +1448,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,  		if (rebuild_normal)  		{ -			LLFastTimer t(FTM_FACE_GEOM_NORMAL); +			LL_RECORD_BLOCK_TIME(FTM_FACE_GEOM_NORMAL);  			gTransformNormalProgram.bind();  			mVertexBuffer->bindForFeedback(0, LLVertexBuffer::TYPE_NORMAL, mGeomIndex, mGeomCount); @@ -1461,7 +1461,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,  		if (rebuild_tangent)  		{ -			LLFastTimer t(FTM_FACE_GEOM_TANGENT); +			LL_RECORD_BLOCK_TIME(FTM_FACE_GEOM_TANGENT);  			gTransformTangentProgram.bind();  			mVertexBuffer->bindForFeedback(0, LLVertexBuffer::TYPE_TANGENT, mGeomIndex, mGeomCount); @@ -1474,7 +1474,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,  		if (rebuild_tcoord)  		{ -			LLFastTimer t(FTM_FACE_GEOM_TEXTURE); +			LL_RECORD_BLOCK_TIME(FTM_FACE_GEOM_TEXTURE);  			gTransformTexCoordProgram.bind();  			mVertexBuffer->bindForFeedback(0, LLVertexBuffer::TYPE_TEXCOORD0, mGeomIndex, mGeomCount); @@ -1514,7 +1514,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,  		if (rebuild_tcoord)  		{ -			LLFastTimer t(FTM_FACE_GEOM_TEXTURE); +			LL_RECORD_BLOCK_TIME(FTM_FACE_GEOM_TEXTURE);  			//bump setup  			LLVector4a binormal_dir( -sin_ang, cos_ang, 0.f ); @@ -1637,18 +1637,18 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,  				if (texgen != LLTextureEntry::TEX_GEN_PLANAR)  				{ -					LLFastTimer t(FTM_FACE_TEX_QUICK); +					LL_RECORD_BLOCK_TIME(FTM_FACE_TEX_QUICK);  					if (!do_tex_mat)  					{  						if (!do_xform)  						{ -							LLFastTimer t(FTM_FACE_TEX_QUICK_NO_XFORM); +							LL_RECORD_BLOCK_TIME(FTM_FACE_TEX_QUICK_NO_XFORM);  							S32 tc_size = (num_vertices*2*sizeof(F32)+0xF) & ~0xF;  							LLVector4a::memcpyNonAliased16((F32*) tex_coords0.get(), (F32*) vf.mTexCoords, tc_size);  						}  						else  						{ -							LLFastTimer t(FTM_FACE_TEX_QUICK_XFORM); +							LL_RECORD_BLOCK_TIME(FTM_FACE_TEX_QUICK_XFORM);  							F32* dst = (F32*) tex_coords0.get();  							LLVector4a* src = (LLVector4a*) vf.mTexCoords; @@ -1701,7 +1701,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,  				}  				else  				{ //no bump, tex gen planar -					LLFastTimer t(FTM_FACE_TEX_QUICK_PLANAR); +					LL_RECORD_BLOCK_TIME(FTM_FACE_TEX_QUICK_PLANAR);  					if (do_tex_mat)  					{  						for (S32 i = 0; i < num_vertices; i++) @@ -1746,7 +1746,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,  			}  			else  			{ //bump mapped or has material, just do the whole expensive loop -				LLFastTimer t(FTM_FACE_TEX_DEFAULT); +				LL_RECORD_BLOCK_TIME(FTM_FACE_TEX_DEFAULT);  				std::vector<LLVector2> bump_tc; @@ -1897,7 +1897,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,  		if (rebuild_pos)  		{ -			LLFastTimer t(FTM_FACE_GEOM_POSITION); +			LL_RECORD_BLOCK_TIME(FTM_FACE_GEOM_POSITION);  			llassert(num_vertices > 0);  			mVertexBuffer->getVertexStrider(vert, mGeomIndex, mGeomCount, map_range); @@ -1929,7 +1929,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,  			texIdx.set(0,0,0,val);  			{ -				LLFastTimer t(FTM_FACE_POSITION_STORE); +				LL_RECORD_BLOCK_TIME(FTM_FACE_POSITION_STORE);  				LLVector4a tmp;  				do @@ -1943,7 +1943,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,  			}  			{ -				LLFastTimer t(FTM_FACE_POSITION_PAD); +				LL_RECORD_BLOCK_TIME(FTM_FACE_POSITION_PAD);  				S32 aligned_pad_vertices = mGeomCount - num_vertices;  				res.set(res[0], res[1], res[2], 0.f); @@ -1964,7 +1964,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,  		if (rebuild_normal)  		{ -			LLFastTimer t(FTM_FACE_GEOM_NORMAL); +			LL_RECORD_BLOCK_TIME(FTM_FACE_GEOM_NORMAL);  			mVertexBuffer->getNormalStrider(norm, mGeomIndex, mGeomCount, map_range);  			F32* normals = (F32*) norm.get();  			for (S32 i = 0; i < num_vertices; i++) @@ -1984,7 +1984,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,  		if (rebuild_tangent)  		{ -			LLFastTimer t(FTM_FACE_GEOM_TANGENT); +			LL_RECORD_BLOCK_TIME(FTM_FACE_GEOM_TANGENT);  			mVertexBuffer->getTangentStrider(tangent, mGeomIndex, mGeomCount, map_range);  			F32* tangents = (F32*) tangent.get(); @@ -2013,7 +2013,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,  		if (rebuild_weights && vf.mWeights)  		{ -			LLFastTimer t(FTM_FACE_GEOM_WEIGHTS); +			LL_RECORD_BLOCK_TIME(FTM_FACE_GEOM_WEIGHTS);  			mVertexBuffer->getWeight4Strider(wght, mGeomIndex, mGeomCount, map_range);  			F32* weights = (F32*) wght.get();  			LLVector4a::memcpyNonAliased16(weights, (F32*) vf.mWeights, num_vertices*4*sizeof(F32)); @@ -2025,7 +2025,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,  		if (rebuild_color && mVertexBuffer->hasDataType(LLVertexBuffer::TYPE_COLOR) )  		{ -			LLFastTimer t(FTM_FACE_GEOM_COLOR); +			LL_RECORD_BLOCK_TIME(FTM_FACE_GEOM_COLOR);  			mVertexBuffer->getColorStrider(colors, mGeomIndex, mGeomCount, map_range);  			LLVector4a src; @@ -2056,7 +2056,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,  		if (rebuild_emissive)  		{ -			LLFastTimer t(FTM_FACE_GEOM_EMISSIVE); +			LL_RECORD_BLOCK_TIME(FTM_FACE_GEOM_EMISSIVE);  			LLStrider<LLColor4U> emissive;  			mVertexBuffer->getEmissiveStrider(emissive, mGeomIndex, mGeomCount, map_range); diff --git a/indra/newview/llfasttimerview.cpp b/indra/newview/llfasttimerview.cpp index e8db263fae..bbd8f0792a 100755 --- a/indra/newview/llfasttimerview.cpp +++ b/indra/newview/llfasttimerview.cpp @@ -381,7 +381,7 @@ static std::vector<LLColor4> sTimerColors;  void LLFastTimerView::draw()  { -	LLFastTimer t(FTM_RENDER_TIMER); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_TIMER);  	if (!mPauseHistory)  	{ @@ -1019,11 +1019,11 @@ void LLFastTimerView::printLineStats()  	}  } -static LLFastTimer::DeclareTimer FTM_DRAW_LINE_GRAPH("Draw line graph"); +static LLTrace::TimeBlock FTM_DRAW_LINE_GRAPH("Draw line graph");  void LLFastTimerView::drawLineGraph()  { -	LLFastTimer _(FTM_DRAW_LINE_GRAPH); +	LL_RECORD_BLOCK_TIME(FTM_DRAW_LINE_GRAPH);  	//draw line graph history  	gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);  	LLLocalClipRect clip(mGraphRect); @@ -1509,11 +1509,11 @@ void LLFastTimerView::drawBars()  	gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);  } -static LLFastTimer::DeclareTimer FTM_UPDATE_TIMER_BAR_WIDTHS("Update timer bar widths"); +static LLTrace::TimeBlock FTM_UPDATE_TIMER_BAR_WIDTHS("Update timer bar widths");  F32Seconds LLFastTimerView::updateTimerBarWidths(LLTrace::TimeBlock* time_block, TimerBarRow& row, S32 history_index, U32& bar_index)  { -	LLFastTimer _(FTM_UPDATE_TIMER_BAR_WIDTHS); +	LL_RECORD_BLOCK_TIME(FTM_UPDATE_TIMER_BAR_WIDTHS);  	const F32Seconds self_time = history_index == -1  										? mRecording.getPeriodMean(time_block->selfTime(), RUNNING_AVERAGE_WIDTH)   										: mRecording.getPrevRecording(history_index).getSum(time_block->selfTime()); @@ -1537,11 +1537,11 @@ F32Seconds LLFastTimerView::updateTimerBarWidths(LLTrace::TimeBlock* time_block,  	return full_time;  } -static LLFastTimer::DeclareTimer FTM_UPDATE_TIMER_BAR_FRACTIONS("Update timer bar fractions"); +static LLTrace::TimeBlock FTM_UPDATE_TIMER_BAR_FRACTIONS("Update timer bar fractions");  S32 LLFastTimerView::updateTimerBarOffsets(LLTrace::TimeBlock* time_block, TimerBarRow& row, S32 timer_bar_index)  { -	LLFastTimer _(FTM_UPDATE_TIMER_BAR_FRACTIONS); +	LL_RECORD_BLOCK_TIME(FTM_UPDATE_TIMER_BAR_FRACTIONS);  	TimerBar& timer_bar = row.mBars[timer_bar_index];  	const F32Seconds bar_time = timer_bar.mTotalTime - timer_bar.mSelfTime; diff --git a/indra/newview/llflexibleobject.cpp b/indra/newview/llflexibleobject.cpp index caad0afec0..817a853190 100755 --- a/indra/newview/llflexibleobject.cpp +++ b/indra/newview/llflexibleobject.cpp @@ -47,8 +47,8 @@  std::vector<LLVolumeImplFlexible*> LLVolumeImplFlexible::sInstanceList;  std::vector<S32> LLVolumeImplFlexible::sUpdateDelay; -static LLFastTimer::DeclareTimer FTM_FLEXIBLE_REBUILD("Rebuild"); -static LLFastTimer::DeclareTimer FTM_DO_FLEXIBLE_UPDATE("Flexible Update"); +static LLTrace::TimeBlock FTM_FLEXIBLE_REBUILD("Rebuild"); +static LLTrace::TimeBlock FTM_DO_FLEXIBLE_UPDATE("Flexible Update");  // LLFlexibleObjectData::pack/unpack now in llprimitive.cpp @@ -331,14 +331,14 @@ void LLVolumeImplFlexible::updateRenderRes()  // updated every time step. In the future, perhaps there could be an   // optimization similar to what Havok does for objects that are stationary.   //--------------------------------------------------------------------------------- -static LLFastTimer::DeclareTimer FTM_FLEXIBLE_UPDATE("Update Flexies"); +static LLTrace::TimeBlock FTM_FLEXIBLE_UPDATE("Update Flexies");  void LLVolumeImplFlexible::doIdleUpdate()  {  	LLDrawable* drawablep = mVO->mDrawable;  	if (drawablep)  	{ -		//LLFastTimer ftm(FTM_FLEXIBLE_UPDATE); +		//LL_RECORD_BLOCK_TIME(FTM_FLEXIBLE_UPDATE);  		//ensure drawable is active  		drawablep->makeActive(); @@ -421,7 +421,7 @@ inline S32 log2(S32 x)  void LLVolumeImplFlexible::doFlexibleUpdate()  { -	LLFastTimer ftm(FTM_DO_FLEXIBLE_UPDATE); +	LL_RECORD_BLOCK_TIME(FTM_DO_FLEXIBLE_UPDATE);  	LLVolume* volume = mVO->getVolume();  	LLPath *path = &volume->getPath();  	if ((mSimulateRes == 0 || !mInitialized) && mVO->mDrawable->isVisible())  @@ -771,7 +771,7 @@ BOOL LLVolumeImplFlexible::doUpdateGeometry(LLDrawable *drawable)  	if (mRenderRes > -1)  	{ -		LLFastTimer t(FTM_DO_FLEXIBLE_UPDATE); +		LL_RECORD_BLOCK_TIME(FTM_DO_FLEXIBLE_UPDATE);  		doFlexibleUpdate();  	} @@ -791,7 +791,7 @@ BOOL LLVolumeImplFlexible::doUpdateGeometry(LLDrawable *drawable)  		volume->mDrawable->setState(LLDrawable::REBUILD_VOLUME);  		volume->dirtySpatialGroup();  		{ -			LLFastTimer t(FTM_FLEXIBLE_REBUILD); +			LL_RECORD_BLOCK_TIME(FTM_FLEXIBLE_REBUILD);  			doFlexibleRebuild();  		}  		volume->genBBoxes(isVolumeGlobal()); diff --git a/indra/newview/llfolderviewmodelinventory.cpp b/indra/newview/llfolderviewmodelinventory.cpp index 586965e5a0..52f4dd57e5 100755 --- a/indra/newview/llfolderviewmodelinventory.cpp +++ b/indra/newview/llfolderviewmodelinventory.cpp @@ -34,7 +34,7 @@  //  // class LLFolderViewModelInventory  // -static LLFastTimer::DeclareTimer FTM_INVENTORY_SORT("Sort"); +static LLTrace::TimeBlock FTM_INVENTORY_SORT("Sort");  bool LLFolderViewModelInventory::startDrag(std::vector<LLFolderViewModelItem*>& items)  { @@ -63,7 +63,7 @@ bool LLFolderViewModelInventory::startDrag(std::vector<LLFolderViewModelItem*>&  void LLFolderViewModelInventory::sort( LLFolderViewFolder* folder )  { -	LLFastTimer _(FTM_INVENTORY_SORT); +	LL_RECORD_BLOCK_TIME(FTM_INVENTORY_SORT);  	if (!needsSort(folder->getViewModelItem())) return; diff --git a/indra/newview/llhudmanager.cpp b/indra/newview/llhudmanager.cpp index fd28fdeab9..9d7b8b13e3 100755 --- a/indra/newview/llhudmanager.cpp +++ b/indra/newview/llhudmanager.cpp @@ -54,11 +54,11 @@ LLHUDManager::~LLHUDManager()  {  } -static LLFastTimer::DeclareTimer FTM_HUD_EFFECTS("Hud Effects"); +static LLTrace::TimeBlock FTM_HUD_EFFECTS("Hud Effects");  void LLHUDManager::updateEffects()  { -	LLFastTimer ftm(FTM_HUD_EFFECTS); +	LL_RECORD_BLOCK_TIME(FTM_HUD_EFFECTS);  	S32 i;  	for (i = 0; i < mHUDEffects.size(); i++)  	{ diff --git a/indra/newview/llhudobject.cpp b/indra/newview/llhudobject.cpp index 165201c8a1..4b0dadec38 100755 --- a/indra/newview/llhudobject.cpp +++ b/indra/newview/llhudobject.cpp @@ -252,12 +252,12 @@ LLHUDEffect *LLHUDObject::addHUDEffect(const U8 type)  	return hud_objectp;  } -static LLFastTimer::DeclareTimer FTM_HUD_UPDATE("Update Hud"); +static LLTrace::TimeBlock FTM_HUD_UPDATE("Update Hud");  // static  void LLHUDObject::updateAll()  { -	LLFastTimer ftm(FTM_HUD_UPDATE); +	LL_RECORD_BLOCK_TIME(FTM_HUD_UPDATE);  	LLHUDText::updateAll();  	LLHUDIcon::updateAll();  	LLHUDNameTag::updateAll(); diff --git a/indra/newview/llinventoryfilter.cpp b/indra/newview/llinventoryfilter.cpp index baf93a0469..3265676f9b 100755 --- a/indra/newview/llinventoryfilter.cpp +++ b/indra/newview/llinventoryfilter.cpp @@ -42,7 +42,7 @@  #include "llclipboard.h"  #include "lltrans.h" -LLFastTimer::DeclareTimer FT_FILTER_CLIPBOARD("Filter Clipboard"); +LLTrace::TimeBlock FT_FILTER_CLIPBOARD("Filter Clipboard");  LLInventoryFilter::FilterOps::FilterOps(const Params& p)  :	mFilterObjectTypes(p.object_types), @@ -313,7 +313,7 @@ bool LLInventoryFilter::checkAgainstClipboard(const LLUUID& object_id) const  {  	if (LLClipboard::instance().isCutMode())  	{ -		LLFastTimer ft(FT_FILTER_CLIPBOARD); +		LL_RECORD_BLOCK_TIME(FT_FILTER_CLIPBOARD);  		LLUUID current_id = object_id;  		LLInventoryObject *current_object = gInventory.getObject(object_id);  		while (current_id.notNull() && current_object) diff --git a/indra/newview/llinventoryitemslist.cpp b/indra/newview/llinventoryitemslist.cpp index a84aa452dc..f6d0ecc5bf 100755 --- a/indra/newview/llinventoryitemslist.cpp +++ b/indra/newview/llinventoryitemslist.cpp @@ -133,11 +133,11 @@ void LLInventoryItemsList::idle(void* user_data)  	}  } -LLFastTimer::DeclareTimer FTM_INVENTORY_ITEMS_REFRESH("Inventory List Refresh"); +LLTrace::TimeBlock FTM_INVENTORY_ITEMS_REFRESH("Inventory List Refresh");  void LLInventoryItemsList::refresh()  { -	LLFastTimer _(FTM_INVENTORY_ITEMS_REFRESH); +	LL_RECORD_BLOCK_TIME(FTM_INVENTORY_ITEMS_REFRESH);  	static const unsigned ADD_LIMIT = 20;  	uuid_vec_t added_items; diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index 7239a7e850..2a7ae017fb 100755 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -396,11 +396,11 @@ LLInventoryFilter::EFolderShow LLInventoryPanel::getShowFolderState()  	return getFilter().getShowFolderState();  } -static LLFastTimer::DeclareTimer FTM_REFRESH("Inventory Refresh"); +static LLTrace::TimeBlock FTM_REFRESH("Inventory Refresh");  void LLInventoryPanel::modelChanged(U32 mask)  { -	LLFastTimer t2(FTM_REFRESH); +	LL_RECORD_BLOCK_TIME(FTM_REFRESH);  	if (!mViewsInitialized) return; @@ -1295,10 +1295,10 @@ void LLInventoryPanel::removeItemID(const LLUUID& id)  	}  } -LLFastTimer::DeclareTimer FTM_GET_ITEM_BY_ID("Get FolderViewItem by ID"); +LLTrace::TimeBlock FTM_GET_ITEM_BY_ID("Get FolderViewItem by ID");  LLFolderViewItem* LLInventoryPanel::getItemByID(const LLUUID& id)  { -	LLFastTimer _(FTM_GET_ITEM_BY_ID); +	LL_RECORD_BLOCK_TIME(FTM_GET_ITEM_BY_ID);  	std::map<LLUUID, LLFolderViewItem*>::iterator map_it;  	map_it = mItemMap.find(id); diff --git a/indra/newview/llmaterialmgr.cpp b/indra/newview/llmaterialmgr.cpp index 16871adc4d..c5b4aac2f0 100644 --- a/indra/newview/llmaterialmgr.cpp +++ b/indra/newview/llmaterialmgr.cpp @@ -526,11 +526,11 @@ void LLMaterialMgr::onPutResponse(bool success, const LLSD& content)  	}  } -static LLFastTimer::DeclareTimer FTM_MATERIALS_IDLE("Materials"); +static LLTrace::TimeBlock FTM_MATERIALS_IDLE("Materials");  void LLMaterialMgr::onIdle(void*)  { -	LLFastTimer t(FTM_MATERIALS_IDLE); +	LL_RECORD_BLOCK_TIME(FTM_MATERIALS_IDLE);  	LLMaterialMgr* instancep = LLMaterialMgr::getInstance(); diff --git a/indra/newview/llpersistentnotificationstorage.cpp b/indra/newview/llpersistentnotificationstorage.cpp index 666f10df96..bd4b0a0b08 100755 --- a/indra/newview/llpersistentnotificationstorage.cpp +++ b/indra/newview/llpersistentnotificationstorage.cpp @@ -46,11 +46,11 @@ LLPersistentNotificationStorage::~LLPersistentNotificationStorage()  {  } -static LLFastTimer::DeclareTimer FTM_SAVE_NOTIFICATIONS("Save Notifications"); +static LLTrace::TimeBlock FTM_SAVE_NOTIFICATIONS("Save Notifications");  void LLPersistentNotificationStorage::saveNotifications()  { -	LLFastTimer _(FTM_SAVE_NOTIFICATIONS); +	LL_RECORD_BLOCK_TIME(FTM_SAVE_NOTIFICATIONS);  	boost::intrusive_ptr<LLPersistentNotificationChannel> history_channel = boost::dynamic_pointer_cast<LLPersistentNotificationChannel>(LLNotifications::instance().getChannel("Persistent"));  	if (!history_channel) @@ -81,11 +81,11 @@ void LLPersistentNotificationStorage::saveNotifications()  	writeNotifications(output);  } -static LLFastTimer::DeclareTimer FTM_LOAD_NOTIFICATIONS("Load Notifications"); +static LLTrace::TimeBlock FTM_LOAD_NOTIFICATIONS("Load Notifications");  void LLPersistentNotificationStorage::loadNotifications()  { -	LLFastTimer _(FTM_LOAD_NOTIFICATIONS); +	LL_RECORD_BLOCK_TIME(FTM_LOAD_NOTIFICATIONS);  	LL_INFOS("LLPersistentNotificationStorage") << "start loading notifications" << LL_ENDL; diff --git a/indra/newview/llscenemonitor.cpp b/indra/newview/llscenemonitor.cpp index 666fb1a0e5..429d6a9258 100644 --- a/indra/newview/llscenemonitor.cpp +++ b/indra/newview/llscenemonitor.cpp @@ -331,8 +331,8 @@ bool LLSceneMonitor::needsUpdate() const  	return mDiffState == NEED_DIFF;  } -static LLFastTimer::DeclareTimer FTM_GENERATE_SCENE_LOAD_DITHER_TEXTURE("Generate Scene Load Dither Texture"); -static LLFastTimer::DeclareTimer FTM_SCENE_LOAD_IMAGE_DIFF("Scene Load Image Diff"); +static LLTrace::TimeBlock FTM_GENERATE_SCENE_LOAD_DITHER_TEXTURE("Generate Scene Load Dither Texture"); +static LLTrace::TimeBlock FTM_SCENE_LOAD_IMAGE_DIFF("Scene Load Image Diff");  void LLSceneMonitor::compare()  { @@ -350,14 +350,14 @@ void LLSceneMonitor::compare()  		return;   	} -	LLFastTimer _(FTM_SCENE_LOAD_IMAGE_DIFF); +	LL_RECORD_BLOCK_TIME(FTM_SCENE_LOAD_IMAGE_DIFF);  	mDiffState = EXECUTE_DIFF;  	S32 width = gViewerWindow->getWindowWidthRaw();  	S32 height = gViewerWindow->getWindowHeightRaw();  	if(!mDiff)  	{ -		LLFastTimer _(FTM_GENERATE_SCENE_LOAD_DITHER_TEXTURE); +		LL_RECORD_BLOCK_TIME(FTM_GENERATE_SCENE_LOAD_DITHER_TEXTURE);  		mDiff = new LLRenderTarget();  		mDiff->allocate(width, height, GL_RGBA, false, false, LLTexUnit::TT_TEXTURE, true); @@ -365,7 +365,7 @@ void LLSceneMonitor::compare()  	}  	else if(mDiff->getWidth() != width || mDiff->getHeight() != height)  	{ -		LLFastTimer _(FTM_GENERATE_SCENE_LOAD_DITHER_TEXTURE); +		LL_RECORD_BLOCK_TIME(FTM_GENERATE_SCENE_LOAD_DITHER_TEXTURE);  		mDiff->resize(width, height, GL_RGBA);  		generateDitheringTexture(width, height);  	} @@ -416,7 +416,7 @@ void LLSceneMonitor::compare()  //calculate Diff aggregate information in GPU, and enable gl occlusion query to capture it.  void LLSceneMonitor::calcDiffAggregate()  { -	LLFastTimer _(FTM_SCENE_LOAD_IMAGE_DIFF); +	LL_RECORD_BLOCK_TIME(FTM_SCENE_LOAD_IMAGE_DIFF);  	if(mDiffState != EXECUTE_DIFF && !mDebugViewerVisible)  	{ @@ -469,7 +469,7 @@ void LLSceneMonitor::calcDiffAggregate()  static LLTrace::EventStatHandle<> sFramePixelDiff("FramePixelDifference");  void LLSceneMonitor::fetchQueryResult()  { -	LLFastTimer _(FTM_SCENE_LOAD_IMAGE_DIFF); +	LL_RECORD_BLOCK_TIME(FTM_SCENE_LOAD_IMAGE_DIFF);  	// also throttle timing here, to avoid going below sample time due to phasing with frame capture  	static LLCachedControl<F32>  scene_load_sample_time_control(gSavedSettings, "SceneLoadingMonitorSampleTime"); diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp index 0ed6a840e0..fbf3c8c401 100755 --- a/indra/newview/llscreenchannel.cpp +++ b/indra/newview/llscreenchannel.cpp @@ -49,10 +49,10 @@ using namespace LLNotificationsUI;  bool LLScreenChannel::mWasStartUpToastShown = false; -LLFastTimer::DeclareTimer FTM_GET_CHANNEL_RECT("Calculate Notification Channel Region"); +LLTrace::TimeBlock FTM_GET_CHANNEL_RECT("Calculate Notification Channel Region");  LLRect LLScreenChannelBase::getChannelRect()  { -	LLFastTimer _(FTM_GET_CHANNEL_RECT); +	LL_RECORD_BLOCK_TIME(FTM_GET_CHANNEL_RECT);  	if (mFloaterSnapRegion == NULL)  	{ diff --git a/indra/newview/llspatialpartition.cpp b/indra/newview/llspatialpartition.cpp index c7cd0919ec..0fbe1578cf 100755 --- a/indra/newview/llspatialpartition.cpp +++ b/indra/newview/llspatialpartition.cpp @@ -53,8 +53,8 @@  #include "lltextureatlas.h"  #include "llviewershadermgr.h" -static LLFastTimer::DeclareTimer FTM_FRUSTUM_CULL("Frustum Culling"); -static LLFastTimer::DeclareTimer FTM_CULL_REBOUND("Cull Rebound Partition"); +static LLTrace::TimeBlock FTM_FRUSTUM_CULL("Frustum Culling"); +static LLTrace::TimeBlock FTM_CULL_REBOUND("Cull Rebound Partition");  extern bool gShiftFrame; @@ -409,10 +409,10 @@ void LLSpatialGroup::rebuildMesh()  	}  } -static LLFastTimer::DeclareTimer FTM_REBUILD_VBO("VBO Rebuilt"); -static LLFastTimer::DeclareTimer FTM_ADD_GEOMETRY_COUNT("Add Geometry"); -static LLFastTimer::DeclareTimer FTM_CREATE_VB("Create VB"); -static LLFastTimer::DeclareTimer FTM_GET_GEOMETRY("Get Geometry"); +static LLTrace::TimeBlock FTM_REBUILD_VBO("VBO Rebuilt"); +static LLTrace::TimeBlock FTM_ADD_GEOMETRY_COUNT("Add Geometry"); +static LLTrace::TimeBlock FTM_CREATE_VB("Create VB"); +static LLTrace::TimeBlock FTM_GET_GEOMETRY("Get Geometry");  void LLSpatialPartition::rebuildGeom(LLSpatialGroup* group)  { @@ -427,7 +427,7 @@ void LLSpatialPartition::rebuildGeom(LLSpatialGroup* group)  		group->mLastUpdateViewAngle = group->mViewAngle;  	} -	LLFastTimer ftm(FTM_REBUILD_VBO);	 +	LL_RECORD_BLOCK_TIME(FTM_REBUILD_VBO);	  	group->clearDrawMap(); @@ -436,14 +436,14 @@ void LLSpatialPartition::rebuildGeom(LLSpatialGroup* group)  	U32 vertex_count = 0;  	{ -		LLFastTimer t(FTM_ADD_GEOMETRY_COUNT); +		LL_RECORD_BLOCK_TIME(FTM_ADD_GEOMETRY_COUNT);  		addGeometryCount(group, vertex_count, index_count);  	}  	if (vertex_count > 0 && index_count > 0)  	{ //create vertex buffer containing volume geometry for this node  		{ -			LLFastTimer t(FTM_CREATE_VB); +			LL_RECORD_BLOCK_TIME(FTM_CREATE_VB);  			group->mBuilt = 1.f;  			if (group->mVertexBuffer.isNull() ||  				!group->mVertexBuffer->isWriteable() || @@ -461,7 +461,7 @@ void LLSpatialPartition::rebuildGeom(LLSpatialGroup* group)  		}  		{ -			LLFastTimer t(FTM_GET_GEOMETRY); +			LL_RECORD_BLOCK_TIME(FTM_GET_GEOMETRY);  			getGeometry(group);  		}  	} @@ -1441,7 +1441,7 @@ BOOL LLSpatialPartition::getVisibleExtents(LLCamera& camera, LLVector3& visMin,  	visMaxa.load3(visMax.mV);  	{ -		LLFastTimer ftm(FTM_CULL_REBOUND);		 +		LL_RECORD_BLOCK_TIME(FTM_CULL_REBOUND);		  		LLSpatialGroup* group = (LLSpatialGroup*) mOctree->getListener(0);  		group->rebound();  	} @@ -1467,7 +1467,7 @@ S32 LLSpatialPartition::cull(LLCamera &camera, std::vector<LLDrawable *>* result  	((LLSpatialGroup*)mOctree->getListener(0))->checkStates();  #endif  	{ -		LLFastTimer ftm(FTM_CULL_REBOUND);		 +		LL_RECORD_BLOCK_TIME(FTM_CULL_REBOUND);		  		LLSpatialGroup* group = (LLSpatialGroup*) mOctree->getListener(0);  		group->rebound();  	} @@ -1488,7 +1488,7 @@ S32 LLSpatialPartition::cull(LLCamera &camera, bool do_occlusion)  	((LLSpatialGroup*)mOctree->getListener(0))->checkStates();  #endif  	{ -		LLFastTimer ftm(FTM_CULL_REBOUND);		 +		LL_RECORD_BLOCK_TIME(FTM_CULL_REBOUND);		  		LLSpatialGroup* group = (LLSpatialGroup*) mOctree->getListener(0);  		group->rebound();  	} @@ -1499,19 +1499,19 @@ S32 LLSpatialPartition::cull(LLCamera &camera, bool do_occlusion)  	if (LLPipeline::sShadowRender)  	{ -		LLFastTimer ftm(FTM_FRUSTUM_CULL); +		LL_RECORD_BLOCK_TIME(FTM_FRUSTUM_CULL);  		LLOctreeCullShadow culler(&camera);  		culler.traverse(mOctree);  	}  	else if (mInfiniteFarClip || !LLPipeline::sUseFarClip)  	{ -		LLFastTimer ftm(FTM_FRUSTUM_CULL);		 +		LL_RECORD_BLOCK_TIME(FTM_FRUSTUM_CULL);		  		LLOctreeCullNoFarClip culler(&camera);  		culler.traverse(mOctree);  	}  	else  	{ -		LLFastTimer ftm(FTM_FRUSTUM_CULL);		 +		LL_RECORD_BLOCK_TIME(FTM_FRUSTUM_CULL);		  		LLOctreeCull culler(&camera);  		culler.traverse(mOctree);  	} diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp index 92bb5a8beb..b6f6ed811e 100755 --- a/indra/newview/llviewerdisplay.cpp +++ b/indra/newview/llviewerdisplay.cpp @@ -180,11 +180,11 @@ void display_startup()  	glClear(GL_DEPTH_BUFFER_BIT);  } -static LLFastTimer::DeclareTimer FTM_UPDATE_CAMERA("Update Camera"); +static LLTrace::TimeBlock FTM_UPDATE_CAMERA("Update Camera");  void display_update_camera()  { -	LLFastTimer t(FTM_UPDATE_CAMERA); +	LL_RECORD_BLOCK_TIME(FTM_UPDATE_CAMERA);  	// TODO: cut draw distance down if customizing avatar?  	// TODO: cut draw distance on per-parcel basis? @@ -228,29 +228,29 @@ void display_stats()  	}  } -static LLFastTimer::DeclareTimer FTM_PICK("Picking"); -static LLFastTimer::DeclareTimer FTM_RENDER("Render"); -static LLFastTimer::DeclareTimer FTM_UPDATE_SKY("Update Sky"); -static LLFastTimer::DeclareTimer FTM_UPDATE_TEXTURES("Update Textures"); -static LLFastTimer::DeclareTimer FTM_IMAGE_UPDATE("Update Images"); -static LLFastTimer::DeclareTimer FTM_IMAGE_UPDATE_CLASS("Class"); -static LLFastTimer::DeclareTimer FTM_IMAGE_UPDATE_BUMP("Image Update Bump"); -static LLFastTimer::DeclareTimer FTM_IMAGE_UPDATE_LIST("List"); -static LLFastTimer::DeclareTimer FTM_IMAGE_UPDATE_DELETE("Delete"); -static LLFastTimer::DeclareTimer FTM_RESIZE_WINDOW("Resize Window"); -static LLFastTimer::DeclareTimer FTM_HUD_UPDATE("HUD Update"); -static LLFastTimer::DeclareTimer FTM_DISPLAY_UPDATE_GEOM("Update Geom"); -static LLFastTimer::DeclareTimer FTM_TEXTURE_UNBIND("Texture Unbind"); -static LLFastTimer::DeclareTimer FTM_TELEPORT_DISPLAY("Teleport Display"); +static LLTrace::TimeBlock FTM_PICK("Picking"); +static LLTrace::TimeBlock FTM_RENDER("Render"); +static LLTrace::TimeBlock FTM_UPDATE_SKY("Update Sky"); +static LLTrace::TimeBlock FTM_UPDATE_TEXTURES("Update Textures"); +static LLTrace::TimeBlock FTM_IMAGE_UPDATE("Update Images"); +static LLTrace::TimeBlock FTM_IMAGE_UPDATE_CLASS("Class"); +static LLTrace::TimeBlock FTM_IMAGE_UPDATE_BUMP("Image Update Bump"); +static LLTrace::TimeBlock FTM_IMAGE_UPDATE_LIST("List"); +static LLTrace::TimeBlock FTM_IMAGE_UPDATE_DELETE("Delete"); +static LLTrace::TimeBlock FTM_RESIZE_WINDOW("Resize Window"); +static LLTrace::TimeBlock FTM_HUD_UPDATE("HUD Update"); +static LLTrace::TimeBlock FTM_DISPLAY_UPDATE_GEOM("Update Geom"); +static LLTrace::TimeBlock FTM_TEXTURE_UNBIND("Texture Unbind"); +static LLTrace::TimeBlock FTM_TELEPORT_DISPLAY("Teleport Display");  // Paint the display!  void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)  { -	LLFastTimer t(FTM_RENDER); +	LL_RECORD_BLOCK_TIME(FTM_RENDER);  	if (gWindowResized)  	{ //skip render on frames where window has been resized -		LLFastTimer t(FTM_RESIZE_WINDOW); +		LL_RECORD_BLOCK_TIME(FTM_RESIZE_WINDOW);  		gGL.flush();  		glClear(GL_COLOR_BUFFER_BIT);  		gViewerWindow->getWindow()->swapBuffers(); @@ -314,7 +314,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)  	gViewerWindow->checkSettings();  	{ -		LLFastTimer ftm(FTM_PICK); +		LL_RECORD_BLOCK_TIME(FTM_PICK);  		LLAppViewer::instance()->pingMainloopTimeout("Display:Pick");  		gViewerWindow->performPick();  	} @@ -393,7 +393,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)  	if (gTeleportDisplay)  	{ -		LLFastTimer t(FTM_TELEPORT_DISPLAY); +		LL_RECORD_BLOCK_TIME(FTM_TELEPORT_DISPLAY);  		LLAppViewer::instance()->pingMainloopTimeout("Display:Teleport");  		static LLCachedControl<F32> teleport_arrival_delay(gSavedSettings, "TeleportArrivalDelay");  		static LLCachedControl<F32> teleport_local_delay(gSavedSettings, "TeleportLocalDelay"); @@ -590,7 +590,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)  	if (gPipeline.hasRenderDebugFeatureMask(LLPipeline::RENDER_DEBUG_FEATURE_DYNAMIC_TEXTURES))  	{  		LLAppViewer::instance()->pingMainloopTimeout("Display:DynamicTextures"); -		LLFastTimer t(FTM_UPDATE_TEXTURES); +		LL_RECORD_BLOCK_TIME(FTM_UPDATE_TEXTURES);  		if (LLViewerDynamicTexture::updateAllInstances())  		{  			gGL.setColorMask(true, true); @@ -624,14 +624,14 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)  		// *TODO: merge these two methods  		{ -			LLFastTimer t(FTM_HUD_UPDATE); +			LL_RECORD_BLOCK_TIME(FTM_HUD_UPDATE);  			LLHUDManager::getInstance()->updateEffects();  			LLHUDObject::updateAll();  			stop_glerror();  		}  		{ -			LLFastTimer t(FTM_DISPLAY_UPDATE_GEOM); +			LL_RECORD_BLOCK_TIME(FTM_DISPLAY_UPDATE_GEOM);  			const F32 max_geom_update_time = 0.005f*10.f*gFrameIntervalSeconds.value(); // 50 ms/second update time  			gPipeline.createObjects(max_geom_update_time);  			gPipeline.processPartitionQ(); @@ -770,10 +770,10 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)  		LLAppViewer::instance()->pingMainloopTimeout("Display:UpdateImages");  		{ -			LLFastTimer t(FTM_IMAGE_UPDATE); +			LL_RECORD_BLOCK_TIME(FTM_IMAGE_UPDATE);  			{ -				LLFastTimer t(FTM_IMAGE_UPDATE_CLASS); +				LL_RECORD_BLOCK_TIME(FTM_IMAGE_UPDATE_CLASS);  				LLTrace::CountStatHandle<>* velocity_stat = LLViewerCamera::getVelocityStat();  				LLTrace::CountStatHandle<>* angular_velocity_stat = LLViewerCamera::getAngularVelocityStat();  				LLViewerTexture::updateClass(LLTrace::get_frame_recording().getPeriodMeanPerSec(*velocity_stat), @@ -782,19 +782,19 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)  			{ -				LLFastTimer t(FTM_IMAGE_UPDATE_BUMP); +				LL_RECORD_BLOCK_TIME(FTM_IMAGE_UPDATE_BUMP);  				gBumpImageList.updateImages();  // must be called before gTextureList version so that it's textures are thrown out first.  			}  			{ -				LLFastTimer t(FTM_IMAGE_UPDATE_LIST); +				LL_RECORD_BLOCK_TIME(FTM_IMAGE_UPDATE_LIST);  				F32 max_image_decode_time = 0.050f*gFrameIntervalSeconds.value(); // 50 ms/second decode time  				max_image_decode_time = llclamp(max_image_decode_time, 0.002f, 0.005f ); // min 2ms/frame, max 5ms/frame)  				gTextureList.updateImages(max_image_decode_time);  			}  			/*{ -				LLFastTimer t(FTM_IMAGE_UPDATE_DELETE); +				LL_RECORD_BLOCK_TIME(FTM_IMAGE_UPDATE_DELETE);  				//remove dead textures from GL  				LLImageGL::deleteDeadTextures();  				stop_glerror(); @@ -839,7 +839,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)  		{  			LLAppViewer::instance()->pingMainloopTimeout("Display:Sky"); -			LLFastTimer t(FTM_UPDATE_SKY);	 +			LL_RECORD_BLOCK_TIME(FTM_UPDATE_SKY);	  			gSky.updateSky();  		} @@ -971,7 +971,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)  		}  		{ -			LLFastTimer t(FTM_TEXTURE_UNBIND); +			LL_RECORD_BLOCK_TIME(FTM_TEXTURE_UNBIND);  			for (U32 i = 0; i < gGLManager.mNumTextureImageUnits; i++)  			{ //dummy cleanup of any currently bound textures  				if (gGL.getTexUnit(i)->getCurrType() != LLTexUnit::TT_NONE) @@ -1027,7 +1027,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)  		LLAppViewer::instance()->pingMainloopTimeout("Display:RenderUI");  		if (!for_snapshot)  		{ -			LLFastTimer t(FTM_RENDER_UI); +			LL_RECORD_BLOCK_TIME(FTM_RENDER_UI);  			render_ui();  			swap();  		} @@ -1298,7 +1298,7 @@ void render_ui(F32 zoom_factor, int subfield)  		gGL.color4f(1,1,1,1);  		if (gPipeline.hasRenderDebugFeatureMask(LLPipeline::RENDER_DEBUG_FEATURE_UI))  		{ -			LLFastTimer t(FTM_RENDER_UI); +			LL_RECORD_BLOCK_TIME(FTM_RENDER_UI);  			if (!gDisconnected)  			{ @@ -1331,11 +1331,11 @@ void render_ui(F32 zoom_factor, int subfield)  	}  } -static LLFastTimer::DeclareTimer FTM_SWAP("Swap"); +static LLTrace::TimeBlock FTM_SWAP("Swap");  void swap()  { -	LLFastTimer t(FTM_SWAP); +	LL_RECORD_BLOCK_TIME(FTM_SWAP);  	if (gDisplaySwapBuffers)  	{ diff --git a/indra/newview/llviewerjointmesh.cpp b/indra/newview/llviewerjointmesh.cpp index 76fb58b87b..deabc9c8b3 100755 --- a/indra/newview/llviewerjointmesh.cpp +++ b/indra/newview/llviewerjointmesh.cpp @@ -376,7 +376,7 @@ void LLViewerJointMesh::updateFaceSizes(U32 &num_vertices, U32& num_indices, F32  //-----------------------------------------------------------------------------  // updateFaceData()  //----------------------------------------------------------------------------- -static LLFastTimer::DeclareTimer FTM_AVATAR_FACE("Avatar Face"); +static LLTrace::TimeBlock FTM_AVATAR_FACE("Avatar Face");  void LLViewerJointMesh::updateFaceData(LLFace *face, F32 pixel_area, BOOL damp_wind, bool terse_update)  { @@ -399,7 +399,7 @@ void LLViewerJointMesh::updateFaceData(LLFace *face, F32 pixel_area, BOOL damp_w  	} -	LLFastTimer t(FTM_AVATAR_FACE); +	LL_RECORD_BLOCK_TIME(FTM_AVATAR_FACE);  	LLStrider<LLVector3> verticesp;  	LLStrider<LLVector3> normalsp; diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index ba7fb4f985..868cb740dc 100755 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -776,19 +776,19 @@ static bool proximity_comparitor(const LLViewerMediaImpl* i1, const LLViewerMedi  	}  } -static LLFastTimer::DeclareTimer FTM_MEDIA_UPDATE("Update Media"); -static LLFastTimer::DeclareTimer FTM_MEDIA_SPARE_IDLE("Spare Idle"); -static LLFastTimer::DeclareTimer FTM_MEDIA_UPDATE_INTEREST("Update/Interest"); -static LLFastTimer::DeclareTimer FTM_MEDIA_SORT("Sort"); -static LLFastTimer::DeclareTimer FTM_MEDIA_SORT2("Sort 2"); -static LLFastTimer::DeclareTimer FTM_MEDIA_MISC("Misc"); +static LLTrace::TimeBlock FTM_MEDIA_UPDATE("Update Media"); +static LLTrace::TimeBlock FTM_MEDIA_SPARE_IDLE("Spare Idle"); +static LLTrace::TimeBlock FTM_MEDIA_UPDATE_INTEREST("Update/Interest"); +static LLTrace::TimeBlock FTM_MEDIA_SORT("Sort"); +static LLTrace::TimeBlock FTM_MEDIA_SORT2("Sort 2"); +static LLTrace::TimeBlock FTM_MEDIA_MISC("Misc");  //////////////////////////////////////////////////////////////////////////////////////////  // static  void LLViewerMedia::updateMedia(void *dummy_arg)  { -	LLFastTimer t1(FTM_MEDIA_UPDATE); +	LL_RECORD_BLOCK_TIME(FTM_MEDIA_UPDATE);  	// Enable/disable the plugin read thread  	LLPluginProcessParent::setUseReadThread(gSavedSettings.getBOOL("PluginUseReadThread")); @@ -808,7 +808,7 @@ void LLViewerMedia::updateMedia(void *dummy_arg)  	impl_list::iterator end = sViewerMediaImplList.end();  	{ -		LLFastTimer t(FTM_MEDIA_UPDATE_INTEREST); +		LL_RECORD_BLOCK_TIME(FTM_MEDIA_UPDATE_INTEREST);  		for(; iter != end;)  		{  			LLViewerMediaImpl* pimpl = *iter++; @@ -820,12 +820,12 @@ void LLViewerMedia::updateMedia(void *dummy_arg)  	// Let the spare media source actually launch  	if(sSpareBrowserMediaSource)  	{ -		LLFastTimer t(FTM_MEDIA_SPARE_IDLE); +		LL_RECORD_BLOCK_TIME(FTM_MEDIA_SPARE_IDLE);  		sSpareBrowserMediaSource->idle();  	}  	{ -		LLFastTimer t(FTM_MEDIA_SORT); +		LL_RECORD_BLOCK_TIME(FTM_MEDIA_SORT);  		// Sort the static instance list using our interest criteria  		sViewerMediaImplList.sort(priorityComparitor);  	} @@ -857,7 +857,7 @@ void LLViewerMedia::updateMedia(void *dummy_arg)  	// If max_normal + max_low is less than max_instances, things will tend to get unloaded instead of being set to slideshow.  	{ -		LLFastTimer t(FTM_MEDIA_MISC); +		LL_RECORD_BLOCK_TIME(FTM_MEDIA_MISC);  		for(; iter != end; iter++)  		{  			LLViewerMediaImpl* pimpl = *iter; @@ -1025,7 +1025,7 @@ void LLViewerMedia::updateMedia(void *dummy_arg)  	}  	else  	{ -		LLFastTimer t(FTM_MEDIA_SORT2); +		LL_RECORD_BLOCK_TIME(FTM_MEDIA_SORT2);  		// Use a distance-based sort for proximity values.    		std::stable_sort(proximity_order.begin(), proximity_order.end(), proximity_comparitor);  	} @@ -2746,14 +2746,14 @@ bool LLViewerMediaImpl::canNavigateBack()  }  ////////////////////////////////////////////////////////////////////////////////////////// -static LLFastTimer::DeclareTimer FTM_MEDIA_DO_UPDATE("Do Update"); -static LLFastTimer::DeclareTimer FTM_MEDIA_GET_DATA("Get Data"); -static LLFastTimer::DeclareTimer FTM_MEDIA_SET_SUBIMAGE("Set Subimage"); +static LLTrace::TimeBlock FTM_MEDIA_DO_UPDATE("Do Update"); +static LLTrace::TimeBlock FTM_MEDIA_GET_DATA("Get Data"); +static LLTrace::TimeBlock FTM_MEDIA_SET_SUBIMAGE("Set Subimage");  void LLViewerMediaImpl::update()  { -	LLFastTimer t(FTM_MEDIA_DO_UPDATE); +	LL_RECORD_BLOCK_TIME(FTM_MEDIA_DO_UPDATE);  	if(mMediaSource == NULL)  	{  		if(mPriority == LLPluginClassMedia::PRIORITY_UNLOADED) @@ -2855,7 +2855,7 @@ void LLViewerMediaImpl::update()  				U8* data = NULL;  				{ -					LLFastTimer t(FTM_MEDIA_GET_DATA); +					LL_RECORD_BLOCK_TIME(FTM_MEDIA_GET_DATA);  					data = mMediaSource->getBitsData();  				} @@ -2864,7 +2864,7 @@ void LLViewerMediaImpl::update()  				data += ( y_pos * mMediaSource->getTextureDepth() );  				{ -					LLFastTimer t(FTM_MEDIA_SET_SUBIMAGE); +					LL_RECORD_BLOCK_TIME(FTM_MEDIA_SET_SUBIMAGE);  					placeholder_image->setSubImage(  							data,   							mMediaSource->getBitsWidth(),  @@ -3435,11 +3435,11 @@ BOOL LLViewerMediaImpl::isUpdated()  	return mIsUpdated ;  } -static LLFastTimer::DeclareTimer FTM_MEDIA_CALCULATE_INTEREST("Calculate Interest"); +static LLTrace::TimeBlock FTM_MEDIA_CALCULATE_INTEREST("Calculate Interest");  void LLViewerMediaImpl::calculateInterest()  { -	LLFastTimer t(FTM_MEDIA_CALCULATE_INTEREST); +	LL_RECORD_BLOCK_TIME(FTM_MEDIA_CALCULATE_INTEREST);  	LLViewerMediaTexture* texture = LLViewerTextureManager::findMediaTexture( mTextureId );  	if(texture != NULL) diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 7de8e1ff12..c70efd9dfa 100755 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -4237,7 +4237,7 @@ const F32 THRESHOLD_HEAD_ROT_QDOT = 0.9997f;	// ~= 2.5 degrees -- if its less th  const F32 MAX_HEAD_ROT_QDOT = 0.99999f;			// ~= 0.5 degrees -- if its greater than this then no need to update head_rot  												// between these values we delay the updates (but no more than one second) -static LLFastTimer::DeclareTimer FTM_AGENT_UPDATE_SEND("Send Message"); +static LLTrace::TimeBlock FTM_AGENT_UPDATE_SEND("Send Message");  void send_agent_update(BOOL force_send, BOOL send_reliable)  { @@ -4421,7 +4421,7 @@ void send_agent_update(BOOL force_send, BOOL send_reliable)  		}  		*/ -		LLFastTimer t(FTM_AGENT_UPDATE_SEND); +		LL_RECORD_BLOCK_TIME(FTM_AGENT_UPDATE_SEND);  		// Build the message  		msg->newMessageFast(_PREHASH_AgentUpdate);  		msg->nextBlockFast(_PREHASH_AgentData); @@ -4552,14 +4552,14 @@ void process_terse_object_update_improved(LLMessageSystem *mesgsys, void **user_  	gObjectList.processCompressedObjectUpdate(mesgsys, user_data, OUT_TERSE_IMPROVED);  } -static LLFastTimer::DeclareTimer FTM_PROCESS_OBJECTS("Process Kill Objects"); +static LLTrace::TimeBlock FTM_PROCESS_OBJECTS("Process Kill Objects");  const U32 KILLOBJECT_DELETE_OPCODE = 0;  void process_kill_object(LLMessageSystem *mesgsys, void **user_data)  { -	LLFastTimer t(FTM_PROCESS_OBJECTS); +	LL_RECORD_BLOCK_TIME(FTM_PROCESS_OBJECTS);  	LLUUID		id; diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index 9235f23a8c..2c1ab3a73b 100755 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -112,7 +112,7 @@ BOOL		LLViewerObject::sMapDebug = TRUE;  LLColor4	LLViewerObject::sEditSelectColor(	1.0f, 1.f, 0.f, 0.3f);	// Edit OK  LLColor4	LLViewerObject::sNoEditSelectColor(	1.0f, 0.f, 0.f, 0.3f);	// Can't edit  S32			LLViewerObject::sAxisArrowLength(50); -LLTrace::MemStatHandle	LLViewerObject::sMemStat("LLViewerObject"); +//LLTrace::MemStatHandle	LLViewerObject::sMemStat("LLViewerObject");  BOOL		LLViewerObject::sPulseEnabled(FALSE); @@ -133,13 +133,13 @@ std::map<std::string, U32> LLViewerObject::sObjectDataMap;  const F32 PHYSICS_TIMESTEP = 1.f / 45.f; -static LLFastTimer::DeclareTimer FTM_CREATE_OBJECT("Create Object"); +static LLTrace::TimeBlock FTM_CREATE_OBJECT("Create Object");  // static  LLViewerObject *LLViewerObject::createObject(const LLUUID &id, const LLPCode pcode, LLViewerRegion *regionp)  {  	LLViewerObject *res = NULL; -	LLFastTimer t1(FTM_CREATE_OBJECT); +	LL_RECORD_BLOCK_TIME(FTM_CREATE_OBJECT);  	switch (pcode)  	{ @@ -2407,8 +2407,8 @@ void LLViewerObject::loadFlags(U32 flags)  void LLViewerObject::idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time)  { -	//static LLFastTimer::DeclareTimer ftm("Viewer Object"); -	//LLFastTimer t(ftm); +	//static LLTrace::TimeBlock ftm("Viewer Object"); +	//LL_RECORD_BLOCK_TIME(ftm);  	if (!mDead)  	{ diff --git a/indra/newview/llviewerobject.h b/indra/newview/llviewerobject.h index 24dff45ae8..e3972ccae8 100755 --- a/indra/newview/llviewerobject.h +++ b/indra/newview/llviewerobject.h @@ -661,7 +661,7 @@ public:  	LLPointer<class LLHUDIcon> mIcon;  	static			BOOL		sUseSharedDrawables; -	static	LLTrace::MemStatHandle	sMemStat; +	//static	LLTrace::MemStatHandle	sMemStat;  protected:  	// delete an item in the inventory, but don't tell the diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp index 897da7f0b3..686eff8426 100755 --- a/indra/newview/llviewerobjectlist.cpp +++ b/indra/newview/llviewerobjectlist.cpp @@ -289,7 +289,7 @@ void LLViewerObjectList::processUpdateCore(LLViewerObject* objectp,  	}  } -static LLFastTimer::DeclareTimer FTM_PROCESS_OBJECTS("Process Objects"); +static LLTrace::TimeBlock FTM_PROCESS_OBJECTS("Process Objects");  LLViewerObject* LLViewerObjectList::processObjectUpdateFromCache(LLVOCacheEntry* entry, LLViewerRegion* regionp)  { @@ -386,7 +386,7 @@ void LLViewerObjectList::processObjectUpdate(LLMessageSystem *mesgsys,  											 const EObjectUpdateType update_type,  											 bool compressed)  { -	LLFastTimer t(FTM_PROCESS_OBJECTS);	 +	LL_RECORD_BLOCK_TIME(FTM_PROCESS_OBJECTS);	  	LLViewerObject *objectp;  	S32			num_objects; @@ -978,7 +978,7 @@ private:  	LLSD mObjectIDs;  }; -static LLFastTimer::DeclareTimer FTM_IDLE_COPY("Idle Copy"); +static LLTrace::TimeBlock FTM_IDLE_COPY("Idle Copy");  void LLViewerObjectList::update(LLAgent &agent, LLWorld &world)  { @@ -1031,7 +1031,7 @@ void LLViewerObjectList::update(LLAgent &agent, LLWorld &world)  	U32 idle_count = 0;  	{ -		LLFastTimer t(FTM_IDLE_COPY); +		LL_RECORD_BLOCK_TIME(FTM_IDLE_COPY);   		for (std::vector<LLPointer<LLViewerObject> >::iterator active_iter = mActiveObjects.begin();  			active_iter != mActiveObjects.end(); active_iter++) @@ -1328,11 +1328,11 @@ void LLViewerObjectList::cleanupReferences(LLViewerObject *objectp)  	mNumDeadObjects++;  } -static LLFastTimer::DeclareTimer FTM_REMOVE_DRAWABLE("Remove Drawable"); +static LLTrace::TimeBlock FTM_REMOVE_DRAWABLE("Remove Drawable");  void LLViewerObjectList::removeDrawable(LLDrawable* drawablep)  { -	LLFastTimer t(FTM_REMOVE_DRAWABLE); +	LL_RECORD_BLOCK_TIME(FTM_REMOVE_DRAWABLE);  	if (!drawablep)  	{ @@ -1617,9 +1617,9 @@ void LLViewerObjectList::onPhysicsFlagsFetchFailure(const LLUUID& object_id)  	mPendingPhysicsFlags.erase(object_id);  } -static LLFastTimer::DeclareTimer FTM_SHIFT_OBJECTS("Shift Objects"); -static LLFastTimer::DeclareTimer FTM_PIPELINE_SHIFT("Pipeline Shift"); -static LLFastTimer::DeclareTimer FTM_REGION_SHIFT("Region Shift"); +static LLTrace::TimeBlock FTM_SHIFT_OBJECTS("Shift Objects"); +static LLTrace::TimeBlock FTM_PIPELINE_SHIFT("Pipeline Shift"); +static LLTrace::TimeBlock FTM_REGION_SHIFT("Region Shift");  void LLViewerObjectList::shiftObjects(const LLVector3 &offset)  { @@ -1632,7 +1632,7 @@ void LLViewerObjectList::shiftObjects(const LLVector3 &offset)  		return;  	} -	LLFastTimer t(FTM_SHIFT_OBJECTS); +	LL_RECORD_BLOCK_TIME(FTM_SHIFT_OBJECTS);  	LLViewerObject *objectp;  	for (vobj_list_t::iterator iter = mObjects.begin(); iter != mObjects.end(); ++iter) @@ -1651,12 +1651,12 @@ void LLViewerObjectList::shiftObjects(const LLVector3 &offset)  	}  	{ -		LLFastTimer t(FTM_PIPELINE_SHIFT); +		LL_RECORD_BLOCK_TIME(FTM_PIPELINE_SHIFT);  	gPipeline.shiftObjects(offset);  	}  	{ -		LLFastTimer t(FTM_REGION_SHIFT); +		LL_RECORD_BLOCK_TIME(FTM_REGION_SHIFT);  	LLWorld::getInstance()->shiftRegions(offset);  }  } diff --git a/indra/newview/llvieweroctree.cpp b/indra/newview/llvieweroctree.cpp index b6389fac33..2149acbc3b 100644 --- a/indra/newview/llvieweroctree.cpp +++ b/indra/newview/llvieweroctree.cpp @@ -996,8 +996,8 @@ void LLOcclusionCullingGroup::clearOcclusionState(U32 state, S32 mode)  	}  } -static LLFastTimer::DeclareTimer FTM_OCCLUSION_READBACK("Readback Occlusion"); -static LLFastTimer::DeclareTimer FTM_OCCLUSION_WAIT("Occlusion Wait"); +static LLTrace::TimeBlock FTM_OCCLUSION_READBACK("Readback Occlusion"); +static LLTrace::TimeBlock FTM_OCCLUSION_WAIT("Occlusion Wait");  BOOL LLOcclusionCullingGroup::earlyFail(LLCamera* camera, const LLVector4a* bounds)  { @@ -1051,7 +1051,7 @@ void LLOcclusionCullingGroup::checkOcclusion()  {  	if (LLPipeline::sUseOcclusion > 1)  	{ -		LLFastTimer t(FTM_OCCLUSION_READBACK); +		LL_RECORD_BLOCK_TIME(FTM_OCCLUSION_READBACK);  		LLOcclusionCullingGroup* parent = (LLOcclusionCullingGroup*)getParent();  		if (parent && parent->isOcclusionState(LLOcclusionCullingGroup::OCCLUDED))  		{	//if the parent has been marked as occluded, the child is implicitly occluded @@ -1070,7 +1070,7 @@ void LLOcclusionCullingGroup::checkOcclusion()  				if (wait_for_query && mOcclusionIssued[LLViewerCamera::sCurCameraID] < gFrameCount)  				{ //query was issued last frame, wait until it's available  					S32 max_loop = 1024; -					LLFastTimer t(FTM_OCCLUSION_WAIT); +					LL_RECORD_BLOCK_TIME(FTM_OCCLUSION_WAIT);  					while (!available && max_loop-- > 0)  					{  						//do some usefu work while we wait @@ -1135,16 +1135,16 @@ void LLOcclusionCullingGroup::checkOcclusion()  	}  } -static LLFastTimer::DeclareTimer FTM_PUSH_OCCLUSION_VERTS("Push Occlusion"); -static LLFastTimer::DeclareTimer FTM_SET_OCCLUSION_STATE("Occlusion State"); -static LLFastTimer::DeclareTimer FTM_OCCLUSION_EARLY_FAIL("Occlusion Early Fail"); -static LLFastTimer::DeclareTimer FTM_OCCLUSION_ALLOCATE("Allocate"); -static LLFastTimer::DeclareTimer FTM_OCCLUSION_BUILD("Build"); -static LLFastTimer::DeclareTimer FTM_OCCLUSION_BEGIN_QUERY("Begin Query"); -static LLFastTimer::DeclareTimer FTM_OCCLUSION_END_QUERY("End Query"); -static LLFastTimer::DeclareTimer FTM_OCCLUSION_SET_BUFFER("Set Buffer"); -static LLFastTimer::DeclareTimer FTM_OCCLUSION_DRAW_WATER("Draw Water"); -static LLFastTimer::DeclareTimer FTM_OCCLUSION_DRAW("Draw"); +static LLTrace::TimeBlock FTM_PUSH_OCCLUSION_VERTS("Push Occlusion"); +static LLTrace::TimeBlock FTM_SET_OCCLUSION_STATE("Occlusion State"); +static LLTrace::TimeBlock FTM_OCCLUSION_EARLY_FAIL("Occlusion Early Fail"); +static LLTrace::TimeBlock FTM_OCCLUSION_ALLOCATE("Allocate"); +static LLTrace::TimeBlock FTM_OCCLUSION_BUILD("Build"); +static LLTrace::TimeBlock FTM_OCCLUSION_BEGIN_QUERY("Begin Query"); +static LLTrace::TimeBlock FTM_OCCLUSION_END_QUERY("End Query"); +static LLTrace::TimeBlock FTM_OCCLUSION_SET_BUFFER("Set Buffer"); +static LLTrace::TimeBlock FTM_OCCLUSION_DRAW_WATER("Draw Water"); +static LLTrace::TimeBlock FTM_OCCLUSION_DRAW("Draw");  void LLOcclusionCullingGroup::doOcclusion(LLCamera* camera, const LLVector3* region_agent)  { @@ -1164,7 +1164,7 @@ void LLOcclusionCullingGroup::doOcclusion(LLCamera* camera, const LLVector3* reg  		// Don't cull hole/edge water, unless we have the GL_ARB_depth_clamp extension  		if (earlyFail(camera, bounds))  		{ -			LLFastTimer t(FTM_OCCLUSION_EARLY_FAIL); +			LL_RECORD_BLOCK_TIME(FTM_OCCLUSION_EARLY_FAIL);  			setOcclusionState(LLOcclusionCullingGroup::DISCARD_QUERY);  			assert_states_valid(this);  			clearOcclusionState(LLOcclusionCullingGroup::OCCLUDED, LLOcclusionCullingGroup::STATE_MODE_DIFF); @@ -1175,11 +1175,11 @@ void LLOcclusionCullingGroup::doOcclusion(LLCamera* camera, const LLVector3* reg  			if (!isOcclusionState(QUERY_PENDING) || isOcclusionState(DISCARD_QUERY))  			{  				{ //no query pending, or previous query to be discarded -					LLFastTimer t(FTM_RENDER_OCCLUSION); +					LL_RECORD_BLOCK_TIME(FTM_RENDER_OCCLUSION);  					if (!mOcclusionQuery[LLViewerCamera::sCurCameraID])  					{ -						LLFastTimer t(FTM_OCCLUSION_ALLOCATE); +						LL_RECORD_BLOCK_TIME(FTM_OCCLUSION_ALLOCATE);  						mOcclusionQuery[LLViewerCamera::sCurCameraID] = getNewOcclusionQueryObjectName();  					} @@ -1205,13 +1205,13 @@ void LLOcclusionCullingGroup::doOcclusion(LLCamera* camera, const LLVector3* reg  					add(sOcclusionQueriesInFlight, 1);  					{ -						LLFastTimer t(FTM_PUSH_OCCLUSION_VERTS); +						LL_RECORD_BLOCK_TIME(FTM_PUSH_OCCLUSION_VERTS);  						//store which frame this query was issued on  						mOcclusionIssued[LLViewerCamera::sCurCameraID] = gFrameCount;  						{ -							LLFastTimer t(FTM_OCCLUSION_BEGIN_QUERY); +							LL_RECORD_BLOCK_TIME(FTM_OCCLUSION_BEGIN_QUERY);  							glBeginQueryARB(mode, mOcclusionQuery[LLViewerCamera::sCurCameraID]);					  						} @@ -1225,7 +1225,7 @@ void LLOcclusionCullingGroup::doOcclusion(LLCamera* camera, const LLVector3* reg  						if (!use_depth_clamp && mSpatialPartition->mDrawableType == LLDrawPool::POOL_VOIDWATER)  						{ -							LLFastTimer t(FTM_OCCLUSION_DRAW_WATER); +							LL_RECORD_BLOCK_TIME(FTM_OCCLUSION_DRAW_WATER);  							LLGLSquashToFarClip squash(glh_get_current_projection(), 1);  							if (camera->getOrigin().isExactlyZero()) @@ -1240,7 +1240,7 @@ void LLOcclusionCullingGroup::doOcclusion(LLCamera* camera, const LLVector3* reg  						}  						else  						{ -							LLFastTimer t(FTM_OCCLUSION_DRAW); +							LL_RECORD_BLOCK_TIME(FTM_OCCLUSION_DRAW);  							if (camera->getOrigin().isExactlyZero())  							{ //origin is invalid, draw entire box  								gPipeline.mCubeVB->drawRange(LLRender::TRIANGLE_FAN, 0, 7, 8, 0); @@ -1254,14 +1254,14 @@ void LLOcclusionCullingGroup::doOcclusion(LLCamera* camera, const LLVector3* reg  						{ -							LLFastTimer t(FTM_OCCLUSION_END_QUERY); +							LL_RECORD_BLOCK_TIME(FTM_OCCLUSION_END_QUERY);  							glEndQueryARB(mode);  						}  					}  				}  				{ -					LLFastTimer t(FTM_SET_OCCLUSION_STATE); +					LL_RECORD_BLOCK_TIME(FTM_SET_OCCLUSION_STATE);  					setOcclusionState(LLOcclusionCullingGroup::QUERY_PENDING);  					clearOcclusionState(LLOcclusionCullingGroup::DISCARD_QUERY);  				} diff --git a/indra/newview/llvieweroctree.h b/indra/newview/llvieweroctree.h index e610db96eb..342d149491 100644 --- a/indra/newview/llvieweroctree.h +++ b/indra/newview/llvieweroctree.h @@ -210,15 +210,15 @@ public:  		*this = rhs;  	} -	void* operator new(size_t size) -	{ -		return ll_aligned_malloc_16(size); -	} - -	void operator delete(void* ptr) -	{ -		ll_aligned_free_16(ptr); -	} +	//void* operator new(size_t size) +	//{ +	//	return ll_aligned_malloc_16(size); +	//} + +	//void operator delete(void* ptr) +	//{ +	//	ll_aligned_free_16(ptr); +	//}  	bool removeFromGroup(LLViewerOctreeEntryData* data);  	bool removeFromGroup(LLViewerOctreeEntry* entry); diff --git a/indra/newview/llviewerpartsim.cpp b/indra/newview/llviewerpartsim.cpp index 09b6b8eb4b..eb89a887ac 100755 --- a/indra/newview/llviewerpartsim.cpp +++ b/indra/newview/llviewerpartsim.cpp @@ -631,7 +631,7 @@ void LLViewerPartSim::shift(const LLVector3 &offset)  	}  } -static LLFastTimer::DeclareTimer FTM_SIMULATE_PARTICLES("Simulate Particles"); +static LLTrace::TimeBlock FTM_SIMULATE_PARTICLES("Simulate Particles");  void LLViewerPartSim::updateSimulation()  { @@ -644,7 +644,7 @@ void LLViewerPartSim::updateSimulation()  		return;  	} -	LLFastTimer ftm(FTM_SIMULATE_PARTICLES); +	LL_RECORD_BLOCK_TIME(FTM_SIMULATE_PARTICLES);  	// Start at a random particle system so the same  	// particle system doesn't always get first pick at the diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index 8cb35cd30b..09bf022008 100755 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -455,7 +455,7 @@ const S32 min_non_tex_system_mem = (128<<20); // 128 MB  F32 texmem_lower_bound_scale = 0.85f;  F32 texmem_middle_bound_scale = 0.925f; -static LLFastTimer::DeclareTimer FTM_TEXTURE_MEMORY_CHECK("Memory Check"); +static LLTrace::TimeBlock FTM_TEXTURE_MEMORY_CHECK("Memory Check");  //static   bool LLViewerTexture::isMemoryForTextureLow() @@ -469,7 +469,7 @@ bool LLViewerTexture::isMemoryForTextureLow()  	}  	timer.reset(); -	LLFastTimer t(FTM_TEXTURE_MEMORY_CHECK); +	LL_RECORD_BLOCK_TIME(FTM_TEXTURE_MEMORY_CHECK);  	const S32Megabytes MIN_FREE_TEXTURE_MEMORY(5); //MB  	const S32Megabytes MIN_FREE_MAIN_MEMORY(100); //MB	 @@ -510,8 +510,8 @@ bool LLViewerTexture::isMemoryForTextureLow()  	return low_mem;  } -static LLFastTimer::DeclareTimer FTM_TEXTURE_UPDATE_MEDIA("Media"); -static LLFastTimer::DeclareTimer FTM_TEXTURE_UPDATE_TEST("Test"); +static LLTrace::TimeBlock FTM_TEXTURE_UPDATE_MEDIA("Media"); +static LLTrace::TimeBlock FTM_TEXTURE_UPDATE_TEST("Test");  //static  void LLViewerTexture::updateClass(const F32 velocity, const F32 angular_velocity) @@ -521,12 +521,12 @@ void LLViewerTexture::updateClass(const F32 velocity, const F32 angular_velocity  	LLTexturePipelineTester* tester = (LLTexturePipelineTester*)LLMetricPerformanceTesterBasic::getTester(sTesterName);  	if (tester)  	{ -		LLFastTimer t(FTM_TEXTURE_UPDATE_TEST); +		LL_RECORD_BLOCK_TIME(FTM_TEXTURE_UPDATE_TEST);  		tester->update();  	}  	{ -		LLFastTimer t(FTM_TEXTURE_UPDATE_MEDIA); +		LL_RECORD_BLOCK_TIME(FTM_TEXTURE_UPDATE_MEDIA);  		LLViewerMediaTexture::updateClass();  	} diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp index cb7ea1f637..4958c38c4e 100755 --- a/indra/newview/llviewertexturelist.cpp +++ b/indra/newview/llviewertexturelist.cpp @@ -68,7 +68,7 @@ void (*LLViewerTextureList::sUUIDCallback)(void **, const LLUUID&) = NULL;  S32 LLViewerTextureList::sNumImages = 0;  LLViewerTextureList gTextureList; -static LLFastTimer::DeclareTimer FTM_PROCESS_IMAGES("Process Images"); +static LLTrace::TimeBlock FTM_PROCESS_IMAGES("Process Images");  /////////////////////////////////////////////////////////////////////////////// @@ -638,18 +638,18 @@ void LLViewerTextureList::dirtyImage(LLViewerFetchedTexture *image)  }  //////////////////////////////////////////////////////////////////////////// -static LLFastTimer::DeclareTimer FTM_IMAGE_MARK_DIRTY("Dirty Images"); -static LLFastTimer::DeclareTimer FTM_IMAGE_UPDATE_PRIORITIES("Prioritize"); -static LLFastTimer::DeclareTimer FTM_IMAGE_CALLBACKS("Callbacks"); -static LLFastTimer::DeclareTimer FTM_IMAGE_FETCH("Fetch"); -static LLFastTimer::DeclareTimer FTM_FAST_CACHE_IMAGE_FETCH("Fast Cache Fetch"); -static LLFastTimer::DeclareTimer FTM_IMAGE_CREATE("Create"); -static LLFastTimer::DeclareTimer FTM_IMAGE_STATS("Stats"); -static LLFastTimer::DeclareTimer FTM_UPDATE_IMAGES("Update Images"); +static LLTrace::TimeBlock FTM_IMAGE_MARK_DIRTY("Dirty Images"); +static LLTrace::TimeBlock FTM_IMAGE_UPDATE_PRIORITIES("Prioritize"); +static LLTrace::TimeBlock FTM_IMAGE_CALLBACKS("Callbacks"); +static LLTrace::TimeBlock FTM_IMAGE_FETCH("Fetch"); +static LLTrace::TimeBlock FTM_FAST_CACHE_IMAGE_FETCH("Fast Cache Fetch"); +static LLTrace::TimeBlock FTM_IMAGE_CREATE("Create"); +static LLTrace::TimeBlock FTM_IMAGE_STATS("Stats"); +static LLTrace::TimeBlock FTM_UPDATE_IMAGES("Update Images");  void LLViewerTextureList::updateImages(F32 max_time)  { -	LLFastTimer _(FTM_UPDATE_IMAGES); +	LL_RECORD_BLOCK_TIME(FTM_UPDATE_IMAGES);  	static BOOL cleared = FALSE;  	if(gTeleportDisplay)  	{ @@ -677,37 +677,37 @@ void LLViewerTextureList::updateImages(F32 max_time)  	{  		//loading from fast cache  -		LLFastTimer t(FTM_FAST_CACHE_IMAGE_FETCH); +		LL_RECORD_BLOCK_TIME(FTM_FAST_CACHE_IMAGE_FETCH);  		max_time -= updateImagesLoadingFastCache(max_time);  	}  	{ -		LLFastTimer t(FTM_IMAGE_UPDATE_PRIORITIES); +		LL_RECORD_BLOCK_TIME(FTM_IMAGE_UPDATE_PRIORITIES);  		updateImagesDecodePriorities();  	}  	F32 total_max_time = max_time;  	{ -		LLFastTimer t(FTM_IMAGE_FETCH); +		LL_RECORD_BLOCK_TIME(FTM_IMAGE_FETCH);  		max_time -= updateImagesFetchTextures(max_time);  	}  	{ -		LLFastTimer t(FTM_IMAGE_CREATE); +		LL_RECORD_BLOCK_TIME(FTM_IMAGE_CREATE);  		max_time = llmax(max_time, total_max_time*.50f); // at least 50% of max_time  		max_time -= updateImagesCreateTextures(max_time);  	}  	if (!mDirtyTextureList.empty())  	{ -		LLFastTimer t(FTM_IMAGE_MARK_DIRTY); +		LL_RECORD_BLOCK_TIME(FTM_IMAGE_MARK_DIRTY);  		gPipeline.dirtyPoolObjectTextures(mDirtyTextureList);  		mDirtyTextureList.clear();  	}  	{ -		LLFastTimer t(FTM_IMAGE_CALLBACKS); +		LL_RECORD_BLOCK_TIME(FTM_IMAGE_CALLBACKS);  		bool didone = false;  		for (image_list_t::iterator iter = mCallbackList.begin();  			iter != mCallbackList.end(); ) @@ -728,7 +728,7 @@ void LLViewerTextureList::updateImages(F32 max_time)  	}  	{ -		LLFastTimer t(FTM_IMAGE_STATS); +		LL_RECORD_BLOCK_TIME(FTM_IMAGE_STATS);  		updateImagesUpdateStats();  	}  } @@ -1360,7 +1360,7 @@ void LLViewerTextureList::receiveImageHeader(LLMessageSystem *msg, void **user_d  {  	static LLCachedControl<bool> log_texture_traffic(gSavedSettings,"LogTextureNetworkTraffic") ; -	LLFastTimer t(FTM_PROCESS_IMAGES); +	LL_RECORD_BLOCK_TIME(FTM_PROCESS_IMAGES);  	// Receive image header, copy into image object and decompresses   	// if this is a one-packet image.  @@ -1432,7 +1432,7 @@ void LLViewerTextureList::receiveImagePacket(LLMessageSystem *msg, void **user_d  {  	static LLCachedControl<bool> log_texture_traffic(gSavedSettings,"LogTextureNetworkTraffic") ; -	LLFastTimer t(FTM_PROCESS_IMAGES); +	LL_RECORD_BLOCK_TIME(FTM_PROCESS_IMAGES);  	// Receives image packet, copy into image object,  	// checks if all packets received, decompresses if so.  @@ -1505,7 +1505,7 @@ void LLViewerTextureList::receiveImagePacket(LLMessageSystem *msg, void **user_d  // static  void LLViewerTextureList::processImageNotInDatabase(LLMessageSystem *msg,void **user_data)  { -	LLFastTimer t(FTM_PROCESS_IMAGES); +	LL_RECORD_BLOCK_TIME(FTM_PROCESS_IMAGES);  	LLUUID image_id;  	msg->getUUIDFast(_PREHASH_ImageID, _PREHASH_ID, image_id); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 3a62ab68a0..ee4972e13b 100755 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -2796,13 +2796,13 @@ void append_xui_tooltip(LLView* viewp, LLToolTip::Params& params)  	}  } -static LLFastTimer::DeclareTimer ftm("Update UI"); +static LLTrace::TimeBlock ftm("Update UI");  // Update UI based on stored mouse position from mouse-move  // event processing.  void LLViewerWindow::updateUI()  { -	LLFastTimer t(ftm); +	LL_RECORD_BLOCK_TIME(ftm);  	static std::string last_handle_msg; @@ -3374,10 +3374,10 @@ void LLViewerWindow::updateKeyboardFocus()  	}  } -static LLFastTimer::DeclareTimer FTM_UPDATE_WORLD_VIEW("Update World View"); +static LLTrace::TimeBlock FTM_UPDATE_WORLD_VIEW("Update World View");  void LLViewerWindow::updateWorldViewRect(bool use_full_window)  { -	LLFastTimer ft(FTM_UPDATE_WORLD_VIEW); +	LL_RECORD_BLOCK_TIME(FTM_UPDATE_WORLD_VIEW);  	// start off using whole window to render world  	LLRect new_world_rect = mWindowRectRaw; @@ -4871,11 +4871,11 @@ void LLViewerWindow::requestResolutionUpdate()  	mResDirty = true;  } -static LLFastTimer::DeclareTimer FTM_WINDOW_CHECK_SETTINGS("Window Settings"); +static LLTrace::TimeBlock FTM_WINDOW_CHECK_SETTINGS("Window Settings");  void LLViewerWindow::checkSettings()  { -	LLFastTimer t(FTM_WINDOW_CHECK_SETTINGS); +	LL_RECORD_BLOCK_TIME(FTM_WINDOW_CHECK_SETTINGS);  	if (mStatesDirty)  	{  		gGL.refreshState(); diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 724ba3c85e..1b5b83aa39 100755 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -1918,8 +1918,8 @@ S32 LLVOAvatar::setTETexture(const U8 te, const LLUUID& uuid)  	return setTETextureCore(te, image);  } -static LLFastTimer::DeclareTimer FTM_AVATAR_UPDATE("Avatar Update"); -static LLFastTimer::DeclareTimer FTM_JOINT_UPDATE("Update Joints"); +static LLTrace::TimeBlock FTM_AVATAR_UPDATE("Avatar Update"); +static LLTrace::TimeBlock FTM_JOINT_UPDATE("Update Joints");  //------------------------------------------------------------------------  // LLVOAvatar::dumpAnimationState() @@ -1953,7 +1953,7 @@ void LLVOAvatar::dumpAnimationState()  //------------------------------------------------------------------------  void LLVOAvatar::idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time)  { -	LLFastTimer t(FTM_AVATAR_UPDATE); +	LL_RECORD_BLOCK_TIME(FTM_AVATAR_UPDATE);  	if (isDead())  	{ @@ -1975,7 +1975,7 @@ void LLVOAvatar::idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time)  	// force asynchronous drawable update  	if(mDrawable.notNull())  	{	 -		LLFastTimer t(FTM_JOINT_UPDATE); +		LL_RECORD_BLOCK_TIME(FTM_JOINT_UPDATE);  		if (mIsSitting && getParent())  		{ @@ -2158,7 +2158,7 @@ void LLVOAvatar::idleUpdateVoiceVisualizer(bool voice_enabled)  	}//if ( voiceEnabled )  }		 -static LLFastTimer::DeclareTimer FTM_ATTACHMENT_UPDATE("Update Attachments"); +static LLTrace::TimeBlock FTM_ATTACHMENT_UPDATE("Update Attachments");  void LLVOAvatar::idleUpdateMisc(bool detailed_update)  { @@ -2175,7 +2175,7 @@ void LLVOAvatar::idleUpdateMisc(bool detailed_update)  	// update attachments positions  	if (detailed_update || !sUseImpostors)  	{ -		LLFastTimer t(FTM_ATTACHMENT_UPDATE); +		LL_RECORD_BLOCK_TIME(FTM_ATTACHMENT_UPDATE);  		for (attachment_map_t::iterator iter = mAttachmentPoints.begin();   			 iter != mAttachmentPoints.end();  			 ++iter) @@ -5334,10 +5334,10 @@ void LLVOAvatar::updateGL()  //-----------------------------------------------------------------------------  // updateGeometry()  //----------------------------------------------------------------------------- -static LLFastTimer::DeclareTimer FTM_UPDATE_AVATAR("Update Avatar"); +static LLTrace::TimeBlock FTM_UPDATE_AVATAR("Update Avatar");  BOOL LLVOAvatar::updateGeometry(LLDrawable *drawable)  { -	LLFastTimer ftm(FTM_UPDATE_AVATAR); +	LL_RECORD_BLOCK_TIME(FTM_UPDATE_AVATAR);   	if (!(gPipeline.hasRenderType(LLPipeline::RENDER_TYPE_AVATAR)))  	{  		return TRUE; diff --git a/indra/newview/llvocache.cpp b/indra/newview/llvocache.cpp index 1cfda038a8..3c09981f7d 100755 --- a/indra/newview/llvocache.cpp +++ b/indra/newview/llvocache.cpp @@ -38,7 +38,7 @@  F32 LLVOCacheEntry::sBackDistanceSquared = 0.f;  F32 LLVOCacheEntry::sBackAngleTanSquared = 0.f;  BOOL LLVOCachePartition::sNeedsOcclusionCheck = FALSE; -LLTrace::MemStatHandle	LLVOCachePartition::sMemStat("LLVOCachePartition"); +//LLTrace::MemStatHandle	LLVOCachePartition::sMemStat("LLVOCachePartition");  BOOL check_read(LLAPRFile* apr_file, void* src, S32 n_bytes)   { diff --git a/indra/newview/llvocache.h b/indra/newview/llvocache.h index 52b25b7f91..1fa019cfa6 100755 --- a/indra/newview/llvocache.h +++ b/indra/newview/llvocache.h @@ -37,7 +37,9 @@  // Cache entries  class LLCamera; -class LLVOCacheEntry : public LLViewerOctreeEntryData +class LLVOCacheEntry  +:	public LLViewerOctreeEntryData, +	public LLTrace::MemTrackable<LLVOCacheEntry, 16>  {  public:  	enum //low 16-bit state @@ -174,7 +176,7 @@ public:  public:  	static BOOL sNeedsOcclusionCheck; -	static	LLTrace::MemStatHandle	sMemStat; +	//static	LLTrace::MemStatHandle	sMemStat;  private:  	BOOL  mDirty; diff --git a/indra/newview/llvograss.cpp b/indra/newview/llvograss.cpp index a60d8a2284..1abb081e73 100755 --- a/indra/newview/llvograss.cpp +++ b/indra/newview/llvograss.cpp @@ -412,11 +412,11 @@ LLDrawable* LLVOGrass::createDrawable(LLPipeline *pipeline)  	return mDrawable;  } -static LLFastTimer::DeclareTimer FTM_UPDATE_GRASS("Update Grass"); +static LLTrace::TimeBlock FTM_UPDATE_GRASS("Update Grass");  BOOL LLVOGrass::updateGeometry(LLDrawable *drawable)  { -	LLFastTimer ftm(FTM_UPDATE_GRASS); +	LL_RECORD_BLOCK_TIME(FTM_UPDATE_GRASS);  	dirtySpatialGroup(); @@ -670,11 +670,11 @@ void LLGrassPartition::addGeometryCount(LLSpatialGroup* group, U32& vertex_count  	}  } -static LLFastTimer::DeclareTimer FTM_REBUILD_GRASS_VB("Grass VB"); +static LLTrace::TimeBlock FTM_REBUILD_GRASS_VB("Grass VB");  void LLGrassPartition::getGeometry(LLSpatialGroup* group)  { -	LLFastTimer ftm(FTM_REBUILD_GRASS_VB); +	LL_RECORD_BLOCK_TIME(FTM_REBUILD_GRASS_VB);  	std::sort(mFaceList.begin(), mFaceList.end(), LLFace::CompareDistanceGreater()); diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp index 6ff849cfd2..f7224684bb 100755 --- a/indra/newview/llvoicevivox.cpp +++ b/indra/newview/llvoicevivox.cpp @@ -6314,7 +6314,7 @@ LLVivoxProtocolParser::~LLVivoxProtocolParser()  		XML_ParserFree(parser);  } -static LLFastTimer::DeclareTimer FTM_VIVOX_PROCESS("Vivox Process"); +static LLTrace::TimeBlock FTM_VIVOX_PROCESS("Vivox Process");  // virtual  LLIOPipe::EStatus LLVivoxProtocolParser::process_impl( @@ -6324,7 +6324,7 @@ LLIOPipe::EStatus LLVivoxProtocolParser::process_impl(  													  LLSD& context,  													  LLPumpIO* pump)  { -	LLFastTimer t(FTM_VIVOX_PROCESS); +	LL_RECORD_BLOCK_TIME(FTM_VIVOX_PROCESS);  	LLBufferStream istr(channels, buffer.get());  	std::ostringstream ostr;  	while (istr.good()) diff --git a/indra/newview/llvopartgroup.cpp b/indra/newview/llvopartgroup.cpp index 6402a484ec..3c93460d33 100755 --- a/indra/newview/llvopartgroup.cpp +++ b/indra/newview/llvopartgroup.cpp @@ -286,10 +286,10 @@ LLVector3 LLVOPartGroup::getCameraPosition() const  	return gAgentCamera.getCameraPositionAgent();  } -static LLFastTimer::DeclareTimer FTM_UPDATE_PARTICLES("Update Particles"); +static LLTrace::TimeBlock FTM_UPDATE_PARTICLES("Update Particles");  BOOL LLVOPartGroup::updateGeometry(LLDrawable *drawable)  { -	LLFastTimer ftm(FTM_UPDATE_PARTICLES); +	LL_RECORD_BLOCK_TIME(FTM_UPDATE_PARTICLES);  	dirtySpatialGroup(); @@ -611,7 +611,7 @@ LLHUDParticlePartition::LLHUDParticlePartition(LLViewerRegion* regionp) :  	mPartitionType = LLViewerRegion::PARTITION_HUD_PARTICLE;  } -static LLFastTimer::DeclareTimer FTM_REBUILD_PARTICLE_VBO("Particle VBO"); +static LLTrace::TimeBlock FTM_REBUILD_PARTICLE_VBO("Particle VBO");  void LLParticlePartition::rebuildGeom(LLSpatialGroup* group)  { @@ -626,7 +626,7 @@ void LLParticlePartition::rebuildGeom(LLSpatialGroup* group)  		group->mLastUpdateViewAngle = group->mViewAngle;  	} -	LLFastTimer ftm(FTM_REBUILD_PARTICLE_VBO);	 +	LL_RECORD_BLOCK_TIME(FTM_REBUILD_PARTICLE_VBO);	  	group->clearDrawMap(); @@ -700,11 +700,11 @@ void LLParticlePartition::addGeometryCount(LLSpatialGroup* group, U32& vertex_co  } -static LLFastTimer::DeclareTimer FTM_REBUILD_PARTICLE_GEOM("Particle Geom"); +static LLTrace::TimeBlock FTM_REBUILD_PARTICLE_GEOM("Particle Geom");  void LLParticlePartition::getGeometry(LLSpatialGroup* group)  { -	LLFastTimer ftm(FTM_REBUILD_PARTICLE_GEOM); +	LL_RECORD_BLOCK_TIME(FTM_REBUILD_PARTICLE_GEOM);  	std::sort(mFaceList.begin(), mFaceList.end(), LLFace::CompareDistanceGreater()); diff --git a/indra/newview/llvosky.cpp b/indra/newview/llvosky.cpp index 85e8fd8bf4..00e52531d6 100755 --- a/indra/newview/llvosky.cpp +++ b/indra/newview/llvosky.cpp @@ -1243,7 +1243,7 @@ void LLVOSky::createDummyVertexBuffer()  	}  } -static LLFastTimer::DeclareTimer FTM_RENDER_FAKE_VBO_UPDATE("Fake VBO Update"); +static LLTrace::TimeBlock FTM_RENDER_FAKE_VBO_UPDATE("Fake VBO Update");  void LLVOSky::updateDummyVertexBuffer()  {	 @@ -1256,7 +1256,7 @@ void LLVOSky::updateDummyVertexBuffer()  		return ;  	} -	LLFastTimer t(FTM_RENDER_FAKE_VBO_UPDATE) ; +	LL_RECORD_BLOCK_TIME(FTM_RENDER_FAKE_VBO_UPDATE) ;  	if(!mFace[FACE_DUMMY] || !mFace[FACE_DUMMY]->getVertexBuffer())  		createDummyVertexBuffer() ; @@ -1269,11 +1269,11 @@ void LLVOSky::updateDummyVertexBuffer()  //----------------------------------  //end of fake vertex buffer updating  //---------------------------------- -static LLFastTimer::DeclareTimer FTM_GEO_SKY("Sky Geometry"); +static LLTrace::TimeBlock FTM_GEO_SKY("Sky Geometry");  BOOL LLVOSky::updateGeometry(LLDrawable *drawable)  { -	LLFastTimer ftm(FTM_GEO_SKY); +	LL_RECORD_BLOCK_TIME(FTM_GEO_SKY);  	if (mFace[FACE_REFLECTION] == NULL)  	{  		LLDrawPoolWater *poolp = (LLDrawPoolWater*) gPipeline.getPool(LLDrawPool::POOL_WATER); diff --git a/indra/newview/llvosurfacepatch.cpp b/indra/newview/llvosurfacepatch.cpp index 178542cc88..c77ba26ba3 100755 --- a/indra/newview/llvosurfacepatch.cpp +++ b/indra/newview/llvosurfacepatch.cpp @@ -212,7 +212,7 @@ LLDrawable *LLVOSurfacePatch::createDrawable(LLPipeline *pipeline)  	return mDrawable;  } -static LLFastTimer::DeclareTimer FTM_UPDATE_TERRAIN("Update Terrain"); +static LLTrace::TimeBlock FTM_UPDATE_TERRAIN("Update Terrain");  void LLVOSurfacePatch::updateGL()  { @@ -224,7 +224,7 @@ void LLVOSurfacePatch::updateGL()  BOOL LLVOSurfacePatch::updateGeometry(LLDrawable *drawable)  { -	LLFastTimer ftm(FTM_UPDATE_TERRAIN); +	LL_RECORD_BLOCK_TIME(FTM_UPDATE_TERRAIN);  	dirtySpatialGroup(TRUE); @@ -1070,10 +1070,10 @@ LLVertexBuffer* LLTerrainPartition::createVertexBuffer(U32 type_mask, U32 usage)  	return new LLVertexBufferTerrain();  } -static LLFastTimer::DeclareTimer FTM_REBUILD_TERRAIN_VB("Terrain VB"); +static LLTrace::TimeBlock FTM_REBUILD_TERRAIN_VB("Terrain VB");  void LLTerrainPartition::getGeometry(LLSpatialGroup* group)  { -	LLFastTimer ftm(FTM_REBUILD_TERRAIN_VB); +	LL_RECORD_BLOCK_TIME(FTM_REBUILD_TERRAIN_VB);  	LLVertexBuffer* buffer = group->mVertexBuffer; diff --git a/indra/newview/llvotree.cpp b/indra/newview/llvotree.cpp index f5206b74ea..dad8ba09fe 100755 --- a/indra/newview/llvotree.cpp +++ b/indra/newview/llvotree.cpp @@ -479,11 +479,11 @@ LLDrawable* LLVOTree::createDrawable(LLPipeline *pipeline)  const S32 LEAF_INDICES = 24;  const S32 LEAF_VERTICES = 16; -static LLFastTimer::DeclareTimer FTM_UPDATE_TREE("Update Tree"); +static LLTrace::TimeBlock FTM_UPDATE_TREE("Update Tree");  BOOL LLVOTree::updateGeometry(LLDrawable *drawable)  { -	LLFastTimer ftm(FTM_UPDATE_TREE); +	LL_RECORD_BLOCK_TIME(FTM_UPDATE_TREE);  	if(mTrunkLOD >= sMAX_NUM_TREE_LOD_LEVELS) //do not display the tree.  	{ diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 4ff9bc6981..c6ad6234e5 100755 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -96,9 +96,9 @@ S32 LLVOVolume::mRenderComplexity_current = 0;  LLPointer<LLObjectMediaDataClient> LLVOVolume::sObjectMediaClient = NULL;  LLPointer<LLObjectMediaNavigateClient> LLVOVolume::sObjectMediaNavigateClient = NULL; -static LLFastTimer::DeclareTimer FTM_GEN_TRIANGLES("Generate Triangles"); -static LLFastTimer::DeclareTimer FTM_GEN_VOLUME("Generate Volumes"); -static LLFastTimer::DeclareTimer FTM_VOLUME_TEXTURES("Volume Textures"); +static LLTrace::TimeBlock FTM_GEN_TRIANGLES("Generate Triangles"); +static LLTrace::TimeBlock FTM_GEN_VOLUME("Generate Volumes"); +static LLTrace::TimeBlock FTM_VOLUME_TEXTURES("Volume Textures");  // Implementation class of LLMediaDataClientObject.  See llmediadataclient.h  class LLMediaDataClientObjectImpl : public LLMediaDataClientObject @@ -659,7 +659,7 @@ BOOL LLVOVolume::isVisible() const  void LLVOVolume::updateTextureVirtualSize(bool forced)  { -	LLFastTimer ftm(FTM_VOLUME_TEXTURES); +	LL_RECORD_BLOCK_TIME(FTM_VOLUME_TEXTURES);  	// Update the pixel area of all faces  	if(!forced) @@ -1602,18 +1602,18 @@ void LLVOVolume::updateRelativeXform(bool force_identity)  	}  } -static LLFastTimer::DeclareTimer FTM_GEN_FLEX("Generate Flexies"); -static LLFastTimer::DeclareTimer FTM_UPDATE_PRIMITIVES("Update Primitives"); -static LLFastTimer::DeclareTimer FTM_UPDATE_RIGGED_VOLUME("Update Rigged"); +static LLTrace::TimeBlock FTM_GEN_FLEX("Generate Flexies"); +static LLTrace::TimeBlock FTM_UPDATE_PRIMITIVES("Update Primitives"); +static LLTrace::TimeBlock FTM_UPDATE_RIGGED_VOLUME("Update Rigged");  BOOL LLVOVolume::updateGeometry(LLDrawable *drawable)  { -	LLFastTimer t(FTM_UPDATE_PRIMITIVES); +	LL_RECORD_BLOCK_TIME(FTM_UPDATE_PRIMITIVES);  	if (mDrawable->isState(LLDrawable::REBUILD_RIGGED))  	{  		{ -			LLFastTimer t(FTM_UPDATE_RIGGED_VOLUME); +			LL_RECORD_BLOCK_TIME(FTM_UPDATE_RIGGED_VOLUME);  			updateRiggedVolume();  		}  		genBBoxes(FALSE); @@ -1624,7 +1624,7 @@ BOOL LLVOVolume::updateGeometry(LLDrawable *drawable)  	{  		BOOL res;  		{ -			LLFastTimer t(FTM_GEN_FLEX); +			LL_RECORD_BLOCK_TIME(FTM_GEN_FLEX);  			res = mVolumeImpl->doUpdateGeometry(drawable);  		}  		updateFaceFlags(); @@ -1654,14 +1654,14 @@ BOOL LLVOVolume::updateGeometry(LLDrawable *drawable)  		if (mVolumeChanged)  		{ -			LLFastTimer ftm(FTM_GEN_VOLUME); +			LL_RECORD_BLOCK_TIME(FTM_GEN_VOLUME);  			LLVolumeParams volume_params = getVolume()->getParams();  			setVolume(volume_params, 0);  			drawable->setState(LLDrawable::REBUILD_VOLUME);  		}  		{ -			LLFastTimer t(FTM_GEN_TRIANGLES); +			LL_RECORD_BLOCK_TIME(FTM_GEN_TRIANGLES);  			regenFaces();  			genBBoxes(FALSE);  		} @@ -1680,7 +1680,7 @@ BOOL LLVOVolume::updateGeometry(LLDrawable *drawable)  		old_volumep = NULL ;  		{ -			LLFastTimer ftm(FTM_GEN_VOLUME); +			LL_RECORD_BLOCK_TIME(FTM_GEN_VOLUME);  			LLVolumeParams volume_params = getVolume()->getParams();  			setVolume(volume_params, 0);  		} @@ -1703,7 +1703,7 @@ BOOL LLVOVolume::updateGeometry(LLDrawable *drawable)  			drawable->setState(LLDrawable::REBUILD_VOLUME); // for face->genVolumeTriangles()  			{ -				LLFastTimer t(FTM_GEN_TRIANGLES); +				LL_RECORD_BLOCK_TIME(FTM_GEN_TRIANGLES);  				if (new_num_faces != old_num_faces || mNumFaces != (S32)getNumTEs())  				{  					regenFaces(); @@ -1728,7 +1728,7 @@ BOOL LLVOVolume::updateGeometry(LLDrawable *drawable)  	{  		compiled = TRUE;  		// All it did was move or we changed the texture coordinate offset -		LLFastTimer t(FTM_GEN_TRIANGLES); +		LL_RECORD_BLOCK_TIME(FTM_GEN_TRIANGLES);  		genBBoxes(FALSE);  	} @@ -3865,8 +3865,8 @@ void LLVOVolume::updateRiggedVolume()  } -static LLFastTimer::DeclareTimer FTM_SKIN_RIGGED("Skin"); -static LLFastTimer::DeclareTimer FTM_RIGGED_OCTREE("Octree"); +static LLTrace::TimeBlock FTM_SKIN_RIGGED("Skin"); +static LLTrace::TimeBlock FTM_RIGGED_OCTREE("Octree");  void LLRiggedVolume::update(const LLMeshSkinInfo* skin, LLVOAvatar* avatar, const LLVolume* volume)  { @@ -3924,7 +3924,7 @@ void LLRiggedVolume::update(const LLMeshSkinInfo* skin, LLVOAvatar* avatar, cons  			if( pos && weight && dst_face.mExtents )  			{ -				LLFastTimer t(FTM_SKIN_RIGGED); +				LL_RECORD_BLOCK_TIME(FTM_SKIN_RIGGED);  				for (U32 j = 0; j < dst_face.mNumVertices; ++j)  				{ @@ -3985,7 +3985,7 @@ void LLRiggedVolume::update(const LLMeshSkinInfo* skin, LLVOAvatar* avatar, cons  			}  			{ -				LLFastTimer t(FTM_RIGGED_OCTREE); +				LL_RECORD_BLOCK_TIME(FTM_RIGGED_OCTREE);  				delete dst_face.mOctree;  				dst_face.mOctree = NULL; @@ -4058,11 +4058,11 @@ bool can_batch_texture(LLFace* facep)  	return true;  } -static LLFastTimer::DeclareTimer FTM_REGISTER_FACE("Register Face"); +static LLTrace::TimeBlock FTM_REGISTER_FACE("Register Face");  void LLVolumeGeometryManager::registerFace(LLSpatialGroup* group, LLFace* facep, U32 type)  { -	LLFastTimer t(FTM_REGISTER_FACE); +	LL_RECORD_BLOCK_TIME(FTM_REGISTER_FACE);  	if (type == LLRenderPass::PASS_ALPHA && facep->getTextureEntry()->getMaterialParams().notNull() && !facep->getVertexBuffer()->hasDataType(LLVertexBuffer::TYPE_TANGENT))  	{  		LL_WARNS("RenderMaterials") << "Oh no! No binormals for this alpha blended face!" << LL_ENDL; @@ -4289,9 +4289,9 @@ void LLVolumeGeometryManager::getGeometry(LLSpatialGroup* group)  } -static LLFastTimer::DeclareTimer FTM_REBUILD_VOLUME_VB("Volume VB"); -static LLFastTimer::DeclareTimer FTM_REBUILD_VOLUME_FACE_LIST("Build Face List"); -static LLFastTimer::DeclareTimer FTM_REBUILD_VOLUME_GEN_DRAW_INFO("Gen Draw Info"); +static LLTrace::TimeBlock FTM_REBUILD_VOLUME_VB("Volume VB"); +static LLTrace::TimeBlock FTM_REBUILD_VOLUME_FACE_LIST("Build Face List"); +static LLTrace::TimeBlock FTM_REBUILD_VOLUME_GEN_DRAW_INFO("Gen Draw Info");  static LLDrawPoolAvatar* get_avatar_drawpool(LLViewerObject* vobj)  { @@ -4340,7 +4340,7 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)  		return;  	} -	LLFastTimer ftm(FTM_REBUILD_VOLUME_VB); +	LL_RECORD_BLOCK_TIME(FTM_REBUILD_VOLUME_VB);  	group->mBuilt = 1.f; @@ -4397,7 +4397,7 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)  	bool emissive = false;  	{ -		LLFastTimer t(FTM_REBUILD_VOLUME_FACE_LIST); +		LL_RECORD_BLOCK_TIME(FTM_REBUILD_VOLUME_FACE_LIST);  		//get all the faces into a list  		for (LLSpatialGroup::element_iter drawable_iter = group->getDataBegin(); drawable_iter != group->getDataEnd(); ++drawable_iter) @@ -4933,8 +4933,8 @@ void LLVolumeGeometryManager::rebuildMesh(LLSpatialGroup* group)  	llassert(group);  	if (group && group->hasState(LLSpatialGroup::MESH_DIRTY) && !group->hasState(LLSpatialGroup::GEOM_DIRTY))  	{ -		LLFastTimer ftm(FTM_REBUILD_VOLUME_VB); -		LLFastTimer t(FTM_REBUILD_VOLUME_GEN_DRAW_INFO); //make sure getgeometryvolume shows up in the right place in timers +		LL_RECORD_BLOCK_TIME(FTM_REBUILD_VOLUME_VB); +		LL_RECORD_BLOCK_TIME(FTM_REBUILD_VOLUME_GEN_DRAW_INFO); //make sure getgeometryvolume shows up in the right place in timers  		S32 num_mapped_veretx_buffer = LLVertexBuffer::sMappedCount ; @@ -5068,11 +5068,11 @@ struct CompareBatchBreakerModified  	}  }; -static LLFastTimer::DeclareTimer FTM_GEN_DRAW_INFO_SORT("Draw Info Face Sort"); -static LLFastTimer::DeclareTimer FTM_GEN_DRAW_INFO_FACE_SIZE("Face Sizing"); -static LLFastTimer::DeclareTimer FTM_GEN_DRAW_INFO_ALLOCATE("Allocate VB"); -static LLFastTimer::DeclareTimer FTM_GEN_DRAW_INFO_FIND_VB("Find VB"); -static LLFastTimer::DeclareTimer FTM_GEN_DRAW_INFO_RESIZE_VB("Resize VB"); +static LLTrace::TimeBlock FTM_GEN_DRAW_INFO_SORT("Draw Info Face Sort"); +static LLTrace::TimeBlock FTM_GEN_DRAW_INFO_FACE_SIZE("Face Sizing"); +static LLTrace::TimeBlock FTM_GEN_DRAW_INFO_ALLOCATE("Allocate VB"); +static LLTrace::TimeBlock FTM_GEN_DRAW_INFO_FIND_VB("Find VB"); +static LLTrace::TimeBlock FTM_GEN_DRAW_INFO_RESIZE_VB("Resize VB"); @@ -5080,7 +5080,7 @@ static LLFastTimer::DeclareTimer FTM_GEN_DRAW_INFO_RESIZE_VB("Resize VB");  void LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, std::vector<LLFace*>& faces, BOOL distance_sort, BOOL batch_textures, BOOL no_materials)  { -	LLFastTimer t(FTM_REBUILD_VOLUME_GEN_DRAW_INFO); +	LL_RECORD_BLOCK_TIME(FTM_REBUILD_VOLUME_GEN_DRAW_INFO);  	U32 buffer_usage = group->mBufferUsage; @@ -5100,7 +5100,7 @@ void LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, std::  	max_vertices = llmin(max_vertices, (U32) 65535);  	{ -		LLFastTimer t(FTM_GEN_DRAW_INFO_SORT); +		LL_RECORD_BLOCK_TIME(FTM_GEN_DRAW_INFO_SORT);  		if (!distance_sort)  		{  			//sort faces by things that break batches @@ -5177,7 +5177,7 @@ void LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, std::  		std::vector<LLViewerTexture*> texture_list;  		{ -			LLFastTimer t(FTM_GEN_DRAW_INFO_FACE_SIZE); +			LL_RECORD_BLOCK_TIME(FTM_GEN_DRAW_INFO_FACE_SIZE);  			if (batch_textures)  			{  				U8 cur_tex = 0; @@ -5283,7 +5283,7 @@ void LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, std::  		LLVertexBuffer* buffer = NULL;  		{ -			LLFastTimer t(FTM_GEN_DRAW_INFO_ALLOCATE); +			LL_RECORD_BLOCK_TIME(FTM_GEN_DRAW_INFO_ALLOCATE);  			buffer = createVertexBuffer(mask, buffer_usage);  			buffer->allocateBuffer(geom_count, index_count, TRUE);  		} diff --git a/indra/newview/llvowater.cpp b/indra/newview/llvowater.cpp index fc85a670b5..9f01e56284 100755 --- a/indra/newview/llvowater.cpp +++ b/indra/newview/llvowater.cpp @@ -123,11 +123,11 @@ LLDrawable *LLVOWater::createDrawable(LLPipeline *pipeline)  	return mDrawable;  } -static LLFastTimer::DeclareTimer FTM_UPDATE_WATER("Update Water"); +static LLTrace::TimeBlock FTM_UPDATE_WATER("Update Water");  BOOL LLVOWater::updateGeometry(LLDrawable *drawable)  { -	LLFastTimer ftm(FTM_UPDATE_WATER); +	LL_RECORD_BLOCK_TIME(FTM_UPDATE_WATER);  	LLFace *face;  	if (drawable->getNumFaces() < 1) diff --git a/indra/newview/llvowlsky.cpp b/indra/newview/llvowlsky.cpp index 96a94e0af4..e798a6eb51 100755 --- a/indra/newview/llvowlsky.cpp +++ b/indra/newview/llvowlsky.cpp @@ -301,11 +301,11 @@ void LLVOWLSky::restoreGL()  	gPipeline.markRebuild(mDrawable, LLDrawable::REBUILD_ALL, TRUE);  } -static LLFastTimer::DeclareTimer FTM_GEO_SKY("Windlight Sky Geometry"); +static LLTrace::TimeBlock FTM_GEO_SKY("Windlight Sky Geometry");  BOOL LLVOWLSky::updateGeometry(LLDrawable * drawable)  { -	LLFastTimer ftm(FTM_GEO_SKY); +	LL_RECORD_BLOCK_TIME(FTM_GEO_SKY);  	LLStrider<LLVector3>	vertices;  	LLStrider<LLVector2>	texCoords;  	LLStrider<U16>			indices; diff --git a/indra/newview/llwaterparammanager.cpp b/indra/newview/llwaterparammanager.cpp index 74100910f5..a11ba1720e 100755 --- a/indra/newview/llwaterparammanager.cpp +++ b/indra/newview/llwaterparammanager.cpp @@ -216,11 +216,11 @@ void LLWaterParamManager::applyParams(const LLSD& params, bool interpolate)  	}  } -static LLFastTimer::DeclareTimer FTM_UPDATE_WATERPARAM("Update Water Params"); +static LLTrace::TimeBlock FTM_UPDATE_WATERPARAM("Update Water Params");  void LLWaterParamManager::update(LLViewerCamera * cam)  { -	LLFastTimer ftm(FTM_UPDATE_WATERPARAM); +	LL_RECORD_BLOCK_TIME(FTM_UPDATE_WATERPARAM);  	// update the shaders and the menu  	propagateParameters(); diff --git a/indra/newview/llwlparammanager.cpp b/indra/newview/llwlparammanager.cpp index 6e6510d9c9..dabf39b2a8 100755 --- a/indra/newview/llwlparammanager.cpp +++ b/indra/newview/llwlparammanager.cpp @@ -364,11 +364,11 @@ void LLWLParamManager::updateShaderUniforms(LLGLSLShader * shader)  } -static LLFastTimer::DeclareTimer FTM_UPDATE_WLPARAM("Update Windlight Params"); +static LLTrace::TimeBlock FTM_UPDATE_WLPARAM("Update Windlight Params");  void LLWLParamManager::propagateParameters(void)  { -	LLFastTimer ftm(FTM_UPDATE_WLPARAM); +	LL_RECORD_BLOCK_TIME(FTM_UPDATE_WLPARAM);  	LLVector4 sunDir;  	LLVector4 moonDir; @@ -439,7 +439,7 @@ void LLWLParamManager::propagateParameters(void)  void LLWLParamManager::update(LLViewerCamera * cam)  { -	LLFastTimer ftm(FTM_UPDATE_WLPARAM); +	LL_RECORD_BLOCK_TIME(FTM_UPDATE_WLPARAM);  	// update clouds, sun, and general  	mCurParams.updateCloudScrolling(); diff --git a/indra/newview/llwlparamset.cpp b/indra/newview/llwlparamset.cpp index dba3970635..7da0a0ad9e 100755 --- a/indra/newview/llwlparamset.cpp +++ b/indra/newview/llwlparamset.cpp @@ -44,11 +44,11 @@ LLWLParamSet::LLWLParamSet(void) :  	mCloudScrollXOffset(0.f), mCloudScrollYOffset(0.f)	  {} -static LLFastTimer::DeclareTimer FTM_WL_PARAM_UPDATE("WL Param Update"); +static LLTrace::TimeBlock FTM_WL_PARAM_UPDATE("WL Param Update");  void LLWLParamSet::update(LLGLSLShader * shader) const   {	 -	LLFastTimer t(FTM_WL_PARAM_UPDATE); +	LL_RECORD_BLOCK_TIME(FTM_WL_PARAM_UPDATE);  	for(LLSD::map_const_iterator i = mParamValues.beginMap();  		i != mParamValues.endMap(); diff --git a/indra/newview/llworld.cpp b/indra/newview/llworld.cpp index 2c160754a6..6a2653bc88 100755 --- a/indra/newview/llworld.cpp +++ b/indra/newview/llworld.cpp @@ -1033,11 +1033,11 @@ void LLWorld::disconnectRegions()  	}  } -static LLFastTimer::DeclareTimer FTM_ENABLE_SIMULATOR("Enable Sim"); +static LLTrace::TimeBlock FTM_ENABLE_SIMULATOR("Enable Sim");  void process_enable_simulator(LLMessageSystem *msg, void **user_data)  { -	LLFastTimer t(FTM_ENABLE_SIMULATOR); +	LL_RECORD_BLOCK_TIME(FTM_ENABLE_SIMULATOR);  	// enable the appropriate circuit for this simulator and   	// add its values into the gSimulator structure  	U64		handle; diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 0ae9b08a4b..6e0f3a3c70 100755 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -222,40 +222,40 @@ BOOL	gDebugPipeline = FALSE;  LLPipeline gPipeline;  const LLMatrix4* gGLLastMatrix = NULL; -LLFastTimer::DeclareTimer FTM_RENDER_GEOMETRY("Render Geometry"); -LLFastTimer::DeclareTimer FTM_RENDER_GRASS("Grass"); -LLFastTimer::DeclareTimer FTM_RENDER_INVISIBLE("Invisible"); -LLFastTimer::DeclareTimer FTM_RENDER_OCCLUSION("Occlusion"); -LLFastTimer::DeclareTimer FTM_RENDER_SHINY("Shiny"); -LLFastTimer::DeclareTimer FTM_RENDER_SIMPLE("Simple"); -LLFastTimer::DeclareTimer FTM_RENDER_TERRAIN("Terrain"); -LLFastTimer::DeclareTimer FTM_RENDER_TREES("Trees"); -LLFastTimer::DeclareTimer FTM_RENDER_UI("UI"); -LLFastTimer::DeclareTimer FTM_RENDER_WATER("Water"); -LLFastTimer::DeclareTimer FTM_RENDER_WL_SKY("Windlight Sky"); -LLFastTimer::DeclareTimer FTM_RENDER_ALPHA("Alpha Objects"); -LLFastTimer::DeclareTimer FTM_RENDER_CHARACTERS("Avatars"); -LLFastTimer::DeclareTimer FTM_RENDER_BUMP("Bump"); -LLFastTimer::DeclareTimer FTM_RENDER_MATERIALS("Materials"); -LLFastTimer::DeclareTimer FTM_RENDER_FULLBRIGHT("Fullbright"); -LLFastTimer::DeclareTimer FTM_RENDER_GLOW("Glow"); -LLFastTimer::DeclareTimer FTM_GEO_UPDATE("Geo Update"); -LLFastTimer::DeclareTimer FTM_PIPELINE_CREATE("Pipeline Create"); -LLFastTimer::DeclareTimer FTM_POOLRENDER("RenderPool"); -LLFastTimer::DeclareTimer FTM_POOLS("Pools"); -LLFastTimer::DeclareTimer FTM_DEFERRED_POOLRENDER("RenderPool (Deferred)"); -LLFastTimer::DeclareTimer FTM_DEFERRED_POOLS("Pools (Deferred)"); -LLFastTimer::DeclareTimer FTM_POST_DEFERRED_POOLRENDER("RenderPool (Post)"); -LLFastTimer::DeclareTimer FTM_POST_DEFERRED_POOLS("Pools (Post)"); -LLFastTimer::DeclareTimer FTM_RENDER_BLOOM_FBO("First FBO"); -LLFastTimer::DeclareTimer FTM_STATESORT("Sort Draw State"); -LLFastTimer::DeclareTimer FTM_PIPELINE("Pipeline"); -LLFastTimer::DeclareTimer FTM_CLIENT_COPY("Client Copy"); -LLFastTimer::DeclareTimer FTM_RENDER_DEFERRED("Deferred Shading"); - - -static LLFastTimer::DeclareTimer FTM_STATESORT_DRAWABLE("Sort Drawables"); -static LLFastTimer::DeclareTimer FTM_STATESORT_POSTSORT("Post Sort"); +LLTrace::TimeBlock FTM_RENDER_GEOMETRY("Render Geometry"); +LLTrace::TimeBlock FTM_RENDER_GRASS("Grass"); +LLTrace::TimeBlock FTM_RENDER_INVISIBLE("Invisible"); +LLTrace::TimeBlock FTM_RENDER_OCCLUSION("Occlusion"); +LLTrace::TimeBlock FTM_RENDER_SHINY("Shiny"); +LLTrace::TimeBlock FTM_RENDER_SIMPLE("Simple"); +LLTrace::TimeBlock FTM_RENDER_TERRAIN("Terrain"); +LLTrace::TimeBlock FTM_RENDER_TREES("Trees"); +LLTrace::TimeBlock FTM_RENDER_UI("UI"); +LLTrace::TimeBlock FTM_RENDER_WATER("Water"); +LLTrace::TimeBlock FTM_RENDER_WL_SKY("Windlight Sky"); +LLTrace::TimeBlock FTM_RENDER_ALPHA("Alpha Objects"); +LLTrace::TimeBlock FTM_RENDER_CHARACTERS("Avatars"); +LLTrace::TimeBlock FTM_RENDER_BUMP("Bump"); +LLTrace::TimeBlock FTM_RENDER_MATERIALS("Materials"); +LLTrace::TimeBlock FTM_RENDER_FULLBRIGHT("Fullbright"); +LLTrace::TimeBlock FTM_RENDER_GLOW("Glow"); +LLTrace::TimeBlock FTM_GEO_UPDATE("Geo Update"); +LLTrace::TimeBlock FTM_PIPELINE_CREATE("Pipeline Create"); +LLTrace::TimeBlock FTM_POOLRENDER("RenderPool"); +LLTrace::TimeBlock FTM_POOLS("Pools"); +LLTrace::TimeBlock FTM_DEFERRED_POOLRENDER("RenderPool (Deferred)"); +LLTrace::TimeBlock FTM_DEFERRED_POOLS("Pools (Deferred)"); +LLTrace::TimeBlock FTM_POST_DEFERRED_POOLRENDER("RenderPool (Post)"); +LLTrace::TimeBlock FTM_POST_DEFERRED_POOLS("Pools (Post)"); +LLTrace::TimeBlock FTM_RENDER_BLOOM_FBO("First FBO"); +LLTrace::TimeBlock FTM_STATESORT("Sort Draw State"); +LLTrace::TimeBlock FTM_PIPELINE("Pipeline"); +LLTrace::TimeBlock FTM_CLIENT_COPY("Client Copy"); +LLTrace::TimeBlock FTM_RENDER_DEFERRED("Deferred Shading"); + + +static LLTrace::TimeBlock FTM_STATESORT_DRAWABLE("Sort Drawables"); +static LLTrace::TimeBlock FTM_STATESORT_POSTSORT("Post Sort");  //----------------------------------------  std::string gPoolNames[] =  @@ -754,7 +754,7 @@ void LLPipeline::destroyGL()  	}  } -static LLFastTimer::DeclareTimer FTM_RESIZE_SCREEN_TEXTURE("Resize Screen Texture"); +static LLTrace::TimeBlock FTM_RESIZE_SCREEN_TEXTURE("Resize Screen Texture");  //static  void LLPipeline::throttleNewMemoryAllocation(BOOL disable) @@ -776,7 +776,7 @@ void LLPipeline::throttleNewMemoryAllocation(BOOL disable)  void LLPipeline::resizeScreenTexture()  { -	LLFastTimer ft(FTM_RESIZE_SCREEN_TEXTURE); +	LL_RECORD_BLOCK_TIME(FTM_RESIZE_SCREEN_TEXTURE);  	if (gPipeline.canUseVertexShaders() && assertInitialized())  	{  		GLuint resX = gViewerWindow->getWorldViewWidthRaw(); @@ -1771,15 +1771,15 @@ void LLPipeline::allocDrawable(LLViewerObject *vobj)  } -static LLFastTimer::DeclareTimer FTM_UNLINK("Unlink"); -static LLFastTimer::DeclareTimer FTM_REMOVE_FROM_MOVE_LIST("Movelist"); -static LLFastTimer::DeclareTimer FTM_REMOVE_FROM_SPATIAL_PARTITION("Spatial Partition"); -static LLFastTimer::DeclareTimer FTM_REMOVE_FROM_LIGHT_SET("Light Set"); -static LLFastTimer::DeclareTimer FTM_REMOVE_FROM_HIGHLIGHT_SET("Highlight Set"); +static LLTrace::TimeBlock FTM_UNLINK("Unlink"); +static LLTrace::TimeBlock FTM_REMOVE_FROM_MOVE_LIST("Movelist"); +static LLTrace::TimeBlock FTM_REMOVE_FROM_SPATIAL_PARTITION("Spatial Partition"); +static LLTrace::TimeBlock FTM_REMOVE_FROM_LIGHT_SET("Light Set"); +static LLTrace::TimeBlock FTM_REMOVE_FROM_HIGHLIGHT_SET("Highlight Set");  void LLPipeline::unlinkDrawable(LLDrawable *drawable)  { -	LLFastTimer t(FTM_UNLINK); +	LL_RECORD_BLOCK_TIME(FTM_UNLINK);  	assertInitialized(); @@ -1788,7 +1788,7 @@ void LLPipeline::unlinkDrawable(LLDrawable *drawable)  	// Based on flags, remove the drawable from the queues that it's on.  	if (drawablep->isState(LLDrawable::ON_MOVE_LIST))  	{ -		LLFastTimer t(FTM_REMOVE_FROM_MOVE_LIST); +		LL_RECORD_BLOCK_TIME(FTM_REMOVE_FROM_MOVE_LIST);  		LLDrawable::drawable_vector_t::iterator iter = std::find(mMovedList.begin(), mMovedList.end(), drawablep);  		if (iter != mMovedList.end())  		{ @@ -1798,7 +1798,7 @@ void LLPipeline::unlinkDrawable(LLDrawable *drawable)  	if (drawablep->getSpatialGroup())  	{ -		LLFastTimer t(FTM_REMOVE_FROM_SPATIAL_PARTITION); +		LL_RECORD_BLOCK_TIME(FTM_REMOVE_FROM_SPATIAL_PARTITION);  		if (!drawablep->getSpatialGroup()->getSpatialPartition()->remove(drawablep, drawablep->getSpatialGroup()))  		{  #ifdef LL_RELEASE_FOR_DOWNLOAD @@ -1810,7 +1810,7 @@ void LLPipeline::unlinkDrawable(LLDrawable *drawable)  	}  	{ -		LLFastTimer t(FTM_REMOVE_FROM_LIGHT_SET); +		LL_RECORD_BLOCK_TIME(FTM_REMOVE_FROM_LIGHT_SET);  		mLights.erase(drawablep);  		for (light_set_t::iterator iter = mNearbyLights.begin(); @@ -1825,7 +1825,7 @@ void LLPipeline::unlinkDrawable(LLDrawable *drawable)  	}  	{ -		LLFastTimer t(FTM_REMOVE_FROM_HIGHLIGHT_SET); +		LL_RECORD_BLOCK_TIME(FTM_REMOVE_FROM_HIGHLIGHT_SET);  		HighlightItem item(drawablep);  		mHighlightSet.erase(item); @@ -1854,7 +1854,7 @@ void LLPipeline::unlinkDrawable(LLDrawable *drawable)  //static  void LLPipeline::removeMutedAVsLights(LLVOAvatar* muted_avatar)  { -	LLFastTimer t(FTM_REMOVE_FROM_LIGHT_SET); +	LL_RECORD_BLOCK_TIME(FTM_REMOVE_FROM_LIGHT_SET);  	for (light_set_t::iterator iter = gPipeline.mNearbyLights.begin();  		 iter != gPipeline.mNearbyLights.end(); iter++)  	{ @@ -1882,7 +1882,7 @@ U32 LLPipeline::addObject(LLViewerObject *vobj)  void LLPipeline::createObjects(F32 max_dtime)  { -	LLFastTimer ftm(FTM_PIPELINE_CREATE); +	LL_RECORD_BLOCK_TIME(FTM_PIPELINE_CREATE);  	LLTimer update_timer; @@ -2051,14 +2051,14 @@ void LLPipeline::updateMovedList(LLDrawable::drawable_vector_t& moved_list)  	}  } -static LLFastTimer::DeclareTimer FTM_OCTREE_BALANCE("Balance Octree"); -static LLFastTimer::DeclareTimer FTM_UPDATE_MOVE("Update Move"); -static LLFastTimer::DeclareTimer FTM_RETEXTURE("Retexture"); -static LLFastTimer::DeclareTimer FTM_MOVED_LIST("Moved List"); +static LLTrace::TimeBlock FTM_OCTREE_BALANCE("Balance Octree"); +static LLTrace::TimeBlock FTM_UPDATE_MOVE("Update Move"); +static LLTrace::TimeBlock FTM_RETEXTURE("Retexture"); +static LLTrace::TimeBlock FTM_MOVED_LIST("Moved List");  void LLPipeline::updateMove()  { -	LLFastTimer t(FTM_UPDATE_MOVE); +	LL_RECORD_BLOCK_TIME(FTM_UPDATE_MOVE);  	if (FreezeTime)  	{ @@ -2068,7 +2068,7 @@ void LLPipeline::updateMove()  	assertInitialized();  	{ -		LLFastTimer t(FTM_RETEXTURE); +		LL_RECORD_BLOCK_TIME(FTM_RETEXTURE);  		for (LLDrawable::drawable_set_t::iterator iter = mRetexturedList.begin();  			 iter != mRetexturedList.end(); ++iter) @@ -2083,13 +2083,13 @@ void LLPipeline::updateMove()  	}  	{ -		LLFastTimer t(FTM_MOVED_LIST); +		LL_RECORD_BLOCK_TIME(FTM_MOVED_LIST);  		updateMovedList(mMovedList);  	}  	//balance octrees  	{ - 		LLFastTimer ot(FTM_OCTREE_BALANCE); + 		LL_RECORD_BLOCK_TIME(FTM_OCTREE_BALANCE);  		for (LLWorld::region_list_t::const_iterator iter = LLWorld::getInstance()->getRegionList().begin();   			iter != LLWorld::getInstance()->getRegionList().end(); ++iter) @@ -2408,7 +2408,7 @@ BOOL LLPipeline::getVisibleExtents(LLCamera& camera, LLVector3& min, LLVector3&  	return res;  } -static LLFastTimer::DeclareTimer FTM_CULL("Object Culling"); +static LLTrace::TimeBlock FTM_CULL("Object Culling");  void LLPipeline::updateCull(LLCamera& camera, LLCullResult& result, S32 water_clip, LLPlane* planep)  { @@ -2417,7 +2417,7 @@ void LLPipeline::updateCull(LLCamera& camera, LLCullResult& result, S32 water_cl  									&& LLFeatureManager::getInstance()->isFeatureAvailable("UseOcclusion")   									&& gGLManager.mHasOcclusionQuery; -	LLFastTimer t(FTM_CULL); +	LL_RECORD_BLOCK_TIME(FTM_CULL);  	grabReferences(result); @@ -2812,14 +2812,14 @@ BOOL LLPipeline::updateDrawableGeom(LLDrawable* drawablep, BOOL priority)  	return update_complete;  } -static LLFastTimer::DeclareTimer FTM_SEED_VBO_POOLS("Seed VBO Pool"); +static LLTrace::TimeBlock FTM_SEED_VBO_POOLS("Seed VBO Pool"); -static LLFastTimer::DeclareTimer FTM_UPDATE_GL("Update GL"); +static LLTrace::TimeBlock FTM_UPDATE_GL("Update GL");  void LLPipeline::updateGL()  {  	{ -		LLFastTimer t(FTM_UPDATE_GL); +		LL_RECORD_BLOCK_TIME(FTM_UPDATE_GL);  		while (!LLGLUpdate::sGLQ.empty())  		{  			LLGLUpdate* glu = LLGLUpdate::sGLQ.front(); @@ -2830,12 +2830,12 @@ void LLPipeline::updateGL()  	}  	{ //seed VBO Pools -		LLFastTimer t(FTM_SEED_VBO_POOLS); +		LL_RECORD_BLOCK_TIME(FTM_SEED_VBO_POOLS);  		LLVertexBuffer::seedPools();  	}  } -static LLFastTimer::DeclareTimer FTM_REBUILD_PRIORITY_GROUPS("Rebuild Priority Groups"); +static LLTrace::TimeBlock FTM_REBUILD_PRIORITY_GROUPS("Rebuild Priority Groups");  void LLPipeline::clearRebuildGroups()  { @@ -2897,7 +2897,7 @@ void LLPipeline::clearRebuildGroups()  void LLPipeline::rebuildPriorityGroups()  { -	LLFastTimer t(FTM_REBUILD_PRIORITY_GROUPS); +	LL_RECORD_BLOCK_TIME(FTM_REBUILD_PRIORITY_GROUPS);  	LLTimer update_timer;  	assertInitialized(); @@ -2919,7 +2919,7 @@ void LLPipeline::rebuildPriorityGroups()  } -static LLFastTimer::DeclareTimer FTM_REBUILD_GROUPS("Rebuild Groups"); +static LLTrace::TimeBlock FTM_REBUILD_GROUPS("Rebuild Groups");  void LLPipeline::rebuildGroups()  { @@ -2928,7 +2928,7 @@ void LLPipeline::rebuildGroups()  		return;  	} -	LLFastTimer t(FTM_REBUILD_GROUPS); +	LL_RECORD_BLOCK_TIME(FTM_REBUILD_GROUPS);  	mGroupQ2Locked = true;  	// Iterate through some drawables on the non-priority build queue  	S32 size = (S32) mGroupQ2.size(); @@ -2972,7 +2972,7 @@ void LLPipeline::updateGeom(F32 max_dtime)  	LLTimer update_timer;  	LLPointer<LLDrawable> drawablep; -	LLFastTimer t(FTM_GEO_UPDATE); +	LL_RECORD_BLOCK_TIME(FTM_GEO_UPDATE);  	assertInitialized(); @@ -3165,9 +3165,9 @@ void LLPipeline::markShift(LLDrawable *drawablep)  	}  } -static LLFastTimer::DeclareTimer FTM_SHIFT_DRAWABLE("Shift Drawable"); -static LLFastTimer::DeclareTimer FTM_SHIFT_OCTREE("Shift Octree"); -static LLFastTimer::DeclareTimer FTM_SHIFT_HUD("Shift HUD"); +static LLTrace::TimeBlock FTM_SHIFT_DRAWABLE("Shift Drawable"); +static LLTrace::TimeBlock FTM_SHIFT_OCTREE("Shift Octree"); +static LLTrace::TimeBlock FTM_SHIFT_HUD("Shift HUD");  void LLPipeline::shiftObjects(const LLVector3 &offset)  { @@ -3180,7 +3180,7 @@ void LLPipeline::shiftObjects(const LLVector3 &offset)  	offseta.load3(offset.mV);  	{ -		LLFastTimer t(FTM_SHIFT_DRAWABLE); +		LL_RECORD_BLOCK_TIME(FTM_SHIFT_DRAWABLE);  		for (LLDrawable::drawable_vector_t::iterator iter = mShiftList.begin();  			 iter != mShiftList.end(); iter++) @@ -3198,7 +3198,7 @@ void LLPipeline::shiftObjects(const LLVector3 &offset)  	{ -		LLFastTimer t(FTM_SHIFT_OCTREE); +		LL_RECORD_BLOCK_TIME(FTM_SHIFT_OCTREE);  		for (LLWorld::region_list_t::const_iterator iter = LLWorld::getInstance()->getRegionList().begin();   				iter != LLWorld::getInstance()->getRegionList().end(); ++iter)  		{ @@ -3215,7 +3215,7 @@ void LLPipeline::shiftObjects(const LLVector3 &offset)  	}  	{ -		LLFastTimer t(FTM_SHIFT_HUD); +		LL_RECORD_BLOCK_TIME(FTM_SHIFT_HUD);  		LLHUDText::shiftAll(offset);  		LLHUDNameTag::shiftAll(offset);  	} @@ -3249,10 +3249,10 @@ void LLPipeline::markPartitionMove(LLDrawable* drawable)  	}  } -static LLFastTimer::DeclareTimer FTM_PROCESS_PARTITIONQ("PartitionQ"); +static LLTrace::TimeBlock FTM_PROCESS_PARTITIONQ("PartitionQ");  void LLPipeline::processPartitionQ()  { -	LLFastTimer t(FTM_PROCESS_PARTITIONQ); +	LL_RECORD_BLOCK_TIME(FTM_PROCESS_PARTITIONQ);  	for (LLDrawable::drawable_list_t::iterator iter = mPartitionQ.begin(); iter != mPartitionQ.end(); ++iter)  	{  		LLDrawable* drawable = *iter; @@ -3340,7 +3340,7 @@ void LLPipeline::markRebuild(LLDrawable *drawablep, LLDrawable::EDrawableFlags f  	}  } -static LLFastTimer::DeclareTimer FTM_RESET_DRAWORDER("Reset Draw Order"); +static LLTrace::TimeBlock FTM_RESET_DRAWORDER("Reset Draw Order");  void LLPipeline::stateSort(LLCamera& camera, LLCullResult &result)  { @@ -3354,11 +3354,11 @@ void LLPipeline::stateSort(LLCamera& camera, LLCullResult &result)  					  LLPipeline::END_RENDER_TYPES))  	{  		//clear faces from face pools -		LLFastTimer t(FTM_RESET_DRAWORDER); +		LL_RECORD_BLOCK_TIME(FTM_RESET_DRAWORDER);  		gPipeline.resetDrawOrders();  	} -	LLFastTimer ftm(FTM_STATESORT); +	LL_RECORD_BLOCK_TIME(FTM_STATESORT);  	//LLVertexBuffer::unbind(); @@ -3442,7 +3442,7 @@ void LLPipeline::stateSort(LLCamera& camera, LLCullResult &result)  	}  	{ -		LLFastTimer ftm(FTM_STATESORT_DRAWABLE); +		LL_RECORD_BLOCK_TIME(FTM_STATESORT_DRAWABLE);  		for (LLCullResult::drawable_iterator iter = sCull->beginVisibleList();  			 iter != sCull->endVisibleList(); ++iter)  		{ @@ -3772,7 +3772,7 @@ void renderSoundHighlights(LLDrawable* drawablep)  void LLPipeline::postSort(LLCamera& camera)  { -	LLFastTimer ftm(FTM_STATESORT_POSTSORT); +	LL_RECORD_BLOCK_TIME(FTM_STATESORT_POSTSORT);  	assertInitialized(); @@ -3998,7 +3998,7 @@ void LLPipeline::postSort(LLCamera& camera)  void render_hud_elements()  { -	LLFastTimer t(FTM_RENDER_UI); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_UI);  	gPipeline.disableLights();		  	LLGLDisable fog(GL_FOG); @@ -4277,7 +4277,7 @@ U32 LLPipeline::sCurRenderPoolType = 0 ;  void LLPipeline::renderGeom(LLCamera& camera, BOOL forceVBOUpdate)  { -	LLFastTimer t(FTM_RENDER_GEOMETRY); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_GEOMETRY);  	assertInitialized(); @@ -4364,7 +4364,7 @@ void LLPipeline::renderGeom(LLCamera& camera, BOOL forceVBOUpdate)  	}  	{ -		LLFastTimer t(FTM_POOLS); +		LL_RECORD_BLOCK_TIME(FTM_POOLS);  		// HACK: don't calculate local lights if we're rendering the HUD!  		//    Removing this check will cause bad flickering when there are  @@ -4400,7 +4400,7 @@ void LLPipeline::renderGeom(LLCamera& camera, BOOL forceVBOUpdate)  			pool_set_t::iterator iter2 = iter1;  			if (hasRenderType(poolp->getType()) && poolp->getNumPasses() > 0)  			{ -				LLFastTimer t(FTM_POOLRENDER); +				LL_RECORD_BLOCK_TIME(FTM_POOLRENDER);  				gGLLastMatrix = NULL;  				gGL.loadMatrix(gGLModelView); @@ -4529,9 +4529,9 @@ void LLPipeline::renderGeomDeferred(LLCamera& camera)  {  	LLAppViewer::instance()->pingMainloopTimeout("Pipeline:RenderGeomDeferred"); -	LLFastTimer t(FTM_RENDER_GEOMETRY); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_GEOMETRY); -	LLFastTimer t2(FTM_DEFERRED_POOLS); +	LL_RECORD_BLOCK_TIME(FTM_DEFERRED_POOLS);  	LLGLEnable cull(GL_CULL_FACE); @@ -4573,7 +4573,7 @@ void LLPipeline::renderGeomDeferred(LLCamera& camera)  		pool_set_t::iterator iter2 = iter1;  		if (hasRenderType(poolp->getType()) && poolp->getNumDeferredPasses() > 0)  		{ -			LLFastTimer t(FTM_DEFERRED_POOLRENDER); +			LL_RECORD_BLOCK_TIME(FTM_DEFERRED_POOLRENDER);  			gGLLastMatrix = NULL;  			gGL.loadMatrix(gGLModelView); @@ -4625,7 +4625,7 @@ void LLPipeline::renderGeomDeferred(LLCamera& camera)  void LLPipeline::renderGeomPostDeferred(LLCamera& camera, bool do_occlusion)  { -	LLFastTimer t(FTM_POST_DEFERRED_POOLS); +	LL_RECORD_BLOCK_TIME(FTM_POST_DEFERRED_POOLS);  	U32 cur_type = 0;  	LLGLEnable cull(GL_CULL_FACE); @@ -4659,7 +4659,7 @@ void LLPipeline::renderGeomPostDeferred(LLCamera& camera, bool do_occlusion)  		pool_set_t::iterator iter2 = iter1;  		if (hasRenderType(poolp->getType()) && poolp->getNumPostDeferredPasses() > 0)  		{ -			LLFastTimer t(FTM_POST_DEFERRED_POOLRENDER); +			LL_RECORD_BLOCK_TIME(FTM_POST_DEFERRED_POOLRENDER);  			gGLLastMatrix = NULL;  			gGL.loadMatrix(gGLModelView); @@ -5565,11 +5565,11 @@ void LLPipeline::renderDebug()  	}  } -static LLFastTimer::DeclareTimer FTM_REBUILD_POOLS("Rebuild Pools"); +static LLTrace::TimeBlock FTM_REBUILD_POOLS("Rebuild Pools");  void LLPipeline::rebuildPools()  { -	LLFastTimer t(FTM_REBUILD_POOLS); +	LL_RECORD_BLOCK_TIME(FTM_REBUILD_POOLS);  	assertInitialized(); @@ -7287,7 +7287,7 @@ void LLPipeline::resetVertexBuffers()  	mResetVertexBuffers = true;  } -static LLFastTimer::DeclareTimer FTM_RESET_VB("Reset VB"); +static LLTrace::TimeBlock FTM_RESET_VB("Reset VB");  void LLPipeline::doResetVertexBuffers()  { @@ -7296,7 +7296,7 @@ void LLPipeline::doResetVertexBuffers()  		return;  	} -	LLFastTimer t(FTM_RESET_VB); +	LL_RECORD_BLOCK_TIME(FTM_RESET_VB);  	mResetVertexBuffers = false;  	mCubeVB = NULL; @@ -7441,7 +7441,7 @@ void LLPipeline::bindScreenToTexture()  } -static LLFastTimer::DeclareTimer FTM_RENDER_BLOOM("Bloom"); +static LLTrace::TimeBlock FTM_RENDER_BLOOM("Bloom");  void LLPipeline::renderBloom(BOOL for_snapshot, F32 zoom_factor, int subfield)  { @@ -7466,7 +7466,7 @@ void LLPipeline::renderBloom(BOOL for_snapshot, F32 zoom_factor, int subfield)  	LLVector2 tc2((F32) mScreen.getWidth()*2,  				  (F32) mScreen.getHeight()*2); -	LLFastTimer ftm(FTM_RENDER_BLOOM); +	LL_RECORD_BLOCK_TIME(FTM_RENDER_BLOOM);  	gGL.color4f(1,1,1,1);  	LLGLDepthTest depth(GL_FALSE);  	LLGLDisable blend(GL_BLEND); @@ -7488,7 +7488,7 @@ void LLPipeline::renderBloom(BOOL for_snapshot, F32 zoom_factor, int subfield)  	{  		{ -			LLFastTimer ftm(FTM_RENDER_BLOOM_FBO); +			LL_RECORD_BLOCK_TIME(FTM_RENDER_BLOOM_FBO);  			mGlow[2].bindTarget();  			mGlow[2].clear();  		} @@ -7556,7 +7556,7 @@ void LLPipeline::renderBloom(BOOL for_snapshot, F32 zoom_factor, int subfield)  	for (S32 i = 0; i < kernel; i++)  	{  		{ -			LLFastTimer ftm(FTM_RENDER_BLOOM_FBO); +			LL_RECORD_BLOCK_TIME(FTM_RENDER_BLOOM_FBO);  			mGlow[i%2].bindTarget();  			mGlow[i%2].clear();  		} @@ -7598,7 +7598,7 @@ void LLPipeline::renderBloom(BOOL for_snapshot, F32 zoom_factor, int subfield)  	/*if (LLRenderTarget::sUseFBO)  	{ -		LLFastTimer ftm(FTM_RENDER_BLOOM_FBO); +		LL_RECORD_BLOCK_TIME(FTM_RENDER_BLOOM_FBO);  		glBindFramebuffer(GL_FRAMEBUFFER, 0);  	}*/ @@ -8094,11 +8094,11 @@ void LLPipeline::renderBloom(BOOL for_snapshot, F32 zoom_factor, int subfield)  } -static LLFastTimer::DeclareTimer FTM_BIND_DEFERRED("Bind Deferred"); +static LLTrace::TimeBlock FTM_BIND_DEFERRED("Bind Deferred");  void LLPipeline::bindDeferredShader(LLGLSLShader& shader, U32 light_index, U32 noise_map)  { -	LLFastTimer t(FTM_BIND_DEFERRED); +	LL_RECORD_BLOCK_TIME(FTM_BIND_DEFERRED);  	if (noise_map == 0xFFFFFFFF)  	{ @@ -8319,16 +8319,16 @@ LLVector4 pow4fsrgb(LLVector4 v, F32 f)  	return v;  } -static LLFastTimer::DeclareTimer FTM_GI_TRACE("Trace"); -static LLFastTimer::DeclareTimer FTM_GI_GATHER("Gather"); -static LLFastTimer::DeclareTimer FTM_SUN_SHADOW("Shadow Map"); -static LLFastTimer::DeclareTimer FTM_SOFTEN_SHADOW("Shadow Soften"); -static LLFastTimer::DeclareTimer FTM_EDGE_DETECTION("Find Edges"); -static LLFastTimer::DeclareTimer FTM_LOCAL_LIGHTS("Local Lights"); -static LLFastTimer::DeclareTimer FTM_ATMOSPHERICS("Atmospherics"); -static LLFastTimer::DeclareTimer FTM_FULLSCREEN_LIGHTS("Fullscreen Lights"); -static LLFastTimer::DeclareTimer FTM_PROJECTORS("Projectors"); -static LLFastTimer::DeclareTimer FTM_POST("Post"); +static LLTrace::TimeBlock FTM_GI_TRACE("Trace"); +static LLTrace::TimeBlock FTM_GI_GATHER("Gather"); +static LLTrace::TimeBlock FTM_SUN_SHADOW("Shadow Map"); +static LLTrace::TimeBlock FTM_SOFTEN_SHADOW("Shadow Soften"); +static LLTrace::TimeBlock FTM_EDGE_DETECTION("Find Edges"); +static LLTrace::TimeBlock FTM_LOCAL_LIGHTS("Local Lights"); +static LLTrace::TimeBlock FTM_ATMOSPHERICS("Atmospherics"); +static LLTrace::TimeBlock FTM_FULLSCREEN_LIGHTS("Fullscreen Lights"); +static LLTrace::TimeBlock FTM_PROJECTORS("Projectors"); +static LLTrace::TimeBlock FTM_POST("Post");  void LLPipeline::renderDeferredLighting() @@ -8339,7 +8339,7 @@ void LLPipeline::renderDeferredLighting()  	}  	{ -		LLFastTimer ftm(FTM_RENDER_DEFERRED); +		LL_RECORD_BLOCK_TIME(FTM_RENDER_DEFERRED);  		LLViewerCamera* camera = LLViewerCamera::getInstance();  		{ @@ -8395,7 +8395,7 @@ void LLPipeline::renderDeferredLighting()  		{  			mDeferredLight.bindTarget();  			{ //paint shadow/SSAO light map (direct lighting lightmap) -				LLFastTimer ftm(FTM_SUN_SHADOW); +				LL_RECORD_BLOCK_TIME(FTM_SUN_SHADOW);  				bindDeferredShader(gDeferredSunProgram, 0);  				mDeferredVB->setBuffer(LLVertexBuffer::MAP_VERTEX);  				glClearColor(1,1,1,1); @@ -8439,7 +8439,7 @@ void LLPipeline::renderDeferredLighting()  		if (RenderDeferredSSAO)  		{ //soften direct lighting lightmap -			LLFastTimer ftm(FTM_SOFTEN_SHADOW); +			LL_RECORD_BLOCK_TIME(FTM_SOFTEN_SHADOW);  			//blur lightmap  			mScreen.bindTarget();  			glClearColor(1,1,1,1); @@ -8514,7 +8514,7 @@ void LLPipeline::renderDeferredLighting()  		if (RenderDeferredAtmospheric)  		{ //apply sunlight contribution  -			LLFastTimer ftm(FTM_ATMOSPHERICS); +			LL_RECORD_BLOCK_TIME(FTM_ATMOSPHERICS);  			bindDeferredShader(gDeferredSoftenProgram);	  			{  				LLGLDepthTest depth(GL_FALSE); @@ -8651,7 +8651,7 @@ void LLPipeline::renderDeferredLighting()  							col.mV[1] = powf(col.mV[1], 2.2f);  							col.mV[2] = powf(col.mV[2], 2.2f);*/ -							LLFastTimer ftm(FTM_LOCAL_LIGHTS); +							LL_RECORD_BLOCK_TIME(FTM_LOCAL_LIGHTS);  							gDeferredLightProgram.uniform3fv(LLShaderMgr::LIGHT_CENTER, 1, c);  							gDeferredLightProgram.uniform1f(LLShaderMgr::LIGHT_SIZE, s);  							gDeferredLightProgram.uniform3fv(LLShaderMgr::DIFFUSE_COLOR, 1, col.mV); @@ -8692,7 +8692,7 @@ void LLPipeline::renderDeferredLighting()  				for (LLDrawable::drawable_list_t::iterator iter = spot_lights.begin(); iter != spot_lights.end(); ++iter)  				{ -					LLFastTimer ftm(FTM_PROJECTORS); +					LL_RECORD_BLOCK_TIME(FTM_PROJECTORS);  					LLDrawable* drawablep = *iter;  					LLVOVolume* volume = drawablep->getVOVolume(); @@ -8753,7 +8753,7 @@ void LLPipeline::renderDeferredLighting()  				while (!fullscreen_lights.empty())  				{ -					LLFastTimer ftm(FTM_FULLSCREEN_LIGHTS); +					LL_RECORD_BLOCK_TIME(FTM_FULLSCREEN_LIGHTS);  					light[count] = fullscreen_lights.front();  					fullscreen_lights.pop_front();  					col[count] = light_colors.front(); @@ -8788,7 +8788,7 @@ void LLPipeline::renderDeferredLighting()  				for (LLDrawable::drawable_list_t::iterator iter = fullscreen_spot_lights.begin(); iter != fullscreen_spot_lights.end(); ++iter)  				{ -					LLFastTimer ftm(FTM_PROJECTORS); +					LL_RECORD_BLOCK_TIME(FTM_PROJECTORS);  					LLDrawable* drawablep = *iter;  					LLVOVolume* volume = drawablep->getVOVolume(); @@ -9445,13 +9445,13 @@ glh::matrix4f scale_translate_to_fit(const LLVector3 min, const LLVector3 max)  	return ret;  } -static LLFastTimer::DeclareTimer FTM_SHADOW_RENDER("Render Shadows"); -static LLFastTimer::DeclareTimer FTM_SHADOW_ALPHA("Alpha Shadow"); -static LLFastTimer::DeclareTimer FTM_SHADOW_SIMPLE("Simple Shadow"); +static LLTrace::TimeBlock FTM_SHADOW_RENDER("Render Shadows"); +static LLTrace::TimeBlock FTM_SHADOW_ALPHA("Alpha Shadow"); +static LLTrace::TimeBlock FTM_SHADOW_SIMPLE("Simple Shadow");  void LLPipeline::renderShadow(glh::matrix4f& view, glh::matrix4f& proj, LLCamera& shadow_cam, LLCullResult &result, BOOL use_shader, BOOL use_occlusion, U32 target_width)  { -	LLFastTimer t(FTM_SHADOW_RENDER); +	LL_RECORD_BLOCK_TIME(FTM_SHADOW_RENDER);  	//clip out geometry on the same side of water as the camera  	S32 occlude = LLPipeline::sUseOcclusion; @@ -9526,7 +9526,7 @@ void LLPipeline::renderShadow(glh::matrix4f& view, glh::matrix4f& proj, LLCamera  		gGL.diffuseColor4f(1,1,1,1);  		gGL.setColorMask(false, false); -		LLFastTimer ftm(FTM_SHADOW_SIMPLE); +		LL_RECORD_BLOCK_TIME(FTM_SHADOW_SIMPLE);  		gGL.getTexUnit(0)->disable();  		for (U32 i = 0; i < sizeof(types)/sizeof(U32); ++i) @@ -9552,7 +9552,7 @@ void LLPipeline::renderShadow(glh::matrix4f& view, glh::matrix4f& proj, LLCamera  	}  	{ -		LLFastTimer ftm(FTM_SHADOW_ALPHA); +		LL_RECORD_BLOCK_TIME(FTM_SHADOW_ALPHA);  		gDeferredShadowAlphaMaskProgram.bind();  		gDeferredShadowAlphaMaskProgram.uniform1f(LLShaderMgr::DEFERRED_SHADOW_TARGET_WIDTH, (float)target_width); @@ -9605,10 +9605,10 @@ void LLPipeline::renderShadow(glh::matrix4f& view, glh::matrix4f& proj, LLCamera  	LLPipeline::sShadowRender = FALSE;  } -static LLFastTimer::DeclareTimer FTM_VISIBLE_CLOUD("Visible Cloud"); +static LLTrace::TimeBlock FTM_VISIBLE_CLOUD("Visible Cloud");  BOOL LLPipeline::getVisiblePointCloud(LLCamera& camera, LLVector3& min, LLVector3& max, std::vector<LLVector3>& fp, LLVector3 light_dir)  { -	LLFastTimer t(FTM_VISIBLE_CLOUD); +	LL_RECORD_BLOCK_TIME(FTM_VISIBLE_CLOUD);  	//get point cloud of intersection of frust and min, max  	if (getVisibleExtents(camera, min, max)) @@ -9855,7 +9855,7 @@ void LLPipeline::generateHighlight(LLCamera& camera)  } -static LLFastTimer::DeclareTimer FTM_GEN_SUN_SHADOW("Gen Sun Shadow"); +static LLTrace::TimeBlock FTM_GEN_SUN_SHADOW("Gen Sun Shadow");  void LLPipeline::generateSunShadow(LLCamera& camera)  { @@ -9864,7 +9864,7 @@ void LLPipeline::generateSunShadow(LLCamera& camera)  		return;  	} -	LLFastTimer t(FTM_GEN_SUN_SHADOW); +	LL_RECORD_BLOCK_TIME(FTM_GEN_SUN_SHADOW);  	BOOL skip_avatar_update = FALSE;  	if (!isAgentAvatarValid() || gAgentCamera.getCameraAnimating() || gAgentCamera.getCameraMode() != CAMERA_MODE_MOUSELOOK || !LLVOAvatar::sVisibleInFirstPerson) @@ -10645,11 +10645,11 @@ void LLPipeline::renderGroups(LLRenderPass* pass, U32 type, U32 mask, BOOL textu  	}  } -static LLFastTimer::DeclareTimer FTM_IMPOSTOR_MARK_VISIBLE("Impostor Mark Visible"); -static LLFastTimer::DeclareTimer FTM_IMPOSTOR_SETUP("Impostor Setup"); -static LLFastTimer::DeclareTimer FTM_IMPOSTOR_BACKGROUND("Impostor Background"); -static LLFastTimer::DeclareTimer FTM_IMPOSTOR_ALLOCATE("Impostor Allocate"); -static LLFastTimer::DeclareTimer FTM_IMPOSTOR_RESIZE("Impostor Resize"); +static LLTrace::TimeBlock FTM_IMPOSTOR_MARK_VISIBLE("Impostor Mark Visible"); +static LLTrace::TimeBlock FTM_IMPOSTOR_SETUP("Impostor Setup"); +static LLTrace::TimeBlock FTM_IMPOSTOR_BACKGROUND("Impostor Background"); +static LLTrace::TimeBlock FTM_IMPOSTOR_ALLOCATE("Impostor Allocate"); +static LLTrace::TimeBlock FTM_IMPOSTOR_RESIZE("Impostor Resize");  void LLPipeline::generateImpostor(LLVOAvatar* avatar)  { @@ -10707,7 +10707,7 @@ void LLPipeline::generateImpostor(LLVOAvatar* avatar)  	LLViewerCamera* viewer_camera = LLViewerCamera::getInstance();  	{ -		LLFastTimer t(FTM_IMPOSTOR_MARK_VISIBLE); +		LL_RECORD_BLOCK_TIME(FTM_IMPOSTOR_MARK_VISIBLE);  		markVisible(avatar->mDrawable, *viewer_camera);  		LLVOAvatar::sUseImpostors = FALSE; @@ -10737,7 +10737,7 @@ void LLPipeline::generateImpostor(LLVOAvatar* avatar)  	U32 resX = 0;  	{ -		LLFastTimer t(FTM_IMPOSTOR_SETUP); +		LL_RECORD_BLOCK_TIME(FTM_IMPOSTOR_SETUP);  		const LLVector4a* ext = avatar->mDrawable->getSpatialExtents();  		LLVector3 pos(avatar->getRenderPosition()+avatar->getImpostorOffset()); @@ -10794,7 +10794,7 @@ void LLPipeline::generateImpostor(LLVOAvatar* avatar)  		if (!avatar->mImpostor.isComplete())  		{ -			LLFastTimer t(FTM_IMPOSTOR_ALLOCATE); +			LL_RECORD_BLOCK_TIME(FTM_IMPOSTOR_ALLOCATE);  			avatar->mImpostor.allocate(resX,resY,GL_RGBA,TRUE,FALSE);  			if (LLPipeline::sRenderDeferred) @@ -10809,7 +10809,7 @@ void LLPipeline::generateImpostor(LLVOAvatar* avatar)  		else if(resX != avatar->mImpostor.getWidth() ||  			resY != avatar->mImpostor.getHeight())  		{ -			LLFastTimer t(FTM_IMPOSTOR_RESIZE); +			LL_RECORD_BLOCK_TIME(FTM_IMPOSTOR_RESIZE);  			avatar->mImpostor.resize(resX,resY,GL_RGBA);  		} @@ -10831,7 +10831,7 @@ void LLPipeline::generateImpostor(LLVOAvatar* avatar)  	}  	{ //create alpha mask based on depth buffer (grey out if muted) -		LLFastTimer t(FTM_IMPOSTOR_BACKGROUND); +		LL_RECORD_BLOCK_TIME(FTM_IMPOSTOR_BACKGROUND);  		if (LLPipeline::sRenderDeferred)  		{  			GLuint buff = GL_COLOR_ATTACHMENT0; diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h index b12dc3edbb..178a935d98 100755 --- a/indra/newview/pipeline.h +++ b/indra/newview/pipeline.h @@ -70,26 +70,26 @@ glh::matrix4f gl_ortho(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top,  glh::matrix4f gl_perspective(GLfloat fovy, GLfloat aspect, GLfloat zNear, GLfloat zFar);  glh::matrix4f gl_lookat(LLVector3 eye, LLVector3 center, LLVector3 up); -extern LLFastTimer::DeclareTimer FTM_RENDER_GEOMETRY; -extern LLFastTimer::DeclareTimer FTM_RENDER_GRASS; -extern LLFastTimer::DeclareTimer FTM_RENDER_INVISIBLE; -extern LLFastTimer::DeclareTimer FTM_RENDER_OCCLUSION; -extern LLFastTimer::DeclareTimer FTM_RENDER_SHINY; -extern LLFastTimer::DeclareTimer FTM_RENDER_SIMPLE; -extern LLFastTimer::DeclareTimer FTM_RENDER_TERRAIN; -extern LLFastTimer::DeclareTimer FTM_RENDER_TREES; -extern LLFastTimer::DeclareTimer FTM_RENDER_UI; -extern LLFastTimer::DeclareTimer FTM_RENDER_WATER; -extern LLFastTimer::DeclareTimer FTM_RENDER_WL_SKY; -extern LLFastTimer::DeclareTimer FTM_RENDER_ALPHA; -extern LLFastTimer::DeclareTimer FTM_RENDER_CHARACTERS; -extern LLFastTimer::DeclareTimer FTM_RENDER_BUMP; -extern LLFastTimer::DeclareTimer FTM_RENDER_MATERIALS; -extern LLFastTimer::DeclareTimer FTM_RENDER_FULLBRIGHT; -extern LLFastTimer::DeclareTimer FTM_RENDER_GLOW; -extern LLFastTimer::DeclareTimer FTM_STATESORT; -extern LLFastTimer::DeclareTimer FTM_PIPELINE; -extern LLFastTimer::DeclareTimer FTM_CLIENT_COPY; +extern LLTrace::TimeBlock FTM_RENDER_GEOMETRY; +extern LLTrace::TimeBlock FTM_RENDER_GRASS; +extern LLTrace::TimeBlock FTM_RENDER_INVISIBLE; +extern LLTrace::TimeBlock FTM_RENDER_OCCLUSION; +extern LLTrace::TimeBlock FTM_RENDER_SHINY; +extern LLTrace::TimeBlock FTM_RENDER_SIMPLE; +extern LLTrace::TimeBlock FTM_RENDER_TERRAIN; +extern LLTrace::TimeBlock FTM_RENDER_TREES; +extern LLTrace::TimeBlock FTM_RENDER_UI; +extern LLTrace::TimeBlock FTM_RENDER_WATER; +extern LLTrace::TimeBlock FTM_RENDER_WL_SKY; +extern LLTrace::TimeBlock FTM_RENDER_ALPHA; +extern LLTrace::TimeBlock FTM_RENDER_CHARACTERS; +extern LLTrace::TimeBlock FTM_RENDER_BUMP; +extern LLTrace::TimeBlock FTM_RENDER_MATERIALS; +extern LLTrace::TimeBlock FTM_RENDER_FULLBRIGHT; +extern LLTrace::TimeBlock FTM_RENDER_GLOW; +extern LLTrace::TimeBlock FTM_STATESORT; +extern LLTrace::TimeBlock FTM_PIPELINE; +extern LLTrace::TimeBlock FTM_CLIENT_COPY;  class LLPipeline | 
