Commit Graph

87 Commits (b99cf9fb86923abfb7ff1ac5a57297ebbef3906b)

Author SHA1 Message Date
Ansariel b99cf9fb86 Merge branch 'project/mac_universal' of https://github.com/secondlife/viewer
# Conflicts:
#	autobuild.xml
#	indra/cmake/00-Common.cmake
#	indra/cmake/APR.cmake
#	indra/cmake/Audio.cmake
#	indra/cmake/Boost.cmake
#	indra/cmake/Copy3rdPartyLibs.cmake
#	indra/cmake/LLKDU.cmake
#	indra/cmake/LLPrimitive.cmake
#	indra/cmake/Meshoptimizer.cmake
#	indra/cmake/NGHTTP2.cmake
#	indra/cmake/OPENAL.cmake
#	indra/llaudio/llvorbisencode.cpp
#	indra/llcommon/linden_common.h
#	indra/llcommon/llcommon.cpp
#	indra/llcommon/llfasttimer.cpp
#	indra/llcommon/llfasttimer.h
#	indra/llcommon/llfile.cpp
#	indra/llcommon/llmemory.h
#	indra/llcommon/llprofiler.h
#	indra/llcommon/llthreadsafequeue.h
#	indra/llfilesystem/lldir_win32.cpp
#	indra/llkdu/llimagej2ckdu.cpp
#	indra/llkdu/llimagej2ckdu.h
#	indra/llkdu/llkdumem.h
#	indra/llplugin/slplugin/CMakeLists.txt
#	indra/llrender/llfontfreetype.cpp
#	indra/llrender/llfontfreetype.h
#	indra/llwindow/CMakeLists.txt
#	indra/llwindow/llopenglview-objc.mm
#	indra/llwindow/llwindowmacosx-objc.h
#	indra/llwindow/llwindowwin32.cpp
#	indra/media_plugins/cef/CMakeLists.txt
#	indra/newview/CMakeLists.txt
#	indra/newview/llappviewer.cpp
#	indra/newview/llface.cpp
#	indra/newview/pipeline.cpp
#	indra/newview/viewer_manifest.py
2025-09-05 14:55:37 +02:00
Beq 0d25562014 FIRE-34977 - Reduce Sim crossing overhead causing pauses
The purge thread should be the only thread recalculating cache usage. This removes the directory scan from the critial path where it would occasionally trigger due to aligned timers (exacerbated by high rates of region crossing)
2025-05-19 19:53:44 +01:00
Rye 179b29252d Rework windows to use zc:wchar_t for better c++ conformance and compatibility with modern libraries 2025-02-11 05:55:37 -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 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 0ee528c5fd Mitigate asset fetch thread stalls from LLDiskCache mutex contention and trivial cleanup
Move LLDiskCache::updateFileAccessTime to LLFilesystem as it's the only user of that function.

Change mCacheDir and LLDiskCache::metaDataToFilepath to statics.
2024-08-14 00:31:37 -04: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 c203bb650a Merge branch 'project/gltf_development' of https://github.com/secondlife/viewer
# Conflicts:
#	autobuild.xml
#	indra/newview/app_settings/settings.xml
#	indra/newview/llinventorymodel.cpp
#	indra/newview/llviewermenu.cpp
#	indra/newview/llviewerregion.cpp
#	indra/newview/llvovolume.cpp
#	indra/newview/skins/default/xui/en/notifications.xml
2024-05-23 01:48:45 +02:00
Dave Parks 03c4458bdc
#1392 GLTF Upload (#1394)
* #1392 WIP -- Functional texture upload, stubbed out .bin upload.

* #1392 GLTF Upload WIP -- Emulates successful upload

Successfully uploads texture
Emulates successful .gltf and .bin upload by injecting into local asset cache.
Emulates rez from inventory by setting sculpt ID of selected object
Currently fails in tinygltf parsing due to missing .bin

* Add missing notification

* Build fix

* #1392 Add boost::json .gltf reading support.

* #1392 boost::json GLTF writing prototype

* Create gltf/README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* #1392 Add ability to render directly from LL::GLTF::Material

* Fix for mac build

* Mac build fix

* #1392 AssetType and Inventory Type plumbing

* #1392 More sane error handling and scheduling of uploads.

* #1392 Actually attempt to upload glbin

* Mac build fix, upload nudge

* Mac build fix

* Fix glTF asset uploads to server

* Mac build fix (inline not static)

* More consistent inline

* Add glm, mac nudge.

* #1392 For consistency with spec, start using glm over glh:: and LLFoo

* Another attempt at placating Mac builds

* Another Mac nudge

* Mac build take 23

* #1392 Prune LLMatrix4a from GLTF namespace.

* #1392 Fix for orientation being off (glm::quat is wxyz, not xyzw)

* #1392 WIP -- Actually send the sculpt type and id, nudge readme and alpha rendering

* #1392 Working download!

* #1394 Add support for GLTFEnabled SimulatorFeature

* #1392 Review feedback

---------

Co-authored-by: Pepper Linden <3782201+rohvani@users.noreply.github.com>
2024-05-20 13:22:55 -05:00
Ansariel d73437c367 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2023-07-04 13:07:30 +02:00
Beq de702e112a Slightly less naive cache
The simple cache ihas a number of issues
* the "max cache size" is not the max cache size
* the purge typically only purges DOWN to the max cache size
* once you reach max you are basically purging constantly.
This change addresses that a bit by adding highwater threshold at 95% leaving a bit of headroom for the incoming cache updates while we purge, and a low water threshold, that we purge down to (70%) .
This means people can now set their cache to a ramdisk of they really want and it won't (normally) overflow.
it reduces the cache thrashing, this is not a speedup on the main thread really, but just a less naive process.
This does not address the fact that every time we check the cache it has to enumerate every single file (beyond stupid) even though most have not changed. This is TBD.
2023-06-27 19:12:58 +01:00
Ansariel a6693e9c9e Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm
# Conflicts:
#	.gitignore
2023-04-16 18:59:53 +02:00
Ansariel 25f20cfd59 const ref please! 2023-04-04 13:16:14 +02:00
Ansariel 068d2a9b02 Fix disk cache after merge 2023-04-01 16:16:53 +02:00
Ansariel 68e5f326b3 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm
# Conflicts:
#	.gitignore
#	indra/cmake/00-Common.cmake
#	indra/cmake/CMakeLists.txt
#	indra/cmake/GLEXT.cmake
#	indra/cmake/LLCommon.cmake
#	indra/cmake/LLMath.cmake
#	indra/cmake/LLRender.cmake
#	indra/cmake/Tracy.cmake
#	indra/llprimitive/CMakeLists.txt
#	indra/llrender/llglheaders.h
#	indra/llrender/llglslshader.cpp
#	indra/newview/VIEWER_VERSION.txt
#	indra/newview/llface.cpp
#	indra/newview/lltexturefetch.h
#	indra/newview/llviewerobjectlist.cpp
#	indra/newview/llviewertexturelist.cpp
#	indra/newview/llvopartgroup.cpp
#	indra/newview/llxmlrpctransaction.cpp
2023-03-31 18:54:16 +02:00
Brad Linden a548c16989 Merge remote-tracking branch 'origin/main' into DRTVWR-559 2023-03-29 14:54:06 -07:00
Ansariel f7f941ae5b Merge branch 'DRTVWR-573-maint-R' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/llfilesystem/lldiskcache.cpp
2023-02-03 13:06:40 +01:00
Andrey Kleshchev 1c0d478436 SL-18773 Crash incrementing directory_iterator
make_iterator_range doesn't verify errors, replaced with basic increments
2023-01-18 19:20:36 +02:00
Ansariel a1090f5f5d Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm
# Conflicts:
#	indra/llrender/llgl.cpp
#	indra/llrender/llrendertarget.cpp
#	indra/newview/VIEWER_VERSION.txt
#	indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
#	indra/newview/lldrawpoolalpha.cpp
#	indra/newview/llfloaterpreference.cpp
#	indra/newview/llviewercontrol.cpp
#	indra/newview/llviewermenu.cpp
#	indra/newview/llviewertexturelist.cpp
#	indra/newview/llvovolume.cpp
#	indra/newview/quickprefs.cpp
2022-10-24 19:54:30 +02:00
Andrey Kleshchev 24fb2f8336 Merge branch 'master' (DRTVWR-548) into DRTVWR-559
# Conflicts:
#	indra/llrender/llgl.cpp
#	indra/llrender/llrendertarget.cpp
#	indra/newview/VIEWER_VERSION.txt
#	indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
#	indra/newview/llfloaterpreference.cpp
#	indra/newview/llviewercontrol.cpp
#	indra/newview/llviewermenu.cpp
#	indra/newview/llviewertexturelist.cpp
#	indra/newview/llvovolume.cpp
2022-10-21 18:19:27 +03:00
Andrey Kleshchev 7649114588 Merge branch master (DRTVWR-571) into DRTVWR-559
# Conflicts:
#	indra/newview/llpanelface.cpp
#	indra/newview/llpanelface.h
2022-09-16 21:07:39 +03:00
Ansariel 5a78473123 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm
# Conflicts:
#	indra/newview/VIEWER_VERSION.txt
#	indra/newview/app_settings/settings.xml
#	indra/newview/llpanelface.cpp
#	indra/newview/llpanelface.h
#	indra/newview/skins/default/xui/en/menu_viewer.xml
2022-09-16 11:23:28 +02:00
Ansariel 656dd12dfc Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm
# Conflicts:
#	indra/newview/llmodelpreview.h
2022-09-15 20:35:44 +02:00
Andrey Lihatskiy 329268c5f7 Merge branch 'master' into DRTVWR-548-maint-N
# Conflicts:
#	indra/newview/llmodelpreview.h
2022-09-15 20:44:04 +03:00
Ansariel abf0d2e92b Merge branch 'DRTVWR-559' of https://bitbucket.org/lindenlab/viewer
# Conflicts:
#	autobuild.xml
#	indra/llrender/llgl.cpp
#	indra/newview/app_settings/settings.xml
#	indra/newview/llvovolume.cpp
2022-06-29 23:11:18 +02:00
Ansariel 30df86e318 Merge branch 'DRTVWR-548-maint-N' of https://bitbucket.org/lindenlab/viewer 2022-06-29 22:07:42 +02:00
Dave Parks 57805cac68 SL-17379 More complete integration of material asset type 2022-06-28 15:15:57 -05:00
Cosmic Linden 7bf25aa8b8 SL-17329: Remove unused extra variable initialization 2022-06-24 13:32:14 -07:00
Ansariel cfb6c083fe Merge branch 'DRTVWR-548-maint-N' of https://bitbucket.org/lindenlab/viewer
# Conflicts:
#	indra/llcommon/CMakeLists.txt
#	indra/llfilesystem/lldiskcache.cpp
#	indra/llwindow/CMakeLists.txt
#	indra/newview/app_settings/settings.xml
#	indra/newview/llappviewer.cpp
2022-06-24 22:18:44 +02:00
Cosmic Linden ccdeac3223 SL-17329: Do logging of individual files after the disk cache purge finishes so it doesn't affect the time measurement.
The time resolution of the debug log is in seconds, so it's not particularly useful.

Arguably, one could remove this fine logging in favor of Tracy markers. Or have both. Depends on the use case.
2022-06-22 13:28:25 -07:00
Ansariel 1edfb172f5 Merge branch 'DRTVWR-544-maint' of https://bitbucket.org/lindenlab/viewer
# Conflicts:
#	indra/llfilesystem/lldiskcache.h
#	indra/newview/app_settings/settings.xml
2022-01-12 16:46:56 +01:00
Mnikolenko Productengine c09155574d SL-15083 Remove old vfs files 2022-01-11 19:31:51 +02:00
Ansariel 931fec6d7a Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-09-20 11:12:47 +02:00
Ansariel ac70e21c93 More boost::filesystem failure checks 2021-08-30 13:59:36 +02:00
PanteraPolnocy 9dee543ea3 Revert "Simple cache viewer: Enable some cache purge log output for testing"
This reverts commit ad952d6744. Iterate over the cache directory one time instead of three.
2021-08-30 10:03:56 +02:00
Ansariel eb5d535cb6 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-07-21 13:15:50 +02:00
Tonya Souther 775adeb647 FIRE-31070: Crash on clearing cache on macOS and Linux. 2021-07-17 19:23:45 -05:00
Ansariel 738e5c2659 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-07-15 19:56:26 +02:00
Ansariel a4e0fde3ee Shuffle stuff around 2021-07-06 09:50:32 +02:00
Beq 98b19c8845 Additional static cache fixes to prevent purging 2021-07-05 14:46:55 +01:00
Beq cbe3910620 Cleanup cache clearing to re-enable threaded clear
fixup silly mis-edits
2021-07-04 00:12:13 +01:00
Beq 6d6c48d609 [FIRE-31003] Add back static cache (opensim) + pre-cache pose stand 2021-07-04 00:12:13 +01:00
Ansariel 8e2adbcde7 Merge branch 'DRTVWR-519' of https://bitbucket.org/lindenlab/viewer 2021-06-15 12:04:03 +02:00
Ansariel 2f228886d6 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-06-15 12:01:32 +02:00
Ansariel fedae88be7 boost::filesystem::directory_iterator uses throw-behavior by default as well 2021-06-11 22:59:55 +02:00
Ansariel 3c3aaaccb0 Simple Cache Viewer: boost::filesystem::recursive_directory_iterator uses throw-behavior by default as well... 2021-06-11 22:58:42 +02:00
Ansariel 564a7acb32 Change all remaining boost::filesystem methods to their non-throwing overloads 2021-06-11 22:50:39 +02:00
Ansariel 3b8252340c Simple Cache Viewer: Change all remaining boost::filesystem methods to their non-throwing overloads 2021-06-11 22:50:19 +02:00