summaryrefslogtreecommitdiff
path: root/indra/newview/llmeshrepository.cpp
AgeCommit message (Collapse)Author
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-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-11#3596 Faster mesh thread shutdownAndrey Kleshchev
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
2024-07-29viewer#2071 Properly handle 'out of memory' for meshesAndrey Kleshchev
2024-07-24Cache more frequently accessed settingsRye Mutt
2024-07-22Cache various frequently accessed settings (#2080)Rye Mutt
2024-07-08Re-enable compiler warnings C4244 and C4396 except for lltracerecording.h ↵Ansariel
and llunittype.h for now
2024-06-10Re-enable compiler warnings C4018, C4100, C4231 and C4506Ansariel
2024-06-01Re-enable a lot of compiler warnings for MSVC and address the C4267 ↵Ansariel
"possible loss of precision" warnings
2024-05-22Fix line endlingsAnsariel
2024-05-22Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-AAnsariel
# Conflicts: # autobuild.xml # indra/cmake/CMakeLists.txt # indra/cmake/GoogleMock.cmake # indra/llaudio/llaudioengine_fmodstudio.cpp # indra/llaudio/llaudioengine_fmodstudio.h # indra/llaudio/lllistener_fmodstudio.cpp # indra/llaudio/lllistener_fmodstudio.h # indra/llaudio/llstreamingaudio_fmodstudio.cpp # indra/llaudio/llstreamingaudio_fmodstudio.h # indra/llcharacter/llmultigesture.cpp # indra/llcharacter/llmultigesture.h # indra/llimage/llimage.cpp # indra/llimage/llimagepng.cpp # indra/llimage/llimageworker.cpp # indra/llimage/tests/llimageworker_test.cpp # indra/llmessage/tests/llmockhttpclient.h # indra/llprimitive/llgltfmaterial.h # indra/llrender/llfontfreetype.cpp # indra/llui/llcombobox.cpp # indra/llui/llfolderview.cpp # indra/llui/llfolderviewmodel.h # indra/llui/lllineeditor.cpp # indra/llui/lllineeditor.h # indra/llui/lltextbase.cpp # indra/llui/lltextbase.h # indra/llui/lltexteditor.cpp # indra/llui/lltextvalidate.cpp # indra/llui/lltextvalidate.h # indra/llui/lluictrl.h # indra/llui/llview.cpp # indra/llwindow/llwindowmacosx.cpp # indra/newview/app_settings/settings.xml # indra/newview/llappearancemgr.cpp # indra/newview/llappearancemgr.h # indra/newview/llavatarpropertiesprocessor.cpp # indra/newview/llavatarpropertiesprocessor.h # indra/newview/llbreadcrumbview.cpp # indra/newview/llbreadcrumbview.h # indra/newview/llbreastmotion.cpp # indra/newview/llbreastmotion.h # indra/newview/llconversationmodel.h # indra/newview/lldensityctrl.cpp # indra/newview/lldensityctrl.h # indra/newview/llface.inl # indra/newview/llfloatereditsky.cpp # indra/newview/llfloatereditwater.cpp # indra/newview/llfloateremojipicker.h # indra/newview/llfloaterimsessiontab.cpp # indra/newview/llfloaterprofiletexture.cpp # indra/newview/llfloaterprofiletexture.h # indra/newview/llgesturemgr.cpp # indra/newview/llgesturemgr.h # indra/newview/llimpanel.cpp # indra/newview/llimpanel.h # indra/newview/llinventorybridge.cpp # indra/newview/llinventorybridge.h # indra/newview/llinventoryclipboard.cpp # indra/newview/llinventoryclipboard.h # indra/newview/llinventoryfunctions.cpp # indra/newview/llinventoryfunctions.h # indra/newview/llinventorygallery.cpp # indra/newview/lllistbrowser.cpp # indra/newview/lllistbrowser.h # indra/newview/llpanelobjectinventory.cpp # indra/newview/llpanelprofile.cpp # indra/newview/llpanelprofile.h # indra/newview/llpreviewgesture.cpp # indra/newview/llsavedsettingsglue.cpp # indra/newview/llsavedsettingsglue.h # indra/newview/lltooldraganddrop.cpp # indra/newview/llurllineeditorctrl.cpp # indra/newview/llvectorperfoptions.cpp # indra/newview/llvectorperfoptions.h # indra/newview/llviewerparceloverlay.cpp # indra/newview/llviewertexlayer.cpp # indra/newview/llviewertexturelist.cpp # indra/newview/macmain.h # indra/test/test.cpp
2024-05-07secondlife/viewer#1333 BOOL to bool conversion leftovers: ternariesAlexander Gavriliuk
2024-04-29#824 Process source files in bulk: replace tabs with spaces, convert CRLF to ↵Andrey Lihatskiy
LF, and trim trailing whitespaces as needed
2024-04-24Merge branch 'main' into marchcat/a-mergeAndrey Lihatskiy
# Conflicts: # autobuild.xml # indra/llimage/llimage.cpp # indra/llui/llsearcheditor.cpp # indra/llui/llview.cpp # indra/newview/llagent.cpp # indra/newview/llappviewer.cpp # indra/newview/llfloatercamera.cpp # indra/newview/llfloatereditsky.cpp # indra/newview/llfloatereditwater.cpp # indra/newview/llinventoryfunctions.cpp # indra/newview/lloutfitgallery.cpp # indra/newview/lloutfitslist.cpp # indra/newview/llpanelgroupbulkban.cpp # indra/newview/llsidepanelappearance.cpp # indra/newview/llvovolume.cpp