Commit Graph

660 Commits (431b3b0c6dc4e5ab07ff3cefd9b21de5580f6902)

Author SHA1 Message Date
Ansariel 431b3b0c6d Merge branch 'develop' of https://github.com/secondlife/viewer
# Conflicts:
#	.github/workflows/pre-commit.yaml
#	indra/cmake/LLPhysicsExtensions.cmake
#	indra/llwindow/llopenglview-objc.mm
#	indra/newview/CMakeLists.txt
#	indra/newview/llappdelegate-objc.mm
2025-10-20 23:56:48 +02:00
Andrey Kleshchev 0369072418 #4861 Crash at LLVolumeFace::createOctree
Looks like LLRiggedVolume::update goes out of bounds when selecting a face
2025-10-20 20:12:14 +03:00
Ansariel bfd99549b0 Merge branch 'release/2025.05' of https://github.com/secondlife/viewer
# Conflicts:
#	.github/pull_request_template.md
#	indra/llappearance/lltexlayer.cpp
#	indra/llcommon/llthread.cpp
#	indra/llprimitive/lldaeloader.cpp
#	indra/llprimitive/lldaeloader.h
#	indra/llprimitive/llmodel.cpp
#	indra/newview/CMakeLists.txt
#	indra/newview/VIEWER_VERSION.txt
#	indra/newview/app_settings/settings.xml
#	indra/newview/llmodelpreview.cpp
#	indra/newview/lltoolpie.cpp
#	indra/newview/skins/default/xui/en/floater_model_preview.xml
#	indra/newview/skins/default/xui/en/panel_preferences_sound.xml
2025-07-18 14:14:54 +02:00
Andrey Kleshchev 3da493295e #4296 Crash at renderMorphMasks 2025-07-09 23:16:17 +03:00
Ansariel 75db5e8b6b Revert "Fix LLCharacter base class constness." and restore improvements from 10a324a103 instead 2025-06-28 19:31:02 +02:00
Andrey Kleshchev 8c9d0c6145 #4142 Joint grouping and stripping
Viewer only supports 110 joints at a time, when model has more bones
than that importer has to strip some, use groups for stripping.
2025-06-26 02:39:21 +03:00
Andrey Kleshchev c404b93759 #4148 Fix collision bones 2025-06-25 09:28:51 +03:00
Andrey Kleshchev 54660c8931 #4147 Joint Overrides #3
Remande skeleton translation from default skeleton to overriden skeleton
2025-06-13 21:49:02 +03:00
Andrey Kleshchev 8322a9a61e #4147 Joint Overrides #2 2025-06-12 15:55:47 +03:00
Andrey Kleshchev db95731391 #4148 Skeleton Translation #3
'non joints' also need adjustments
2025-06-11 00:17:58 +03:00
Andrey Kleshchev b20d10c0cc #4148 Skeleton Translation 2025-06-09 20:06:01 +03:00
Ansariel fef4f9a07e Merge branch 'develop' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/llappearance/llavatarappearance.h
#	indra/llcharacter/llcharacter.cpp
#	indra/llcharacter/llcharacter.h
#	indra/llcharacter/lljoint.cpp
#	indra/llcharacter/lljoint.h
#	indra/llimage/llimagedimensionsinfo.cpp
#	indra/llprimitive/lldaeloader.h
#	indra/newview/llappviewer.cpp
#	indra/newview/llappviewer.h
#	indra/newview/llmodelpreview.cpp
#	indra/newview/llpanelface.cpp
#	indra/newview/llpanelmaininventory.cpp
#	indra/newview/llpanelprofilepicks.cpp
#	indra/newview/llpanelprofilepicks.h
#	indra/newview/llviewerdisplay.cpp
#	indra/newview/llviewerparceloverlay.cpp
#	indra/newview/llvoavatar.cpp
#	indra/newview/llvoavatar.h
#	indra/newview/llvoavatarself.cpp
#	indra/newview/llvoavatarself.h
#	indra/newview/llwatchdog.cpp
#	indra/newview/llwatchdog.h
2025-05-03 15:45:54 +02:00
Ansariel Hiller 10a324a103
Reduce cost of joint lookups by reducing string allocations via use of std::string_view and heterogeneous map lookups (#3970) 2025-04-25 20:52:38 +03:00
Ansariel 8ba07f3165 Replace JointKey construct with more upstream-based approach, optimized by using std::string_view and heterogeneous map lookups 2025-04-24 19:26:55 +02:00
Ansariel 9d3fede2c5 Use standard library functions for llisnan and replace obvious NaN checks that don't work using /fp:fast floating point behavior under MSVC 2025-04-19 14:46:23 +02:00
Ansariel d65de99052 Use standard library functions for llisnan and replace obvious NaN checks that don't work using /fp:fast floating point behavior under MSVC 2025-04-17 18:44:09 +02:00
Ansariel 99e1699479 Merge branch 'release/2025.03' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/llappearance/llwearable.cpp
#	indra/newview/llappviewer.cpp
#	indra/newview/llappviewerwin32.cpp
#	indra/newview/llviewerassetstorage.cpp
#	indra/newview/llviewertexturelist.cpp
#	indra/newview/llviewerwindow.cpp
2025-03-27 19:36:45 +01:00
Andrey Kleshchev d67859e483 Use LLCachedControl in llviewerwindow and llappviewer
Getting from gSavedSettings is expensive to do so often
2025-03-27 18:29:19 +02:00
Ansariel 750099db68 Merge branch 'release/2025.03' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/llmessage/llproxy.cpp
#	indra/llui/llfolderviewitem.cpp
#	indra/newview/CMakeLists.txt
#	indra/newview/llappviewer.cpp
#	indra/newview/llfilepicker.cpp
#	indra/newview/llfloaterpreference.cpp
#	indra/newview/lloutfitslist.cpp
#	indra/newview/llpanelmaininventory.cpp
#	indra/newview/llviewerprecompiledheaders.h
#	indra/newview/llviewerwindow.cpp
#	indra/newview/skins/default/xui/en/floater_world_map.xml
#	indra/newview/skins/default/xui/en/menu_viewer.xml
#	indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml
#	indra/newview/viewer_manifest.py
2025-03-12 19:31:51 +01:00
Andrey Lihatskiy f02a400134 Fix indentations to make pre-commit happy 2025-03-11 05:38:26 +02:00
Andrey Lihatskiy 4132a13972 Merge branch 'marchcat/maint-b-cherrypicks' into marchcat/2025.03-maint-b 2025-03-11 05:10:11 +02:00
Nicky f7e7903105 Fix ASAN errors from LLVector4a::memcpyNonAliased16
Found by running with -fsanitze=thread
Suggestion to avoid accessing invalid memory:

In both cases memory will be allocated by can be accessed beyond bounds.

In LLPolyMesh it can be off by at least one (+x%2). Though I am not even sure if even in best case it always will be a multiple of 16.

In LLViewerJointMesh::updateFaceData the code tries to account for padding by, but the allocation in LLPolyMeshSharedData::allocateVertexData is done without any padding. Thus the sizes must not match.

Replacing the calls with memcpy as a quick fix to see if the error goes away fixed address sanitzer complaining.

It is up to debate if memcpy is a good replacement. LLVector4a::memcpyNonAliased16 was invented for performance. But on the other hand one could argue that nowadays every stdlib maintainer will very heavily optmize functions like memcpy themselves and could take advantage of CPU features the old LL implementation does not take into account.

AVX comes to mind. In any case did I not measure any of this.
2025-03-11 03:21:43 +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 847fd636cd Merge branch release/2025.03
# Conflicts:
#	indra/newview/llmeshrepository.cpp
#	indra/newview/llmeshrepository.h
2025-02-19 17:29:48 +02:00
Andrew Meadows 6d0b0a77ee
drain UDP socket to avoid dropped packets (#3565)
drain UDP socket in idleNetwork() to avoid dropped packets
2025-02-18 11:38:52 -08:00
Ansariel eed9b396bb Merge branch 'release/2024.12-ForeverFPS' of https://github.com/secondlife/viewer 2024-12-19 18:25:05 +01:00
Dave Parks 7aca014ebc
#3305 Don't crash on invalid texture index in getTEWearableType (#3306) 2024-12-18 14:00:11 -06:00
Dave Parks eaa4d07c61
#3301 Don't crash on invalid visual parameter update. (#3303) 2024-12-18 13:45:43 -06: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
Rye Cogtail 85a7020e49 Raise resolution of local baked texture preview from 512 to 2048 2024-09-16 15:12:15 -04:00
Ansariel 4a438dcfd4 Merge branch 'develop' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/llcommon/llcallstack.h
#	indra/newview/lldrawpoolalpha.cpp
#	indra/newview/llpanelprofile.cpp
#	indra/newview/llviewerobject.cpp
#	indra/newview/llvoavatar.cpp
#	indra/newview/llvovolume.cpp
2024-08-23 13:47:48 +02:00
Cosmic Linden 1743fe92d6 secondlife/viewer#2391: Remove avatar rigging "callstack" logging 2024-08-22 09:18:52 -07:00
Ansariel 830eeaa6ff Merge branch 'develop' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/newview/llagentwearables.cpp
#	indra/newview/llface.cpp
#	indra/newview/llpanelpeople.cpp
#	indra/newview/llpanelprofile.cpp
#	indra/newview/llviewertexturelist.cpp
2024-08-21 00:46:46 +02:00
Ansariel Hiller 9f7dd01772
Clean up boost includes and remove compiler warning pragma for unreachable code in PCH (#2361) 2024-08-20 18:41:48 +03:00
Ansariel 07228d3a9e Merge branch 'develop' of https://github.com/secondlife/viewer
# Conflicts:
#	autobuild.xml
#	indra/cmake/CURL.cmake
#	indra/cmake/Copy3rdPartyLibs.cmake
#	indra/cmake/FreeType.cmake
#	indra/cmake/LLPrimitive.cmake
#	indra/cmake/NGHTTP2.cmake
#	indra/cmake/Tracy.cmake
#	indra/llappearance/llavatarappearancedefines.cpp
#	indra/llcommon/llprofiler.cpp
#	indra/llcommon/llprofiler.h
#	indra/llfilesystem/lldiskcache.cpp
#	indra/llfilesystem/lldiskcache.h
#	indra/llinventory/llinventorytype.cpp
#	indra/media_plugins/example/CMakeLists.txt
#	indra/newview/CMakeLists.txt
#	indra/newview/installers/windows/installer_template.nsi
#	indra/newview/llappearancemgr.cpp
#	indra/newview/llappviewer.cpp
#	indra/newview/llgroupmgr.cpp
#	indra/newview/llimprocessing.cpp
#	indra/newview/llviewermenu.cpp
#	indra/newview/llviewertexturelist.cpp
#	indra/newview/llvoavatar.cpp
#	indra/newview/llvoavatarself.cpp
#	indra/newview/skins/default/xui/en/menu_viewer.xml
#	indra/newview/viewer_manifest.py
2024-08-15 00:12:13 +02:00
Rye Mutt b5e306f7d8
Enable /permissive- on MSVC for better standards conformance (#2251)
* Enable /permissive- on MSVC for better C++ conformance and fix related errors

* Clean up left over warning suppressions from old library or msvc versions
2024-08-14 08:01:02 -07:00
Ansariel 088cc2ea35 Merge branch 'develop' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/llcommon/llpointer.h
#	indra/llcommon/llqueuedthread.cpp
#	indra/llfilesystem/llfilesystem.cpp
#	indra/llui/llconsole.cpp
#	indra/llui/llkeywords.cpp
#	indra/llui/llstatgraph.cpp
#	indra/llui/llvirtualtrackball.cpp
#	indra/newview/llagentcamera.cpp
#	indra/newview/llappviewer.cpp
#	indra/newview/llfloateremojipicker.cpp
#	indra/newview/llfloaterimnearbychathandler.cpp
#	indra/newview/llfloatersettingsdebug.cpp
#	indra/newview/llfloatersnapshot.cpp
#	indra/newview/llglsandbox.cpp
#	indra/newview/llnetmap.cpp
#	indra/newview/llpanelface.cpp
#	indra/newview/llpanelpermissions.cpp
#	indra/newview/llpanelplaceprofile.cpp
#	indra/newview/llstartup.cpp
#	indra/newview/llviewermessage.cpp
#	indra/newview/llvocache.cpp
#	indra/newview/llworldmapview.cpp
2024-07-09 02:25:42 +02: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 d99fbffb6d Merge branch 'DRTVWR-600-maint-A' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/llimage/llimage.cpp
#	indra/llmath/llvolume.cpp
#	indra/newview/gltf/asset.cpp
#	indra/newview/lldynamictexture.cpp
#	indra/newview/lltexturectrl.cpp
#	indra/newview/llviewertexture.cpp
#	indra/newview/llvovolume.cpp
2024-06-11 20:25:22 +02:00
Ansariel 18903f6cac Merge branch 'master' of https://github.com/FirestormViewer/phoenix-firestorm
# Conflicts:
#	indra/llappearance/llavatarappearance.h
#	indra/llimage/llimage.cpp
#	indra/llmath/llvolume.cpp
#	indra/llmath/llvolume.h
#	indra/llprimitive/llgltfmaterial.h
#	indra/llrender/llshadermgr.cpp
#	indra/newview/lldynamictexture.cpp
#	indra/newview/llenvironment.cpp
#	indra/newview/llfetchedgltfmaterial.cpp
#	indra/newview/llfloaterimagepreview.cpp
#	indra/newview/llfloaterimagepreview.h
#	indra/newview/llfloaterpreference.cpp
#	indra/newview/llfloaterregioninfo.cpp
#	indra/newview/llfloaterregioninfo.h
#	indra/newview/llmaniprotate.cpp
#	indra/newview/llmaniptranslate.cpp
#	indra/newview/llpanelvolume.cpp
#	indra/newview/llselectmgr.cpp
#	indra/newview/llselectmgr.h
#	indra/newview/llsurface.cpp
#	indra/newview/llsurface.h
#	indra/newview/llsurfacepatch.cpp
#	indra/newview/lltexturectrl.cpp
#	indra/newview/lltexturectrl.h
#	indra/newview/lltinygltfhelper.cpp
#	indra/newview/llviewerregion.cpp
#	indra/newview/llviewerwindow.cpp
#	indra/newview/llviewerwindow.h
#	indra/newview/llvlcomposition.cpp
#	indra/newview/llvlcomposition.h
#	indra/newview/llvocache.cpp
#	indra/newview/llvovolume.cpp
#	indra/newview/pipeline.cpp
2024-06-11 19:04:21 +02:00
Andrey Lihatskiy 3d4bc98f6b Trim remaining trailing whitespaces after #1695 2024-06-11 17:38:48 +03:00
Ansariel d9789bfaf2 Merge branch 'main' of https://github.com/secondlife/viewer into DRTVWR-600-maint-A
# Conflicts:
#	indra/llappearance/llavatarappearance.h
#	indra/llimage/llimage.cpp
#	indra/llmath/llvolume.cpp
#	indra/llmath/llvolume.h
#	indra/llprimitive/llgltfmaterial.h
#	indra/llrender/llrendertarget.cpp
#	indra/llrender/llshadermgr.cpp
#	indra/newview/lldynamictexture.cpp
#	indra/newview/llenvironment.cpp
#	indra/newview/llfetchedgltfmaterial.cpp
#	indra/newview/llfloaterimagepreview.cpp
#	indra/newview/llfloaterimagepreview.h
#	indra/newview/llfloaterregioninfo.cpp
#	indra/newview/llfloaterregioninfo.h
#	indra/newview/llmaniprotate.cpp
#	indra/newview/llmaniptranslate.cpp
#	indra/newview/llpanelvolume.cpp
#	indra/newview/llselectmgr.cpp
#	indra/newview/llselectmgr.h
#	indra/newview/llsurface.cpp
#	indra/newview/llsurface.h
#	indra/newview/llsurfacepatch.cpp
#	indra/newview/lltexturectrl.cpp
#	indra/newview/lltexturectrl.h
#	indra/newview/lltinygltfhelper.cpp
#	indra/newview/llviewertexture.cpp
#	indra/newview/llviewerwindow.cpp
#	indra/newview/llviewerwindow.h
#	indra/newview/llvlcomposition.cpp
#	indra/newview/llvlcomposition.h
#	indra/newview/llvocache.cpp
#	indra/newview/llvovolume.cpp
#	indra/newview/pipeline.cpp
2024-06-11 13:38:43 +02:00
Brad Linden 7c42711ca3 Merge remote-tracking branch 'origin/DRTVWR-600-maint-A' into project/gltf_development 2024-06-10 16:22:12 -07:00
Ansariel 591c75ebaf Merge branch 'DRTVWR-600-maint-A' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/llappearance/llavatarappearance.cpp
#	indra/llmath/llvolume.cpp
#	indra/llmessage/llcorehttputil.cpp
#	indra/llrender/llgl.cpp
#	indra/newview/installers/darwin/apple-notarize.sh
#	indra/newview/llappviewer.cpp
#	indra/newview/llface.cpp
#	indra/newview/llfloater360capture.cpp
#	indra/newview/llfloateremojipicker.cpp
#	indra/newview/llpanelpeople.cpp
#	indra/newview/llviewertexture.cpp
#	indra/newview/viewer_manifest.py
2024-06-10 21:53:31 +02:00
Ansariel 4b52dd754b Fix incorrect use of VX/VY/VZ/VW indices when color components are accessed 2024-06-10 19:30:17 +03:00
Ansariel c0fad3028f Re-enable compiler warnings C4018, C4100, C4231 and C4506 2024-06-10 16:42:43 +02:00
Ansariel 7ab12bd376 Merge branch 'DRTVWR-600-maint-A' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/llappearance/llpolymorph.cpp
#	indra/llui/lltextparser.cpp
2024-06-09 17:02:21 +02:00
Ansariel 8703d5b0f9 Found string should not be directly at the start 2024-06-09 16:21:28 +02:00
Ansariel 9e45c1e506 Fix issues resulting from b42f9d836b 2024-06-09 16:17:03 +02:00
Ansariel a17fd2352a Merge branch 'DRTVWR-600-maint-A' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/llcharacter/llkeyframemotion.cpp
#	indra/llcharacter/llmotioncontroller.cpp
#	indra/llcrashlogger/llcrashlogger.cpp
#	indra/llimage/llimagetga.cpp
#	indra/llmessage/llregionflags.h
#	indra/llprimitive/lldaeloader.cpp
#	indra/llprimitive/llmodel.cpp
#	indra/llrender/llrendertarget.cpp
#	indra/llui/llconsole.cpp
#	indra/llui/llkeywords.cpp
#	indra/llui/llscrolllistctrl.cpp
#	indra/llui/lltextbase.cpp
#	indra/llui/lltexteditor.cpp
#	indra/llui/llurlentry.cpp
#	indra/newview/llappearancemgr.cpp
#	indra/newview/llappviewer.cpp
#	indra/newview/llfloaterworldmap.cpp
#	indra/newview/llgiveinventory.cpp
#	indra/newview/llinventorybridge.cpp
#	indra/newview/llpanelpeople.cpp
#	indra/newview/llpanelpermissions.cpp
#	indra/newview/llpanelteleporthistory.cpp
#	indra/newview/llvocache.cpp
2024-06-09 16:11:24 +02:00