summaryrefslogtreecommitdiff
path: root/indra/llappearance
diff options
context:
space:
mode:
authorHenri Beauchamp <sldev@free.fr>2023-02-06 11:30:23 +0100
committerHenri Beauchamp <sldev@free.fr>2023-02-06 11:30:23 +0100
commitbf7faa3267e549b01131c6746202a5b6cda8e68a (patch)
tree145a475ac8fbadd980d54a6252bd5862e22a8cb4 /indra/llappearance
parentc1e1f1e423d6afa1b5f954296726a49e42a3fe74 (diff)
Faster and simpler inventory category hashing.
This commit changes inventory category hashing from slow LLMD5 to fast HBXX128 hashing, and allows to use a simple LLUUID for the hash, instead of an LLMD5 instance. It also removes some old cruft dealing with unused baked texture hashing.
Diffstat (limited to 'indra/llappearance')
-rw-r--r--indra/llappearance/llwearable.h4
-rw-r--r--indra/llappearance/llwearabledata.cpp40
-rw-r--r--indra/llappearance/llwearabledata.h9
3 files changed, 0 insertions, 53 deletions
diff --git a/indra/llappearance/llwearable.h b/indra/llappearance/llwearable.h
index 875c2932f1..d86db236a3 100644
--- a/indra/llappearance/llwearable.h
+++ b/indra/llappearance/llwearable.h
@@ -32,7 +32,6 @@
#include "llsaleinfo.h"
#include "llwearabletype.h"
-class LLMD5;
class LLVisualParam;
class LLTexGlobalColorInfo;
class LLTexGlobalColor;
@@ -110,9 +109,6 @@ public:
// Something happened that requires the wearable to be updated (e.g. worn/unworn).
virtual void setUpdated() const = 0;
- // Update the baked texture hash.
- virtual void addToBakedTextureHash(LLMD5& hash) const = 0;
-
typedef std::map<S32, LLVisualParam *> visual_param_index_map_t;
visual_param_index_map_t mVisualParamIndexMap;
diff --git a/indra/llappearance/llwearabledata.cpp b/indra/llappearance/llwearabledata.cpp
index 0eaeedb6ee..9fbbc57c87 100644
--- a/indra/llappearance/llwearabledata.cpp
+++ b/indra/llappearance/llwearabledata.cpp
@@ -31,7 +31,6 @@
#include "llavatarappearance.h"
#include "llavatarappearancedefines.h"
#include "lldriverparam.h"
-#include "llmd5.h"
LLWearableData::LLWearableData() :
mAvatarAppearance(NULL)
@@ -343,42 +342,3 @@ U32 LLWearableData::getWearableCount(const U32 tex_index) const
const LLWearableType::EType wearable_type = LLAvatarAppearance::getDictionary()->getTEWearableType((LLAvatarAppearanceDefines::ETextureIndex)tex_index);
return getWearableCount(wearable_type);
}
-
-LLUUID LLWearableData::computeBakedTextureHash(LLAvatarAppearanceDefines::EBakedTextureIndex baked_index,
- BOOL generate_valid_hash) // Set to false if you want to upload the baked texture w/o putting it in the cache
-{
- LLUUID hash_id;
- bool hash_computed = false;
- LLMD5 hash;
- const LLAvatarAppearanceDictionary::BakedEntry *baked_dict = LLAvatarAppearance::getDictionary()->getBakedTexture(baked_index);
-
- for (U8 i=0; i < baked_dict->mWearables.size(); i++)
- {
- const LLWearableType::EType baked_type = baked_dict->mWearables[i];
- const U32 num_wearables = getWearableCount(baked_type);
- for (U32 index = 0; index < num_wearables; ++index)
- {
- const LLWearable* wearable = getWearable(baked_type,index);
- if (wearable)
- {
- wearable->addToBakedTextureHash(hash);
- hash_computed = true;
- }
- }
- }
- if (hash_computed)
- {
- hash.update((const unsigned char*)baked_dict->mWearablesHashID.mData, UUID_BYTES);
-
- if (!generate_valid_hash)
- {
- invalidateBakedTextureHash(hash);
- }
- hash.finalize();
- hash.raw_digest(hash_id.mData);
- }
-
- return hash_id;
-}
-
-
diff --git a/indra/llappearance/llwearabledata.h b/indra/llappearance/llwearabledata.h
index a0c446ea9e..b8e0bf8bd1 100644
--- a/indra/llappearance/llwearabledata.h
+++ b/indra/llappearance/llwearabledata.h
@@ -86,15 +86,6 @@ private:
void pullCrossWearableValues(const LLWearableType::EType type);
//--------------------------------------------------------------------
- // Server Communication
- //--------------------------------------------------------------------
-public:
- LLUUID computeBakedTextureHash(LLAvatarAppearanceDefines::EBakedTextureIndex baked_index,
- BOOL generate_valid_hash = TRUE);
-protected:
- virtual void invalidateBakedTextureHash(LLMD5& hash) const {}
-
- //--------------------------------------------------------------------
// Member variables
//--------------------------------------------------------------------
protected: