summaryrefslogtreecommitdiff
path: root/indra/llcommon
AgeCommit message (Collapse)Author
2023-06-02Merge branch 'xcode-14.3' into DRTVWR-582-maint-UAndrey Lihatskiy
# Conflicts: # indra/llcommon/llsdserialize.cpp # indra/llcommon/llsdserialize.h # indra/llcommon/tests/llleap_test.cpp # indra/llcommon/tests/llsdserialize_test.cpp # indra/newview/llmeshrepository.cpp
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-26DRTVWR-582 xcode-14.3 merge follow upAndrey Lihatskiy
2023-05-26Merge branch 'xcode-14.3' into DRTVWR-582-maint-UAndrey Lihatskiy
# Conflicts: # indra/llcommon/llsdserialize.h
2023-05-24SL-19711 - viewer can't parse environments. Fixed max parsing bugsimon
(cherry picked from commit eb0516b9940f200b32349d611f38f1ccee48005d)
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 branch 'main' into DRTVWR-582-maint-UAndrey Lihatskiy
# Conflicts: # indra/newview/llagentlistener.cpp # indra/newview/llcommanddispatcherlistener.cpp # indra/newview/llfilepicker_mac.mm # indra/newview/llworldmapview.cpp
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-582-maint-UAndrey Lihatskiy
# Conflicts: # indra/llcommon/tests/llsdserialize_test.cpp
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-02Merge branch 'main' into DRTVWR-577-maint-SAndrey Lihatskiy
2023-05-02Merge branch 'main' into DRTVWR-582-maint-UAndrey Lihatskiy
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-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-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-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-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
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 coding policyAndrey Kleshchev
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.
2023-01-16Merge branch 'contribute' into DRTVWR-577-maint-SAndrey Lihatskiy
2023-01-16SL-18893 OSX buildfixAndrey Lihatskiy