summaryrefslogtreecommitdiff
path: root/indra/newview/llgltfmateriallist.h
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2022-10-24 16:26:42 -0500
committerDave Parks <davep@lindenlab.com>2022-10-24 16:26:42 -0500
commit5c86ec6a6130bef9348d6155c6a7404914c20418 (patch)
treebcc13446fda77a997065216d7d36fcb3ae8c28ac /indra/newview/llgltfmateriallist.h
parent554bc6f6b3da2f0949e92e92f09804c8f65b07ca (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.h10
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;
};