diff options
| author | Tofu Linden <tofu.linden@lindenlab.com> | 2010-06-04 18:55:17 +0100 | 
|---|---|---|
| committer | Tofu Linden <tofu.linden@lindenlab.com> | 2010-06-04 18:55:17 +0100 | 
| commit | c646ce4f510d9e725bff48b1bc4aba551836ecd4 (patch) | |
| tree | 8db7944d2e8acdf859a3be0988286f5dbee16834 | |
| parent | b2c39dc1e74f42f8ed24c6f69aad797e4f7e2dc6 (diff) | |
| parent | e8a84927959b098b9fe81047977006dc62f2b9b8 (diff) | |
merge from viewer-public
| -rw-r--r-- | indra/newview/app_settings/settings.xml | 2 | ||||
| -rw-r--r-- | indra/newview/gpu_table.txt | 5 | ||||
| -rw-r--r-- | indra/newview/llagentwearables.cpp | 13 | ||||
| -rw-r--r-- | indra/newview/lltexlayer.cpp | 18 | ||||
| -rw-r--r-- | indra/newview/lltexlayer.h | 2 | ||||
| -rw-r--r-- | indra/newview/llvoavatarself.cpp | 10 | 
6 files changed, 35 insertions, 15 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index a542917055..e1c799b66a 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -583,7 +583,7 @@        <key>Type</key>        <string>U32</string>        <key>Value</key> -      <integer>0</integer> +      <integer>180</integer>      </map>      <key>AvatarSex</key>      <map> diff --git a/indra/newview/gpu_table.txt b/indra/newview/gpu_table.txt index 5aad295cb1..62766f9229 100644 --- a/indra/newview/gpu_table.txt +++ b/indra/newview/gpu_table.txt @@ -204,8 +204,8 @@ NVIDIA GeForce 7200				.*NVIDIA.*GeForce 72.*				1		1  NVIDIA GeForce 7300				.*NVIDIA.*GeForce 73.*				1		1  NVIDIA GeForce 7500				.*NVIDIA.*GeForce 75.*				1		1  NVIDIA GeForce 7600				.*NVIDIA.*GeForce 76.*				1		1 -NVIDIA GeForce 7800				.*NVIDIA.*GeForce.*78.*				1		1 -NVIDIA GeForce 7900				.*NVIDIA.*GeForce.*79.*				1		1 +NVIDIA GeForce 7800				.*NVIDIA.*GeForce 78.*				1		1 +NVIDIA GeForce 7900				.*NVIDIA.*GeForce 79.*				1		1  NVIDIA GeForce 8100				.*NVIDIA.*GeForce 81.*				1		1  NVIDIA GeForce 8200				.*NVIDIA.*GeForce 82.*				1		1  NVIDIA GeForce 8300				.*NVIDIA.*GeForce 83.*				1		1 @@ -259,6 +259,7 @@ NVIDIA G84						.*G84.*								1		1  NVIDIA G92						.*G92.*								3		1  NVIDIA G94						.*G94.*								3		1  NVIDIA GeForce Go 6				.*GeForce Go 6.*					1		1 +NVIDIA ION						.*NVIDIA ION.*						1		1  NVIDIA NB9M						.*GeForce NB9M.*					1		1  NVIDIA NB9P						.*GeForce NB9P.*					1		1  NVIDIA GeForce PCX				.*GeForce PCX.*						0		1 diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index e0104eddf0..d823a3cbbb 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -1638,10 +1638,6 @@ LLUUID LLAgentWearables::computeBakedTextureHash(LLVOAvatarDefines::EBakedTextur  			{  				LLUUID asset_id = wearable->getAssetID();  				hash.update((const unsigned char*)asset_id.mData, UUID_BYTES); -				if (!generate_valid_hash) -				{ -					hash.update((const unsigned char*)asset_id.mData, UUID_BYTES); -				}  				hash_computed = true;  			}  		} @@ -1649,6 +1645,15 @@ LLUUID LLAgentWearables::computeBakedTextureHash(LLVOAvatarDefines::EBakedTextur  	if (hash_computed)  	{  		hash.update((const unsigned char*)baked_dict->mWearablesHashID.mData, UUID_BYTES); + +		// Add some garbage into the hash so that it becomes invalid. +		if (!generate_valid_hash) +		{ +			if (isAgentAvatarValid()) +			{ +				hash.update((const unsigned char*)gAgentAvatarp->getID().mData, UUID_BYTES); +			} +		}  		hash.finalize();  		hash.raw_digest(hash_id.mData);  	} diff --git a/indra/newview/lltexlayer.cpp b/indra/newview/lltexlayer.cpp index 1d74a7be8c..edd9ae16a9 100644 --- a/indra/newview/lltexlayer.cpp +++ b/indra/newview/lltexlayer.cpp @@ -165,6 +165,7 @@ void LLTexLayerSetBuffer::dumpTotalByteCount()  void LLTexLayerSetBuffer::requestUpdate()  { +	conditionalRestartUploadTimer();  	mNeedsUpdate = TRUE;  	// If we're in the middle of uploading a baked texture, we don't care about it any more.  	// When it's downloaded, ignore it. @@ -173,17 +174,26 @@ void LLTexLayerSetBuffer::requestUpdate()  void LLTexLayerSetBuffer::requestUpload()  { +	conditionalRestartUploadTimer(); +	mNeedsUpload = TRUE; +	mNumLowresUploads = 0; +	mUploadPending = TRUE; +} + +void LLTexLayerSetBuffer::conditionalRestartUploadTimer() +{  	// If we requested a new upload but haven't even uploaded  	// a low res version of our last upload request, then  	// keep the timer ticking instead of resetting it.  	if (mNeedsUpload && (mNumLowresUploads == 0))  	{ +		mNeedsUploadTimer.unpause(); +	} +	else +	{  		mNeedsUploadTimer.reset(); +		mNeedsUploadTimer.start();  	} -	mNeedsUpload = TRUE; -	mNumLowresUploads = 0; -	mUploadPending = TRUE; -	mNeedsUploadTimer.unpause();  }  void LLTexLayerSetBuffer::cancelUpload() diff --git a/indra/newview/lltexlayer.h b/indra/newview/lltexlayer.h index 2ee609fe60..821e718347 100644 --- a/indra/newview/lltexlayer.h +++ b/indra/newview/lltexlayer.h @@ -294,6 +294,8 @@ protected:  	void					pushProjection() const;  	void					popProjection() const;  	BOOL					isReadyToUpload() const; +	void					conditionalRestartUploadTimer(); +	  private:  	LLTexLayerSet* const    mTexLayerSet;  	BOOL					mNeedsUpdate; // whether we need to update our baked textures diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index 462c442954..e18b617120 100644 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -1273,7 +1273,8 @@ BOOL LLVOAvatarSelf::isLocalTextureDataAvailable(const LLTexLayerSet* layerset)  //-----------------------------------------------------------------------------  BOOL LLVOAvatarSelf::isLocalTextureDataFinal(const LLTexLayerSet* layerset) const  { -	const U32 override_tex_discard_level = gSavedSettings.getU32("TextureDiscardLevel"); +	//const U32 desired_tex_discard_level = gSavedSettings.getU32("TextureDiscardLevel");  +	const U32 desired_tex_discard_level = 0; // SERAPH hack to not bake textures on lower discard levels.  	for (U32 i = 0; i < mBakedTextureDatas.size(); i++)  	{ @@ -1289,7 +1290,7 @@ BOOL LLVOAvatarSelf::isLocalTextureDataFinal(const LLTexLayerSet* layerset) cons  				const U32 wearable_count = gAgentWearables.getWearableCount(wearable_type);  				for (U32 wearable_index = 0; wearable_index < wearable_count; wearable_index++)  				{ -					if (getLocalDiscardLevel(*local_tex_iter, wearable_index) > (S32)(override_tex_discard_level)) +					if (getLocalDiscardLevel(*local_tex_iter, wearable_index) > (S32)(desired_tex_discard_level))  					{  						return FALSE;  					} @@ -1304,7 +1305,8 @@ BOOL LLVOAvatarSelf::isLocalTextureDataFinal(const LLTexLayerSet* layerset) cons  BOOL LLVOAvatarSelf::isAllLocalTextureDataFinal() const  { -	const U32 override_tex_discard_level = gSavedSettings.getU32("TextureDiscardLevel"); +	// const U32 desired_tex_discard_level = gSavedSettings.getU32("TextureDiscardLevel");  +	const U32 desired_tex_discard_level = 0; // SERAPH hack to not bake textures on lower discard levels  	for (U32 i = 0; i < mBakedTextureDatas.size(); i++)  	{ @@ -1318,7 +1320,7 @@ BOOL LLVOAvatarSelf::isAllLocalTextureDataFinal() const  			const U32 wearable_count = gAgentWearables.getWearableCount(wearable_type);  			for (U32 wearable_index = 0; wearable_index < wearable_count; wearable_index++)  			{ -				if (getLocalDiscardLevel(*local_tex_iter, wearable_index) > (S32)(override_tex_discard_level)) +				if (getLocalDiscardLevel(*local_tex_iter, wearable_index) > (S32)(desired_tex_discard_level))  				{  					return FALSE;  				}  | 
