Ansariel
9d6c74a051
Merge branch 'master' of https://github.com/FirestormViewer/phoenix-firestorm
2025-04-25 22:21:12 +02:00
Andrey Kleshchev
af9254e3e3
#3870 Added joint initialization for LLVOAvatarSelf
...
Sometimes mesh thread crashes when allocating joints
2025-04-22 12:17:54 +02:00
Andrey Kleshchev
9b531e01eb
#3488 Reduce locking
...
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-22 12:06:49 +02:00
Ansariel
03f622d0d4
Merge branch 'release/2025.04' of https://github.com/secondlife/viewer
...
# Conflicts:
# indra/newview/llinventorybridge.cpp
# indra/newview/lloutfitslist.cpp
# indra/newview/skins/default/xui/en/strings.xml
2025-04-13 17:47:57 +02:00
Andrey Kleshchev
1c90421b88
#3596 Faster mesh thread shutdown
2025-04-11 12:36:48 +03:00
Ansariel
62e5fffd8e
Merge branch 'release/2025.03' of https://github.com/secondlife/viewer
...
# Conflicts:
# indra/newview/lldrawpooltree.cpp
# indra/newview/lllocalbitmaps.cpp
# indra/newview/lltextureview.cpp
# indra/newview/llviewertexture.cpp
# indra/newview/skins/default/colors.xml
2025-03-23 12:29:33 +01:00
Andrey Kleshchev
b6bf32e00e
#3488 Prelock mutexes
...
Main thread has priority, it shouldn't be relocking on each loadMeshLOD
2025-03-19 19:13:20 +02:00
Ansariel
d19e6abc5e
Merge branch 'release/2025.03' of https://github.com/secondlife/viewer
...
# Conflicts:
# indra/newview/llappviewer.cpp
# indra/newview/llgiveinventory.cpp
# indra/newview/llstartup.cpp
# indra/newview/lltooldraganddrop.cpp
# indra/newview/llvoavatar.cpp
# indra/newview/skins/default/xui/fr/floater_avatar_textures.xml
# indra/newview/skins/default/xui/it/floater_avatar_textures.xml
# indra/newview/skins/default/xui/ja/floater_avatar_textures.xml
# indra/newview/skins/default/xui/pl/floater_avatar_textures.xml
# indra/newview/skins/default/xui/zh/floater_avatar_textures.xml
2025-03-01 01:09:19 +01:00
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
Ansariel
5bf1f485f3
Merge branch 'release/2024.12-ForeverFPS' of https://github.com/secondlife/viewer
...
# Conflicts:
# indra/llcommon/llqueuedthread.cpp
2025-02-13 21:24:29 +01: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
Ansariel
82e37d1dfc
Merge branch 'release/2024.09-ExtraFPS' of https://github.com/secondlife/viewer
...
# Conflicts:
# indra/newview/llmodelpreview.cpp
2024-10-07 10:34:08 +02:00
Rye Mutt
74fe406916
Fix thread-unsafe usage of LLPointer and LLMeshSkinInfo( #2755 ) ( #2759 )
2024-10-01 16:06:33 -07:00
Ansariel
3c6aab0812
Merge branch 'develop' of https://github.com/secondlife/viewer
...
# Conflicts:
# indra/llrender/llrender2dutils.cpp
# indra/llui/llfolderviewitem.cpp
2024-09-18 12:16:32 +02:00
Dave Parks
fd843d514a
Mac pass ( #2587 )
2024-09-17 13:07:01 -05:00
Ansariel
44ccbea344
Merge branch 'develop' of https://github.com/secondlife/viewer
...
# Conflicts:
# indra/newview/character/avatar_lad.xml
# indra/newview/llappviewer.cpp
# indra/newview/lldynamictexture.cpp
# indra/newview/llface.cpp
# indra/newview/llmeshrepository.cpp
# indra/newview/llviewermessage.cpp
# indra/newview/llvoavatar.cpp
2024-09-17 18:12:46 +02: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
571155c561
Merge branch 'develop' of https://github.com/secondlife/viewer
...
# Conflicts:
# indra/llfilesystem/lldiskcache.cpp
# indra/llfilesystem/lldiskcache.h
# indra/llfilesystem/llfilesystem.cpp
# indra/llui/llaccordionctrl.cpp
# indra/llui/llaccordionctrl.h
# indra/newview/llfloaterimnearbychathandler.cpp
# indra/newview/llfloaterpreference.cpp
# indra/newview/llfloatersettingsdebug.cpp
# indra/newview/llfloatersettingsdebug.h
# indra/newview/llfloatertools.cpp
# indra/newview/llfloatertools.h
# indra/newview/llpanelmaininventory.cpp
# indra/newview/llpanelmaininventory.h
# indra/newview/llpanelpeople.cpp
# indra/newview/llpreviewnotecard.cpp
# indra/newview/llpreviewnotecard.h
# indra/newview/llpreviewscript.cpp
# indra/newview/llpreviewtexture.cpp
# indra/newview/llscreenchannel.cpp
# indra/newview/llviewerwindow.cpp
# indra/newview/pipeline.cpp
# indra/newview/skins/default/xui/en/panel_preferences_alerts.xml
2024-08-19 18:55:52 +02:00
Ansariel Hiller
d6190bbf13
Refactor LLFileSystem for and fix an old issue in LLFile ( #2332 )
2024-08-19 09:39:35 +03:00
Ansariel
ad60f1cbee
Merge branch 'develop' of https://github.com/secondlife/viewer
...
# Conflicts:
# indra/newview/llfloaterworldmap.cpp
# indra/newview/llfloaterworldmap.h
# indra/newview/llworldmap.h
# indra/newview/skins/default/xui/en/floater_world_map.xml
2024-08-03 00:47:13 +02: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
Ansariel
02680c6a8f
Merge branch 'develop' of https://github.com/secondlife/viewer
...
# Conflicts:
# autobuild.xml
# indra/cmake/Boost.cmake
# indra/cmake/Copy3rdPartyLibs.cmake
# indra/llaudio/llaudiodecodemgr.cpp
# indra/llxml/llxmltree.cpp
# indra/newview/llappviewer.cpp
# indra/newview/llfloaterworldmap.cpp
# indra/newview/llfloaterworldmap.h
# indra/newview/llgesturemgr.cpp
# indra/newview/llinventorygallerymenu.cpp
# indra/newview/llpanelgroup.cpp
# indra/newview/llpanelgroup.h
# indra/newview/llpanelprofile.cpp
# indra/newview/llvoavatar.cpp
# indra/newview/viewer_manifest.py
2024-07-30 12:32:41 +02: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
Ansariel
450d02ad39
Merge branch 'develop' of https://github.com/secondlife/viewer
...
# Conflicts:
# .github/ISSUE_TEMPLATE/10-bug.yaml
# indra/llui/lldockcontrol.cpp
# indra/llui/llscrolllistctrl.cpp
# indra/llui/llviewereventrecorder.cpp
# indra/newview/llfloaterland.cpp
# indra/newview/llfloaterregioninfo.cpp
# indra/newview/llfloaterworldmap.cpp
# indra/newview/llmeshrepository.cpp
# indra/newview/llpanelgroup.cpp
# indra/newview/llpanelgrouproles.cpp
# indra/newview/llpanelland.cpp
# indra/newview/llphysicsmotion.cpp
# indra/newview/lltexturectrl.h
# indra/newview/lltoolpie.cpp
# indra/newview/llviewermenu.cpp
2024-07-25 20:47:57 +02:00
Rye Mutt
4b543b618b
Cache more frequently accessed settings
2024-07-24 15:05:08 -04:00