summaryrefslogtreecommitdiff
path: root/indra/newview/llmeshrepository.h
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2025-01-31 21:44:57 +0200
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2025-02-03 19:01:30 +0200
commit33303b9011c8be0dae46a3005fa2e89ee5d64ef9 (patch)
tree9f431afa6f5c1b4dba2a794db76365bfb36ff18d /indra/newview/llmeshrepository.h
parent314ef5389cb57646fc20971335e65b6a8dab7235 (diff)
#3488 Split mesh thread mutexes
Tracy shows that thread waits a lot on mutexes. Split in and out mutexes, so that new work can be scheduled by main thread without blocking handling
Diffstat (limited to 'indra/newview/llmeshrepository.h')
-rw-r--r--indra/newview/llmeshrepository.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/indra/newview/llmeshrepository.h b/indra/newview/llmeshrepository.h
index 294d01f868..1288b6045f 100644
--- a/indra/newview/llmeshrepository.h
+++ b/indra/newview/llmeshrepository.h
@@ -386,6 +386,8 @@ public:
LLMutex* mMutex;
LLMutex* mHeaderMutex;
+ LLMutex* mLoadedMutex;
+ LLMutex* mPendingMutex;
LLCondition* mSignal;
//map of known mesh headers
@@ -574,7 +576,7 @@ private:
size_t offset, size_t len,
const LLCore::HttpHandler::ptr_t &handler);
- // Mutex: mMutex must be alerady locked when calling
+ // Mutex: acquires mPendingMutex, mMutex and mHeaderMutex as needed
void loadMeshLOD(const LLUUID &mesh_id, const LLVolumeParams& mesh_params, S32 lod);
// Threads: Repo thread only