summaryrefslogtreecommitdiff
path: root/indra/llcommon
AgeCommit message (Collapse)Author
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-04SL-19647 OSX buildfixAndrey Lihatskiy
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-04Merge remote-tracking branch 'origin/zap-LLSDArray' into DRTVWR-582-maint-UAndrey Lihatskiy
# Conflicts: # indra/llcommon/tests/llsdserialize_test.cpp
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-05-02Merge branch 'main' into DRTVWR-582-maint-UAndrey Lihatskiy
2023-04-26Merge remote-tracking branch 'origin/DRTVWR-539' into DRTVWR-559-merge-539Brad Linden
2023-04-07post-merge buildfixAndrey Lihatskiy
2023-04-07Merge branch 'main' into marchcat/main-contrib-mergeAndrey Lihatskiy
# Conflicts: # indra/cmake/CMakeLists.txt # indra/llcommon/llsdserialize.cpp # indra/llcommon/llsdserialize.h # indra/llcommon/tests/llleap_test.cpp # indra/newview/llfilepicker.h # indra/newview/llfilepicker_mac.h # indra/newview/llfilepicker_mac.mm # indra/newview/skins/default/xui/en/strings.xml
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-03-02SL-18330: Review and tweak LLTrace::PeriodicRecording indexingNat Goodspeed
per Leviathan code review.
2023-03-01SL-18330: Tweaks for Visual Studio buildsNat Goodspeed
2023-03-01SL-18330: Fix a narrowing conversion in LLSDSerialize::deserialize().Nat Goodspeed
2023-03-01SL-18330: Use recursive variadic llmax(), llmin()Nat Goodspeed
instead of having specific binary, ternary and quaternary overloads.
2023-03-01SL-18330: Use size_t max for LLTrace::PeriodicRecording methods.Nat Goodspeed
The num_periods arguments have all been changed to size_t, but the default argument values were still coded as S32_MAX. Change to std::numeric_limits<size_t>::max().
2023-03-01SL-18330: Use C++ standard types for llmd5, not local typedefs.Nat Goodspeed
Not only do the local typedefs make the code less readable, they also rely on assumptions about the implementation. The standard types are guaranteed by the C++ library implementation.
2023-02-15SL-18330: Fix per PR review comments.Nat Goodspeed
2023-02-15SL-18330: Merge branch 'contribute' into sl-18330-mergeNat Goodspeed
2023-02-15SL-18330: Fix egregious existing build errors in contribute branch.Nat Goodspeed
2023-02-15SL-19159 Build fixesAndrey Kleshchev
2023-02-15SL-18330: Merge branch 'contribute' into sl-18330-mergeNat Goodspeed
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-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-07SL-19159 Faster LLUUID and LLMaterialID hashing for std and boost containers ↵Henri Beauchamp
keys (#70) LLUUID and LLMaterialID already have an excellent entropy and value dispersion; there is therefore strictly no need to further (slowly) hash their value for use with std and boost libraries containers. This commit adds a trivial getDigest64() method to both LLUUID and LLMaterialID (which simply returns the XOR of the two 64 bits long words their value is made of), and uses it in std::hash and hash_value() specializations for use with containers.
2023-02-07SL-19110 Make HBXXH* classes no-copy. (#72)Henri Beauchamp
These classes are not trivially copyable because of the mState pointer on an internal XXH3 state that would have to be explicitely copied. While it would be possible to add custom copy constructor and operator for them, it does not really make sense to allow copying an instance of these classes, since all we care about storing and copying is the digest (which is either an U64 or an LLUUID).
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