diff options
| author | Dave Parks <davep@lindenlab.com> | 2021-10-19 02:26:41 +0000 | 
|---|---|---|
| committer | Dave Parks <davep@lindenlab.com> | 2021-10-19 02:26:41 +0000 | 
| commit | d2dce17803a545378407d6b7c62fdcd3007a92bc (patch) | |
| tree | efc7f17fb435b7dca9fc6a9438848bb2ce8724ab /indra/llcommon | |
| parent | 02f813d17bcf4592f6425e207e9fe487275b9354 (diff) | |
SL-16197 Optimize LLEnvironment handling of shader uniforms.  Instrument LLSD.  Enable Fast Timers when Tracy is enabled to catch Fast Timer overhead.
Diffstat (limited to 'indra/llcommon')
| -rw-r--r-- | indra/llcommon/llsd.cpp | 32 | ||||
| -rw-r--r-- | indra/llcommon/llsd.h | 12 | 
2 files changed, 35 insertions, 9 deletions
| diff --git a/indra/llcommon/llsd.cpp b/indra/llcommon/llsd.cpp index 57b746889d..605f6bf0e3 100644 --- a/indra/llcommon/llsd.cpp +++ b/indra/llcommon/llsd.cpp @@ -400,6 +400,7 @@ namespace  	ImplMap& ImplMap::makeMap(LLSD::Impl*& var)  	{ +        LL_PROFILE_ZONE_SCOPED;  		if (shared())  		{  			ImplMap* i = new ImplMap(mData); @@ -414,18 +415,21 @@ namespace  	bool ImplMap::has(const LLSD::String& k) const  	{ +        LL_PROFILE_ZONE_SCOPED;  		DataMap::const_iterator i = mData.find(k);  		return i != mData.end();  	}  	LLSD ImplMap::get(const LLSD::String& k) const  	{ +        LL_PROFILE_ZONE_SCOPED;  		DataMap::const_iterator i = mData.find(k);  		return (i != mData.end()) ? i->second : LLSD();  	}  	LLSD ImplMap::getKeys() const  	{  +        LL_PROFILE_ZONE_SCOPED;  		LLSD keys = LLSD::emptyArray();  		DataMap::const_iterator iter = mData.begin();  		while (iter != mData.end()) @@ -438,11 +442,13 @@ namespace  	void ImplMap::insert(const LLSD::String& k, const LLSD& v)  	{ +        LL_PROFILE_ZONE_SCOPED;  		mData.insert(DataMap::value_type(k, v));  	}  	void ImplMap::erase(const LLSD::String& k)  	{ +        LL_PROFILE_ZONE_SCOPED;  		mData.erase(k);  	} @@ -684,6 +690,7 @@ const LLSD::Impl& LLSD::Impl::safe(const Impl* impl)  ImplMap& LLSD::Impl::makeMap(Impl*& var)  { +    LL_PROFILE_ZONE_SCOPED;  	ImplMap* im = new ImplMap;  	reset(var, im);  	return *im; @@ -887,11 +894,16 @@ LLSD& LLSD::with(const String& k, const LLSD& v)  										}  void LLSD::erase(const String& k)		{ makeMap(impl).erase(k); } -LLSD&		LLSD::operator[](const String& k) -										{ return makeMap(impl).ref(k); } +LLSD& LLSD::operator[](const String& k) +{  +    LL_PROFILE_ZONE_SCOPED; +    return makeMap(impl).ref(k);  +}  const LLSD& LLSD::operator[](const String& k) const -										{ return safe(impl).ref(k); } - +{  +    LL_PROFILE_ZONE_SCOPED; +    return safe(impl).ref(k);  +}  LLSD LLSD::emptyArray()  { @@ -914,10 +926,16 @@ LLSD& LLSD::with(Integer i, const LLSD& v)  LLSD& LLSD::append(const LLSD& v)		{ return makeArray(impl).append(v); }  void LLSD::erase(Integer i)				{ makeArray(impl).erase(i); } -LLSD&		LLSD::operator[](Integer i) -										{ return makeArray(impl).ref(i); } +LLSD& LLSD::operator[](Integer i) +{  +    LL_PROFILE_ZONE_SCOPED; +    return makeArray(impl).ref(i);  +}  const LLSD& LLSD::operator[](Integer i) const -										{ return safe(impl).ref(i); } +{  +    LL_PROFILE_ZONE_SCOPED; +    return safe(impl).ref(i); +}  static const char *llsd_dump(const LLSD &llsd, bool useXMLFormat)  { diff --git a/indra/llcommon/llsd.h b/indra/llcommon/llsd.h index 5b6d5545af..b8ddf21596 100644 --- a/indra/llcommon/llsd.h +++ b/indra/llcommon/llsd.h @@ -290,9 +290,17 @@ public:  		LLSD& with(const String&, const LLSD&);  		LLSD& operator[](const String&); -		LLSD& operator[](const char* c)			{ return (*this)[String(c)]; } +		LLSD& operator[](const char* c)			 +        {  +            LL_PROFILE_ZONE_SCOPED; +            return (*this)[String(c)];  +        }  		const LLSD& operator[](const String&) const; -		const LLSD& operator[](const char* c) const	{ return (*this)[String(c)]; } +		const LLSD& operator[](const char* c) const	 +        {  +            LL_PROFILE_ZONE_SCOPED; +            return (*this)[String(c)];  +        }  	//@}  	/** @name Array Values */ | 
