From 1971839517519657fc895c9cb12c47317dde6b39 Mon Sep 17 00:00:00 2001 From: Brad Kittenbrink Date: Fri, 11 Nov 2022 10:00:37 -0800 Subject: Basic solution for SL-18458 vocache implementation for material overrides --- indra/newview/llvocache.h | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'indra/newview/llvocache.h') diff --git a/indra/newview/llvocache.h b/indra/newview/llvocache.h index 55a13d934d..33c1dfef8d 100644 --- a/indra/newview/llvocache.h +++ b/indra/newview/llvocache.h @@ -33,6 +33,8 @@ #include "llvieweroctree.h" #include "llapr.h" +#include + //--------------------------------------------------------------------------- // Cache entries class LLCamera; @@ -79,6 +81,13 @@ public: } } }; + + struct ExtrasEntry + { + LLSD extras; + std::string extras_raw; + }; + protected: ~LLVOCacheEntry(); public: @@ -142,7 +151,8 @@ private: public: typedef std::map > vocache_entry_map_t; typedef std::set vocache_entry_set_t; - typedef std::set vocache_entry_priority_list_t; + typedef std::set vocache_entry_priority_list_t; + typedef std::unordered_map vocache_extras_entry_map_t; S32 mLastCameraUpdated; protected: @@ -265,7 +275,10 @@ public: void removeCache(ELLPath location, bool started = false) ; void readFromCache(U64 handle, const LLUUID& id, LLVOCacheEntry::vocache_entry_map_t& cache_entry_map) ; + void readGenericExtrasFromCache(U64 handle, const LLUUID& id, LLVOCacheEntry::vocache_extras_entry_map_t& cache_extras_entry_map); + void writeToCache(U64 handle, const LLUUID& id, const LLVOCacheEntry::vocache_entry_map_t& cache_entry_map, BOOL dirty_cache, bool removal_enabled); + void writeGenericExtrasToCache(U64 handle, const LLUUID& id, const LLVOCacheEntry::vocache_extras_entry_map_t& cache_extras_entry_map, BOOL dirty_cache, bool removal_enabled); void removeEntry(U64 handle) ; U32 getCacheEntries() { return mNumEntries; } -- cgit v1.2.3