diff options
| -rw-r--r-- | indra/newview/llagentwearables.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llvoavatar.cpp | 37 | 
2 files changed, 39 insertions, 0 deletions
diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index cc9e68d593..066e082cae 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -1445,6 +1445,8 @@ void LLAgentWearables::setWearableOutfit(const LLInventoryItem::item_array_t& it  	queryWearableCache();  	updateServer(); +	gAgentAvatarp->dumpAvatarTEs("setWearableOutfit"); +  	lldebugs << "setWearableOutfit() end" << llendl;  } diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 5d3c64f590..fd53214c50 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -7862,6 +7862,8 @@ void LLVOAvatar::idleUpdateRenderCost()  	static const U32 ARC_BODY_PART_COST = 20;  	static const U32 ARC_LIMIT = 2048; +	static std::set<LLUUID> all_textures; +  	if (!gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_SHAME))  	{  		return; @@ -7907,7 +7909,42 @@ void LLVOAvatar::idleUpdateRenderCost()  			}  		}  	} +	// print any attachment textures we didn't already know about. +	if (isSelf()) +	{ +		for (std::set<LLUUID>::iterator it = textures.begin(); it != textures.end(); ++it) +		{ +			LLUUID image_id = *it; +			if( image_id.isNull() || image_id == IMG_DEFAULT || image_id == IMG_DEFAULT_AVATAR) +				continue; +			if (all_textures.find(image_id) == all_textures.end()) +			{ +				// attachment texture not previously seen. +				llinfos << "attachment_texture: " << image_id.asString() << llendl; +				all_textures.insert(image_id); +			} +		} +		// print any avatar textures we didn't already know about +		for (LLVOAvatarDictionary::Textures::const_iterator iter = LLVOAvatarDictionary::getInstance()->getTextures().begin(); +			 iter != LLVOAvatarDictionary::getInstance()->getTextures().end(); +			 ++iter) +		{ +			const LLVOAvatarDictionary::TextureEntry *texture_dict = iter->second; +			// TODO: handle multiple textures for self +			const LLViewerTexture* te_image = getImage(iter->first,0); +			if (!te_image) +				continue; +			LLUUID image_id = te_image->getID(); +			if( image_id.isNull() || image_id == IMG_DEFAULT || image_id == IMG_DEFAULT_AVATAR) +				continue; +			if (all_textures.find(image_id) == all_textures.end()) +			{ +				llinfos << "local_texture: " << texture_dict->mName << ": " << image_id << llendl; +				all_textures.insert(image_id); +			} +		} +	}  	cost += textures.size() * LLVOVolume::ARC_TEXTURE_COST;  	setDebugText(llformat("%d", cost));  | 
