| Age | Commit message (Collapse) | Author |
|
image hight and width from the jpeg.
|
|
upload, include metadata about the texture size.
|
|
|
|
This container type is better suited to the repeated find and erase patterns used here.
Signed-off-by: Rye <rye@alchemyviewer.org>
|
|
Signed-off-by: Rye <rye@alchemyviewer.org>
|
|
Signed-off-by: Rye <rye@alchemyviewer.org>
|
|
deleted operator and constructor
|
|
|
|
Introduce initial VHACD based llconvexdecomposition library
|
|
|
|
|
|
Fix a missed mutex
|
|
'this' is null inside findJoint according to bugsplat so likely mRoot
was not initialized yet.
|
|
not into work folder, viewer isn't supposed to write there.
|
|
|
|
# Conflicts:
# indra/newview/llvoavatar.cpp
|
|
|
|
(#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.
|
|
|
|
to make root prim more deterministic instead of being random each try
|
|
|
|
for better comparison with collada output
|
|
# 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
|
|
|
|
|
|
Sometimes mesh thread crashes when allocating joints
|
|
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.
|
|
# 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
|
|
|
|
# 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
|
|
Main thread has priority, it shouldn't be relocking on each loadMeshLOD
|
|
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
|
|
|
|
|
|
|
|
# Conflicts:
# indra/newview/llmeshrepository.cpp
# indra/newview/llmeshrepository.h
|
|
|
|
|
|
|
|
Skin info parsing is expensive, offload to thread pool
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
Request was sent and handle is valid, save it
|
|
|
|
LLMeshHeaderHandler preallocates file with empty data, there is no point
reading large empty sections so write presense flags at the start of the
file
|
|
preparation for further work
|