summaryrefslogtreecommitdiff
path: root/indra/llcommon
AgeCommit message (Collapse)Author
2023-07-18Merge remote-tracking branch 'origin/xcode-14.3' into DRTVWR-559 (#292)Brad Linden
2023-07-17Merge remote-tracking branch 'origin/main' into DRTVWR-559Brad Linden
2023-07-07SL-19966 Reverted "SL-18721: Faster viewer shutdown time since performance ↵Andrey Lihatskiy
improvements can lead to perceived inventory loss due to cache corruption" This reverts commit cf692c40b0b9f8d0d04cd10a02a84e3f697a2e99.
2023-06-01DRTVWR-575: GCC prefers std::make_signed<std::size_t> for llssize.Nat Goodspeed
2023-06-01SL-18330: Merge branch 'main' of secondlife/viewer into xcode-14.3Nat Goodspeed
2023-05-31SL-18330: Consistently use new standalone Python llsd package.Nat Goodspeed
2023-05-31SL-18330: Change to strip_deprecated_header(size_t* header_size)Nat Goodspeed
from U32*.
2023-05-23SL-19744: Remove LLApp::startErrorThread() and references.Nat Goodspeed
2023-05-23SL-19744: Remove LLErrorThread and LLAppViewer::handleViewerCrash()Nat Goodspeed
2023-05-22SL-18837: Fix call to strip_deprecated_header().Nat Goodspeed
Pass llssize instead of S32.
2023-05-19SL-18837: Merge branch 'xcode-14.1' of secondlife/viewer into xcode-14.3Nat Goodspeed
2023-05-17Merge remote-tracking branch 'origin/main' into DRTVWR-559Brad Linden
2023-05-17Merge branch 'main' into DRTVWR-580-maint-TAndrey Lihatskiy
# Conflicts: # doc/contributions.txt # indra/llcharacter/llkeyframemotion.cpp # indra/newview/llfilepicker.cpp
2023-05-08SL-19690: Fix a lingering reference to WorkSchedule::postIfOpen()Nat Goodspeed
2023-05-08SL-19690: Properly qualify exception type.Nat Goodspeed
2023-05-08SL-19690: Follow up on Rye Mutt's fix for shutdown crashes.Nat Goodspeed
Rather than continuing to propagate try/catch (Closed) (aka LLThreadSafeQueueInterrupt) constructs through the code base, make WorkQueueBase::post() return bool indicating success (i.e. ! isClosed()). This obviates postIfOpen(), which no one was using anyway. In effect, postIfOpen() is renamed post(), bypassing the exception when isClosed(). Review existing try/catch blocks of that sort, changing to test for post() returning false.
2023-05-05Fix LLThreadSafeQueueInterrupt in WorkQueueBase::postTo during shutdown by ↵Rye Mutt
catching and returning false
2023-05-04Merge remote-tracking branch 'origin/zap-LLSDArray' into DRTVWR-559Brad Linden
2023-05-04Merge remote-tracking branch 'origin/zap-LLSDArray' into DRTVWR-577-maint-SAndrey Lihatskiy
2023-05-04Merge remote-tracking branch 'origin/zap-LLSDArray' into DRTVWR-580-maint-TAndrey Lihatskiy
2023-05-04DRTVWR-559: Merge 'DRTVWR-559' into DRTVWR-559-zapfuncNat Goodspeed
2023-05-03DRTVWR-559 WIP - optimize ARC calculation et al.RunitaiLinden
2023-05-03SL-19647: Eliminate LLSDArray entirely.Nat Goodspeed
Newer C++ compilers have different semantics around LLSDArray's special copy constructor, which was essential to proper LLSD nesting. In short, we can no longer trust LLSDArray to behave correctly. Now that we have variadic functions, get rid of LLSDArray and replace every reference with llsd::array().
2023-05-03SL-18330: fix strip_deprecated_header(cur_size) param to llssize.Nat Goodspeed
2023-05-03DRTVWR-559: Replace debugLoggingEnabled() function with LL_DEBUGS().Nat Goodspeed
The trouble with debugLoggingEnabled() is that it locked mutexes and searched maps every time that call was reached. LL_DEBUGS() has the same functionality (albeit with idiosyncratic syntax) but performs expensive lookups only once per session, caching the result in a local static variable.
2023-05-02DRTVWR-559 Optimization pass, make it so profileAvatar can read back GPU ↵RunitaiLinden
timer without a frame stall.
2023-05-02Merge branch 'main' into DRTVWR-577-maint-SAndrey Lihatskiy
2023-05-02Merge branch 'main' into DRTVWR-580-maint-TAndrey Lihatskiy
2023-04-26Merge remote-tracking branch 'origin/DRTVWR-539' into DRTVWR-559-merge-539Brad Linden
2023-04-03SL-18330: Remove some set-but-unused vars flagged by Xcode 14.3.Nat Goodspeed
2023-03-31Merge branch 'main' into DRTVWR-539Mnikolenko Productengine
# Conflicts: # indra/integration_tests/llui_libtest/CMakeLists.txt # indra/newview/llfloateravatarrendersettings.cpp
2023-03-29Merge remote-tracking branch 'origin/main' into DRTVWR-559Brad Linden
2023-03-30Merge branch 'main' into DRTVWR-580-maint-TAndrey Lihatskiy
2023-03-30Merge branch 'main' into DRTVWR-577-maint-SAndrey Lihatskiy
# Conflicts: # indra/cmake/CMakeLists.txt # indra/newview/skins/default/xui/es/floater_tools.xml
2023-03-20SL-18721: Faster viewer shutdown time since performance improvements can ↵Alexander Gavriliuk
lead to perceived inventory loss due to cache corruption
2023-03-20Merge branch 'DRTVWR-568' into DRTVWR-573-maint-RAndrey Lihatskiy
# Conflicts: # indra/cmake/Copy3rdPartyLibs.cmake # indra/cmake/FindOpenJPEG.cmake # indra/cmake/OpenJPEG.cmake # indra/integration_tests/llui_libtest/CMakeLists.txt # indra/newview/CMakeLists.txt
2023-03-10SL-19172 Texture streaming tune up. Incidental decruft.Dave Parks
2023-03-06Improved detail for llvertexbuffer attribute mask assertion failure in ↵Brad Linden
DRTVWR-559
2023-03-06DRTVWR-559 Return to MD5 for LLUUID operations. Existing LLUUID API ↵Dave Parks
implementations must not change, but may add "fast" variants where appropriate in the future.
2023-02-13Fix up a couple of tiny merge conflicts after a merge with mainCallum Prentice
2023-02-13Fix up a couple of tiny merge conflicts after a merge with mainCallum Prentice
2023-02-13SL-19110 revert LLUUID::combine() to old algorithm to match server code. (#75)Henri Beauchamp
As it happens, the change in the LLUUID::combine() algorithm introduced by one of my previous commits is causing invalid assets creation (seen with some clothing items, such as Shape and Universal types); obviously, the server is using the old algorithm for UUID validation purpose of these assets. This commit reverts LLUUID::combine() code to use LLMD5.
2023-02-13SL-19110 revert LLUUID::combine() to old algorithm to match server code. (#75)Henri Beauchamp
As it happens, the change in the LLUUID::combine() algorithm introduced by one of my previous commits is causing invalid assets creation (seen with some clothing items, such as Shape and Universal types); obviously, the server is using the old algorithm for UUID validation purpose of these assets. This commit reverts LLUUID::combine() code to use LLMD5.
2023-02-09Merge branch 'main' into DRTVWR-577-maint-SAndrey Kleshchev
# Conflicts: # indra/llcommon/llsdserialize.cpp # indra/llcommon/llsdserialize.h # indra/newview/llfilepicker.h # indra/newview/llfilepicker_mac.h # indra/newview/llfilepicker_mac.mm
2023-02-03Merge branch 'main' into DRTVWR-539Mnikolenko Productengine
# Conflicts: # doc/contributions.txt # indra/cmake/Copy3rdPartyLibs.cmake # indra/cmake/FindOpenJPEG.cmake # indra/cmake/OpenJPEG.cmake # indra/integration_tests/llui_libtest/CMakeLists.txt # indra/newview/CMakeLists.txt
2023-02-02Merge remote-tracking branch 'origin/main' into DRTVWR-559Brad Linden
2023-02-02Merge branch 'main' into DRTVWR-573-maint-RAndrey Lihatskiy
2023-02-02Merge branch 'contribute' into DRTVWR-577-maint-SAndrey Lihatskiy
2023-01-31SL-19110 Fix xxhash build link and properly register contributionAndrey Kleshchev
2023-01-31SL-19110 Fast hashing classes for use in place of the slow LLMD5, where ↵Henri Beauchamp
speed matters. (#64) This commit adds the HBXX64 and HBXX128 classes for use as a drop-in replacement for the slow LLMD5 hashing class, where speed matters and backward compatibility (with standard hashing algorithms) and/or cryptographic hashing qualities are not required. It also replaces LLMD5 with HBXX* in a few existing hot (well, ok, just "warm" for some) paths meeting the above requirements, while paving the way for future use cases, such as in the DRTVWR-559 and sibling branches where the slow LLMD5 is used (e.g. to hash materials and vertex buffer cache entries), and could be use such a (way) faster algorithm with very significant benefits and no negative impact. Here is the comment I added in indra/llcommon/hbxx.h: // HBXXH* classes are to be used where speed matters and cryptographic quality // is not required (no "one-way" guarantee, though they are likely not worst in // this respect than MD5 which got busted and is now considered too weak). The // xxHash code they are built upon is vectorized and about 50 times faster than // MD5. A 64 bits hash class is also provided for when 128 bits of entropy are // not needed. The hashes collision rate is similar to MD5's. // See https://github.com/Cyan4973/xxHash#readme for details.