diff options
author | Dave Parks <davep@lindenlab.com> | 2022-10-24 16:26:42 -0500 |
---|---|---|
committer | Dave Parks <davep@lindenlab.com> | 2022-10-24 16:26:42 -0500 |
commit | 5c86ec6a6130bef9348d6155c6a7404914c20418 (patch) | |
tree | bcc13446fda77a997065216d7d36fcb3ae8c28ac /indra/newview/llgltfmateriallist.h | |
parent | 554bc6f6b3da2f0949e92e92f09804c8f65b07ca (diff) |
SL-18105 Add mechanism for applying overrides that were received before associated ViewerObject was ready to receive them.
Diffstat (limited to 'indra/newview/llgltfmateriallist.h')
-rw-r--r-- | indra/newview/llgltfmateriallist.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/indra/newview/llgltfmateriallist.h b/indra/newview/llgltfmateriallist.h index 4b905e32c9..ee32dc8825 100644 --- a/indra/newview/llgltfmateriallist.h +++ b/indra/newview/llgltfmateriallist.h @@ -48,10 +48,20 @@ public: void flushMaterials(); static void registerCallbacks(); + + // save an override update for later (for example, if an override arrived for an unknown object) + void queueOverrideUpdate(const LLUUID& id, S32 side, LLGLTFMaterial* override_data); + + void applyQueuedOverrides(LLViewerObject* obj); + private: typedef std::unordered_map<LLUUID, LLPointer<LLFetchedGLTFMaterial > > uuid_mat_map_t; uuid_mat_map_t mList; + typedef std::vector<LLPointer<LLGLTFMaterial> > override_list_t; + typedef std::unordered_map<LLUUID, override_list_t > queued_override_map_t; + queued_override_map_t mQueuedOverrides; + LLUUID mLastUpdateKey; }; |