diff options
author | AndreyL ProductEngine <alihatskiy@productengine.com> | 2020-01-06 20:28:37 +0200 |
---|---|---|
committer | AndreyL ProductEngine <alihatskiy@productengine.com> | 2020-01-06 20:28:37 +0200 |
commit | 2076f4af0fc946c3bd79754a1deefc495ee7edb9 (patch) | |
tree | 859f1a0a7a82a571dde9a26c738e59a862cd6c05 /indra/newview/lltexturecache.h | |
parent | 4c006e76e39a8b59dc6f9c890e5a27d38b5ece50 (diff) | |
parent | d656d49a77eeb65ae537c954ea4009bc22da7b2b (diff) |
Merged in viewer-release
Diffstat (limited to 'indra/newview/lltexturecache.h')
-rw-r--r-- | indra/newview/lltexturecache.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/indra/newview/lltexturecache.h b/indra/newview/lltexturecache.h index 81ea7aeee2..6046f2b9df 100644 --- a/indra/newview/lltexturecache.h +++ b/indra/newview/lltexturecache.h @@ -139,7 +139,7 @@ public: U32 getEntries() { return mHeaderEntriesInfo.mEntries; } U32 getMaxEntries() { return sCacheMaxEntries; }; BOOL isInCache(const LLUUID& id) ; - BOOL isInLocal(const LLUUID& id) ; + BOOL isInLocal(const LLUUID& id) ; //not thread safe at the moment protected: // Accessed by LLTextureCacheWorker @@ -155,6 +155,7 @@ private: void readHeaderCache(); void clearCorruptedCache(); void purgeAllTextures(bool purge_directories); + void purgeTexturesLazy(F32 time_limit_sec); void purgeTextures(bool validate); LLAPRFile* openHeaderEntriesFile(bool readonly, S32 offset); void closeHeaderEntriesFile(); @@ -189,6 +190,11 @@ private: LLMutex mFastCacheMutex; LLAPRFile* mHeaderAPRFile; LLVolatileAPRPool* mFastCachePoolp; + + // mLocalAPRFilePoolp is not thread safe and is meant only for workers + // howhever mHeaderEntriesFileName is accessed not from workers' threads + // so it needs own pool (not thread safe by itself, relies onto header's mutex) + LLVolatileAPRPool* mHeaderAPRFilePoolp; typedef std::map<handle_t, LLTextureCacheWorker*> handle_map_t; handle_map_t mReaders; @@ -225,6 +231,8 @@ private: typedef std::map<S32, Entry> idx_entry_map_t; idx_entry_map_t mUpdatedEntryMap; + typedef std::vector<std::pair<S32, Entry> > idx_entry_vector_t; + idx_entry_vector_t mPurgeEntryList; // Statics static F32 sHeaderCacheVersion; |