summaryrefslogtreecommitdiff
path: root/indra/newview/llmeshrepository.cpp
AgeCommit message (Collapse)Author
2025-08-19#4544 Make model dump go into logsAndrey Kleshchev
not into work folder, viewer isn't supposed to write there.
2025-08-15#4544 Add source format information to mesh upload statisticsAndrey Kleshchev
2025-08-06Merge branch develop into 2025.06Andrey Kleshchev
# Conflicts: # indra/newview/llvoavatar.cpp
2025-08-06Merge release/2025.05 into developAndrey Kleshchev
2025-07-22Fix a crash bug and bogus calculations in LLMeshRepoThread::lodReceived() ↵Henri Beauchamp
(#4398, #4408) When trying to update the rigging info for a newly received mesh LOD, a wrong usage of LLVolume::getNumFaces() is done to get the number of volume faces, causing the code to iterate over the number of faces in the underlying LLProfile instead. LLVolume::getNumVolumeFaces() must be used here. This fixes a crash bug seen with low LODs in some meshes (when the number of mesh faces is smaller than the number of faces in the LLProfile), and also properly updates the rigging info for all mesh faces, as it should, when the mesh got more faces than the LLProfile.
2025-07-14#4294 Make upload order more deterministic #2Andrey Kleshchev
2025-07-12#4294 Make upload order more deterministicAndrey Kleshchev
to make root prim more deterministic instead of being random each try
2025-07-09#4357 Crash in LLMeshRepoThread::lodReceivedAndrey Kleshchev
2025-07-03#4242 Debug dump improvementAndrey Kleshchev
for better comparison with collada output
2025-05-28Merge branch 'main' into marchcat/2505-mergeAndrey Lihatskiy
# Conflicts: # .github/workflows/qatest.yaml # indra/llcommon/llsdutil.h # indra/llui/llflatlistview.h # indra/newview/llinventorybridge.cpp # indra/newview/lloutfitgallery.cpp # indra/newview/lloutfitgallery.h
2025-05-14#4081 Meshes missing after teleportAndrey Kleshchev
2025-04-22#3960 Fix expensive mesh thread score calculationsAndrey Kleshchev
2025-04-22#3870 Added joint initialization for LLVOAvatarSelfAndrey Kleshchev
Sometimes mesh thread crashes when allocating joints
2025-04-22#3488 Reduce lockingAndrey Kleshchev
1. 'sActive' variables are atomic, no locks needed 2. Fix trylocks. There are internal locks inside loadMeshLOD so without checking locks 3 and 4 viewer would be locked on each loadMeshLOD, potentially making main thread wait for threads to unlock.
2025-04-15Merge branch 'main' into marchcat/maint-c-restoreAndrey Lihatskiy
# Conflicts: # indra/llcommon/lldate.h # indra/newview/llappviewer.cpp # indra/newview/llinventorybridge.cpp # indra/newview/llmaterialeditor.cpp # indra/newview/llviewerparceloverlay.cpp # indra/newview/llvoavatar.cpp
2025-04-11#3596 Faster mesh thread shutdownAndrey Kleshchev
2025-04-10Merge commit '9e24b30' into marchcat/maint-c/restoreAndrey Lihatskiy
# Conflicts: # indra/llmath/v2math.cpp # indra/llmath/v2math.h # indra/llmath/v3math.h # indra/llmath/v4math.h # indra/llui/llfolderviewitem.cpp # indra/llui/llfolderviewitem.h # indra/llui/llfolderviewmodel.h # indra/llui/llmodaldialog.cpp # indra/llui/lltexteditor.cpp # indra/llui/lltexteditor.h # indra/llwindow/llwindowwin32.cpp # indra/newview/llagent.cpp # indra/newview/llagentcamera.h # indra/newview/llavatarrenderinfoaccountant.cpp # indra/newview/llconversationmodel.h # indra/newview/llfloaterinventorysettings.cpp # indra/newview/llfloaternamedesc.cpp # indra/newview/llfloaternamedesc.h # indra/newview/llfloaterobjectweights.cpp # indra/newview/llfloaterobjectweights.h # indra/newview/llfolderviewmodelinventory.h # indra/newview/llinspecttexture.cpp # indra/newview/llinventorybridge.cpp # indra/newview/llinventorybridge.h # indra/newview/llinventoryfunctions.cpp # indra/newview/llinventorygallery.h # indra/newview/llinventorygallerymenu.cpp # indra/newview/llinventorymodel.cpp # indra/newview/llinventorypanel.cpp # indra/newview/llinventorypanel.h # indra/newview/llmaterialeditor.cpp # indra/newview/lloutfitgallery.cpp # indra/newview/lloutfitgallery.h # indra/newview/lloutfitslist.cpp # indra/newview/lloutfitslist.h # indra/newview/llpanelgroupcreate.cpp # indra/newview/llpanelgroupgeneral.cpp # indra/newview/llpanelobjectinventory.cpp # indra/newview/llpaneloutfitsinventory.h # indra/newview/llpanelprofile.cpp # indra/newview/llpanelwearing.cpp # indra/newview/llreflectionmap.cpp # indra/newview/llselectmgr.cpp # indra/newview/llsidepanelappearance.cpp # indra/newview/llsidepaneliteminfo.cpp # indra/newview/llteleporthistorystorage.cpp # indra/newview/lltexturectrl.cpp # indra/newview/lltexturectrl.h # indra/newview/lltexturefetch.cpp # indra/newview/lltexturefetch.h # indra/newview/llviewerassetupload.cpp # indra/newview/llviewercamera.cpp # indra/newview/llviewercamera.h # indra/newview/llviewermenufile.cpp # indra/newview/llviewerobject.h # indra/newview/llviewertexture.cpp # indra/newview/llviewerwindow.cpp # indra/newview/llvoavatar.cpp # indra/newview/llvoavatar.h # indra/newview/llvoavatarself.cpp # indra/newview/llvovolume.cpp # indra/newview/llvovolume.h # indra/newview/tests/llviewerassetstats_test.cpp
2025-03-19#3488 Prelock mutexesAndrey Kleshchev
Main thread has priority, it shouldn't be relocking on each loadMeshLOD
2025-02-23#3596 Fix use of dead referencesAndrey Kleshchev
1. Was posting a would-be-dead reference to a thread 2. loadMeshLODs was getting dead references. It's no longer relevant so just restored logic to wotk like it was before loadMeshLODs
2025-02-22#3596 Convert some mesh repository functions to constAndrey Kleshchev
2025-02-22#3596 Fix mMutex in mesh threadAndrey Kleshchev
2025-02-22#3596 Ensure correct loading mesh gets checked and removedAndrey Kleshchev
2025-02-19Merge branch release/2025.03Andrey Kleshchev
# Conflicts: # indra/newview/llmeshrepository.cpp # indra/newview/llmeshrepository.h
2025-02-19#3488 Prioritization adjustmentsAndrey Kleshchev
2025-02-13Fix xcode16 build errorsAndrey Lihatskiy
2025-02-05#3488 Speed up nearby avatar loading after a tpAndrey Kleshchev
2025-02-04#3488 #3488 Move skin info processing out of mesh threadAndrey Kleshchev
Skin info parsing is expensive, offload to thread pool
2025-02-04#3488 Fix skin info not reading from cacheAndrey Kleshchev
2025-02-04#3488 Fix cache using wrong offsetAndrey Kleshchev
2025-02-04#3488 mutex lock mSkinMapAndrey Kleshchev
2025-02-04#3488 Fix mesh header conditionAndrey Kleshchev
2025-02-04#3488 Move lod processing out of mesh threadAndrey Kleshchev
2025-02-03#3488 Split mesh thread mutexesAndrey Kleshchev
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
2025-01-31#3488 Fix last retry not saving handleAndrey Kleshchev
Request was sent and handle is valid, save it
2025-01-31#3488 Minimize allocationsAndrey Kleshchev
2025-01-31#3488 Avoid reading meshes from disk when not nessesaryAndrey Kleshchev
LLMeshHeaderHandler preallocates file with empty data, there is no point reading large empty sections so write presense flags at the start of the file
2025-01-31#3488 Make mesh_header_map a bit simplerAndrey Kleshchev
preparation for further work
2025-01-31#1186 ProfilingAndrey Kleshchev
2025-01-31#1186 Speed up mesh header post processingAndrey Kleshchev
1. Don't do an extra skin request unless there is info about a skin 2. Proccess lods on the go if they were in initial packet
2025-01-28#1186 Improve handling of duplciate requestsAndrey Kleshchev
2025-01-28#1186 Fix mesh queues getting overfilledAndrey Kleshchev
Account for queue size instead of just active request Reduce mutex locking Prioritize skininfo queue over lod queue to lessen issues with t-poses
2025-01-28#1186 Fix skin request not being counted for the totalAndrey Kleshchev
2025-01-28#1186 Make mesh repository account for avatarsAndrey Kleshchev
when calculating priority
2025-01-28#1186 Make lod and skin request share prioritiesAndrey Kleshchev
skins are needed to decloud avatars as much as lods
2024-10-01Fix thread-unsafe usage of LLPointer and LLMeshSkinInfo(#2755) (#2759)Rye Mutt
2024-09-17Mac pass (#2587)Dave Parks
2024-09-16Profile guided optimization pass (#2582)Dave Parks
- Tune up LLJointRiggingInfoTab - Visualize joint bounding boxes when visualizing joints - Use LLJointRiggingInfo to caclulate desired resolution of a texture - Throttle calls to calcPixelArea - Fetch MeshSkinInfo immediately when header is received
2024-08-19Refactor LLFileSystem for and fix an old issue in LLFile (#2332)Ansariel Hiller
2024-08-02viewer#853 Fix upload losing face data.Andrey Kleshchev
Multiple faces can share same mMaterial
2024-07-29viewer#2071 Soft quit on 'out of memory' for meshes #2Andrey Kleshchev