Commit Graph

513 Commits (693e05ab85b3fcdc65bcb9f4123c2fae4ecc27fc)

Author SHA1 Message Date
Andrey Kleshchev 100861aec1 #3596 Fix use of dead references
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-23 11:38:18 +02:00
Andrey Kleshchev f75968a328 #3596 Convert some mesh repository functions to const 2025-02-22 11:03:17 +02:00
Andrey Kleshchev 1503e84602 #3596 Fix mMutex in mesh thread 2025-02-22 10:42:28 +02:00
Andrey Kleshchev 29b13af84b #3596 Ensure correct loading mesh gets checked and removed 2025-02-22 10:41:11 +02:00
Andrey Kleshchev 847fd636cd Merge branch release/2025.03
# Conflicts:
#	indra/newview/llmeshrepository.cpp
#	indra/newview/llmeshrepository.h
2025-02-19 17:29:48 +02:00
Andrey Kleshchev 483e85cbf3 #3488 Prioritization adjustments 2025-02-19 14:16:42 +02:00
Andrey Lihatskiy ddbe1ff981 Fix xcode16 build errors 2025-02-13 17:30:08 +02:00
Andrey Kleshchev 74d2ed918d #3488 Speed up nearby avatar loading after a tp 2025-02-05 18:50:31 +02:00
Andrey Kleshchev 9bfdb7cf6c #3488 #3488 Move skin info processing out of mesh thread
Skin info parsing is expensive, offload to thread pool
2025-02-04 19:29:05 +02:00
Andrey Kleshchev 8c4abf8feb #3488 Fix skin info not reading from cache 2025-02-04 19:29:05 +02:00
Andrey Kleshchev 912c99ae96 #3488 Fix cache using wrong offset 2025-02-04 19:29:05 +02:00
Andrey Kleshchev 587444bd27 #3488 mutex lock mSkinMap 2025-02-04 19:29:05 +02:00
Andrey Kleshchev f5f98e1c28 #3488 Fix mesh header condition 2025-02-04 02:45:55 +02:00
Andrey Kleshchev 7eb9dd3e0d #3488 Move lod processing out of mesh thread 2025-02-04 01:33:29 +02:00
Andrey Kleshchev 33303b9011 #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
2025-02-03 19:01:30 +02:00
Andrey Kleshchev 314ef5389c #3488 Fix last retry not saving handle
Request was sent and handle is valid, save it
2025-01-31 19:09:05 +02:00
Andrey Kleshchev e97976831d #3488 Minimize allocations 2025-01-31 03:41:04 +02:00
Andrey Kleshchev c405cd379a #3488 Avoid reading meshes from disk when not nessesary
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 03:41:04 +02:00
Andrey Kleshchev 52fb53a4d6 #3488 Make mesh_header_map a bit simpler
preparation for further work
2025-01-31 03:41:04 +02:00
Andrey Kleshchev 8456572db0 #1186 Profiling 2025-01-31 03:38:20 +02:00
Andrey Kleshchev 1a3b221ea4 #1186 Speed up mesh header post processing
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-31 03:35:58 +02:00
Andrey Kleshchev a428b7dfbd #1186 Improve handling of duplciate requests 2025-01-28 20:48:44 +02:00
Andrey Kleshchev e20f4c0e4f #1186 Fix mesh queues getting overfilled
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 20:48:17 +02:00
Andrey Kleshchev 8e17f0c094 #1186 Fix skin request not being counted for the total 2025-01-28 20:48:02 +02:00
Andrey Kleshchev 3271408650 #1186 Make mesh repository account for avatars
when calculating priority
2025-01-28 20:47:46 +02:00
Andrey Kleshchev 8f274bfdf9 #1186 Make lod and skin request share priorities
skins are needed to decloud avatars as much as lods
2025-01-28 20:46:52 +02:00
Rye Mutt 74fe406916 Fix thread-unsafe usage of LLPointer and LLMeshSkinInfo(#2755) (#2759) 2024-10-01 16:06:33 -07:00
Dave Parks fd843d514a
Mac pass (#2587) 2024-09-17 13:07:01 -05:00
Dave Parks 486613e79b
Profile guided optimization pass (#2582)
- 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-09-16 18:49:03 -05:00
Ansariel Hiller d6190bbf13
Refactor LLFileSystem for and fix an old issue in LLFile (#2332) 2024-08-19 09:39:35 +03:00
Andrey Kleshchev a37590b452 viewer#853 Fix upload losing face data.
Multiple faces can share same mMaterial
2024-08-02 15:41:52 +03:00
Andrey Kleshchev c5d2e92089 viewer#2071 Soft quit on 'out of memory' for meshes #2 2024-07-29 21:20:38 +03:00
Andrey Kleshchev c4ff0b4889 viewer#2071 Properly handle 'out of memory' for meshes 2024-07-29 21:20:38 +03:00
Rye Mutt 4b543b618b Cache more frequently accessed settings 2024-07-24 15:05:08 -04:00
Rye Mutt 7ebbc58ae3
Cache various frequently accessed settings (#2080) 2024-07-22 15:29:35 +03:00
Ansariel 9fdca96f8b Re-enable compiler warnings C4244 and C4396 except for lltracerecording.h and llunittype.h for now 2024-07-08 20:27:14 +02:00
Ansariel c0fad3028f Re-enable compiler warnings C4018, C4100, C4231 and C4506 2024-06-10 16:42:43 +02:00
Ansariel b42f9d836b Re-enable a lot of compiler warnings for MSVC and address the C4267 "possible loss of precision" warnings 2024-06-01 15:49:26 +02:00
Ansariel e2e37cced8 Fix line endlings 2024-05-22 22:40:26 +03:00
Ansariel 1b67dd855c Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-A
# 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-22 19:04:52 +02:00
Alexander Gavriliuk f9473e8afc secondlife/viewer#1333 BOOL to bool conversion leftovers: ternaries 2024-05-07 10:18:51 +02:00
Andrey Lihatskiy 1b68f71348 #824 Process source files in bulk: replace tabs with spaces, convert CRLF to LF, and trim trailing whitespaces as needed 2024-04-29 07:56:09 +03:00
Andrey Lihatskiy 85f2447b3d Merge branch 'main' into marchcat/a-merge
# 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
2024-04-24 19:28:15 +03:00
Ansariel d0102af56d Merge branch 'main' of https://github.com/secondlife/viewer into DRTVWR-600-maint-A
# Conflicts:
#	indra/llcommon/llapp.cpp
#	indra/llcommon/llapp.h
#	indra/llimage/llimageworker.cpp
#	indra/llui/llcontainerview.cpp
#	indra/llui/llcontainerview.h
#	indra/llui/llkeywords.cpp
#	indra/llui/lltabcontainer.cpp
#	indra/llui/lltextbase.cpp
#	indra/newview/llappviewer.cpp
#	indra/newview/llfavoritesbar.cpp
#	indra/newview/llfavoritesbar.h
#	indra/newview/llfloaterimnearbychathandler.cpp
#	indra/newview/llfloaterpreference.cpp
#	indra/newview/llhudnametag.h
#	indra/newview/llinventorypanel.cpp
#	indra/newview/llinventorypanel.h
#	indra/newview/llmeshrepository.cpp
#	indra/newview/lloutfitgallery.cpp
#	indra/newview/lloutfitslist.cpp
#	indra/newview/llpaneleditwearable.cpp
#	indra/newview/llpanelprofilepicks.cpp
#	indra/newview/llpanelvoicedevicesettings.h
#	indra/newview/llpreviewscript.cpp
#	indra/newview/llpreviewscript.h
#	indra/newview/llselectmgr.cpp
#	indra/newview/lltranslate.cpp
#	indra/newview/llviewerassetupload.cpp
#	indra/newview/llviewermessage.cpp
2024-04-11 21:59:38 +02:00
Andrey Lihatskiy 84dfe55810 Merge branch 'main' into marchcat/y-merge
# Conflicts:
#	autobuild.xml
#	indra/llcommon/llsys.cpp
2024-04-10 07:08:25 +03:00
Andrey Lihatskiy 990c8b81da Merge branch 'main' into marchcat/yz-merge 2024-03-27 01:40:12 +02:00
Andrey Lihatskiy 71ed19839e Merge branch 'main' into DRTVWR-600-maint-A
# Conflicts:
#	indra/newview/llappviewer.cpp
#	indra/newview/llfloaterchangeitemthumbnail.cpp
#	indra/newview/llpanelprofile.cpp
#	indra/newview/llselectmgr.cpp
#	indra/newview/lltexturectrl.cpp
#	indra/newview/lltexturectrl.h
#	indra/newview/lltooldraganddrop.cpp
#	indra/newview/llviewerdisplay.cpp
#	indra/newview/llvovolume.cpp
2024-03-27 00:45:06 +02:00
Andrey Lihatskiy 78174fc865 Merge remote-tracking branch 'origin/main' into DRTVWR-588-maint-W
# Conflicts:
#	.github/workflows/build.yaml
2024-03-27 00:14:56 +02:00
Andrey Kleshchev 78ce375dda SL-17896 Don't crash silently if files are missing or out of memory
Under debug LL_ERRS will show a message as well, but release won't show
anything and will quit silently so show a notification when applicable.
2024-03-05 00:29:35 +02:00
Ansariel 60d3dd98a4 Convert remaining BOOL to bool 2024-02-21 23:14:31 +02:00