Commit Graph

46009 Commits (a2f8f3db0663887462d0de69f3fc7eef673dfd35)

Author SHA1 Message Date
Andrey Kleshchev a2f8f3db06 SL-19159 Update contribution doc 2023-02-07 23:55:22 +02:00
akleshchev 7496e746af
SL-19159 pull request #71 from sldevel/invcat-fast-hash
Faster and simpler inventory category hashing.
2023-02-07 23:52:34 +02:00
Henri Beauchamp c3ab948724 Added a digest_t typedef to clarify the usage of the digest LLUUID
As suggested in comments for previous commit.
2023-02-07 22:18:44 +01:00
Henri Beauchamp 1eb2b23f4b
SL-19159 Faster LLUUID and LLMaterialID hashing for std and boost containers 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-07 14:51:53 +02:00
Henri Beauchamp 61b93e778b
SL-19110 Make HBXXH* classes no-copy. (#72)
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-07 01:17:22 +02:00
Henri Beauchamp bf7faa3267 Faster and simpler inventory category hashing.
This commit changes inventory category hashing from slow LLMD5 to fast HBXX128 hashing, and allows to use a simple LLUUID for the hash, instead of an LLMD5 instance.
It also removes some old cruft dealing with unused baked texture hashing.
2023-02-06 11:30:23 +01:00
Bennett Goble c1e1f1e423 SL-17761: Replace 'Grid emergency' message with generic error
The viewer currently presents a startling "Grid emergency" warning if an
unrecognized error is returned from login. Let's tone this down a bit
and present the error as it is: an unrecognized login failure rather
than SLearth exploding.
2023-02-04 06:11:15 +02:00
Andrey Kleshchev a6615b3264 SL-19110 Fix coding policy 2023-01-31 19:35:10 +02:00
Andrey Kleshchev 8518154426 SL-19110 Fix xxhash build link and properly register contribution 2023-01-31 19:17:34 +02:00
Henri Beauchamp 9438ef5f79
SL-19110 Fast hashing classes for use in place of the slow LLMD5, where 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-31 18:42:51 +02:00
Andrey Kleshchev 21b5928652 SL-19097 Crash when selecting a model for upload and waiting too long
Should be fixed by SL-18996, but just in case user decides to select a model while viewer closes
2023-01-28 02:02:42 +02:00
Andrey Kleshchev 27080dc7f7 SL-18996 make MacOS picker dialogs modeless to avoid disconnects #2 2023-01-27 17:25:18 +02:00
Andrey Kleshchev 2398a28af6 SL-18996 [WIP] MacOS make picker dialogs non-modal to avoid disconnects #1 2023-01-27 17:25:18 +02:00
Andrey Kleshchev e3a90ba4c1 SL-3033 flv files prompt download instead of playing
Viewer doesn't support web downloads, it should be safe to assume stream and play it
2023-01-18 22:00:01 +02:00
Andrey Lihatskiy 8ec8732ec9 SL-18893 OSX buildfix 2023-01-16 23:16:43 +02:00
Andrey Kleshchev 20b16ddf05 MacOS Build fix 2023-01-16 20:43:12 +02:00
Pantera Północy b34d209abc
SL-18937 Add missing panel_* files in Polish translation (#50) 2023-01-16 20:03:58 +02:00
Andrey Kleshchev 5d6371f568 SL-18937 Update contributions 2023-01-10 20:05:01 +02:00
akleshchev 9dcf206691
SL-18937 Merge pull request #45 from PanteraPolnocy/contribute
Translate missing control_*, floater_* menu_* and few panel_* files in Polish directory; Fix localizability in various English XMLs
2023-01-10 19:47:53 +02:00
Fawrsk 7419037ef6
SL-18893 Fixes for pull requests #38, #41, and #42 (#46)
Eliminate unnecessary copies, and remove uses of auto
2023-01-10 11:43:27 +02:00
akleshchev 9c250f1a9e
SL-18893 Cleanup for loops in llcommon to use C++11 range based for loops (#44)
* Cleanup for loops in llcommon to use C++11 range based for loops
* Eliminate needless copies
2023-01-10 11:38:34 +02:00
Fawrsk 8767e6995b Eliminate needless copies 2023-01-09 19:19:12 -04:00
PanteraPolnocy 77444ca356 Translate missing control_*, floater_* menu_* and few panel_* files in Polish directory; Fix localizability in various English XMLs 2023-01-07 20:36:50 +01:00
Fawrsk 9e743c99fb Cleanup for loops in llcommon to use C++11 range based for loops 2023-01-07 00:38:12 -04:00
Fawrsk d0f115ae09
SL-18893 Cleanup for loops in llcharacter to use C++11 range based for loops (#42) 2023-01-05 13:42:27 +02:00
Fawrsk bdfb47cc6b
SL-18893 Clean up for loops in llaudio to use C++11 range based for loops (#41) 2023-01-05 03:06:12 +02:00
Andrey Kleshchev 64a42aceba SL-18904 Remove unused translation files 2023-01-04 23:52:41 +02:00
akleshchev 5bc16b94cc
SL-18904 Merge pull request #40 from PanteraPolnocy
A small batch of changes in Polish translation subdirectory
2023-01-04 23:36:40 +02:00
Andrey Kleshchev 5ea7cec092 SL-18893 Update list of contributors 2023-01-04 22:21:20 +02:00
PanteraPolnocy bfa8239361 Polish translation: Leftovers cleanup (files not present in /en/) 2023-01-03 23:21:24 +01:00
PanteraPolnocy 030be1d14f Widgets cleanup in Polish translation (up to 6.6.9), fix translatability for density_ctrl.xml file 2023-01-03 23:03:17 +01:00
Fawrsk 74a9280c69
SL-18893 Clean up for loops in llappearance to use C++11 range based for loops (#38) 2023-01-03 23:08:15 +02:00
Pantera Północy 43496fe04e
SL-18891 Remove duplicate entry in settings file 2023-01-03 21:49:23 +02:00
Andrey Kleshchev 9ef48676d4 SL-18874 Rigged mesh upload crash when using Bounding Box physics 2023-01-03 14:36:11 +02:00
Andrey Kleshchev 796d97d190 SL-18384 Fix NSException for keyboard handling
Affects accent keys for diacritical marks
2022-12-14 20:55:22 +02:00
Andrey Kleshchev 0ffe9ff0ae SL-15175 Updates for TP states while the viewer is minimized 2022-12-13 21:25:16 +02:00
akleshchev e5bd3fc5fe
SL-15175 Merge pull request #26 from sldevel/contribute
Fix failures to update the TP states while the viewer is minimized.
2022-12-13 04:20:42 +02:00
Nat Goodspeed fe4f0fc728 DRTVWR-565: Merge branch 'main' into contribute 2022-12-12 15:27:38 -05:00
Nat Goodspeed 6a97e13115 DRTVWR-565: Merge branch 'master' into contribute 2022-12-12 15:24:29 -05:00
Nat Goodspeed a0c3d69c62 Increment viewer version to 6.6.9
following promotion of DRTVWR-565
2022-12-12 13:41:50 -05:00
Nat Goodspeed 12f66fda13 DRTVWR-565: Merge branch 'origin/contribute' into DRTVWR-565 2022-12-12 13:27:57 -05:00
Andrey Kleshchev 2b7ba3f904 Merge branch 'xcode-14.1' into contribute 2022-12-12 17:44:47 +02:00
Andrey Kleshchev 80e3950781 SL-8839 Make About Land resizable 2022-12-12 17:21:55 +02:00
nat-goodspeed 95f682f127
Merge pull request #28 from secondlife/sl-14399
SL-14399: Ditch overflow queue LLViewerAssetStorage::mCoroWaitList.
2022-12-08 13:33:29 -05:00
Andrey Kleshchev f064cba436 SL-14399 Remove obsolete code
mCoroWaitList covers all assets not just landmarks
2022-12-07 20:21:25 +02:00
Nat Goodspeed 769bf46a3f SL-14399: Ditch overflow queue LLViewerAssetStorage::mCoroWaitList.
mCoroWaitList was introduced to prevent an assertion failure crash:
LLCoprocedureManager never expects to fill LLCoprocedurePool::mPendingCoprocs
queue. The queue limit was arbitrarily set to 4096 some years ago, but in
practice LLViewerAssetStorage can post way more requests than that.

LLViewerAssetStorage checked whether the target LLCoprocedureManager pool's
queue looked close to full, and if so posted the pending request to its
mCoroWaitList instead. But then it had to override the base LLAssetStorage
method checkForTimeouts() to continually check whether pending tasks could be
moved from mCoroWaitList to LLCoprocedureManager.

A simpler solution is to enlarge LLCorpocedureManager::DEFAULT_QUEUE_SIZE, the
upper limit on mPendingCoprocs. Since mCoroWaitList was an unlimited queue,
making DEFAULT_QUEUE_SIZE "very large" does not increase the risk of runaway
memory consumption.
2022-12-07 09:50:02 -05:00
Henri Beauchamp 0dd287df28 Fix failures to update the TP states while the viewer is minimized.
This is a fix for: https://jira.secondlife.com/browse/BUG-230616
2022-12-07 00:01:34 +01:00
Nat Goodspeed 7d9249d180 DRTVWR-575: Try to avoid comparison warnings in llclamp() 2022-12-06 17:16:56 -05:00
Nat Goodspeed 9a7e638b67 DRTVWR-575: Defend unescape_string() against empty line.
The unsigned index arithmetic was problematic in that case.
2022-12-06 15:46:05 -05:00
Nat Goodspeed db1d757aeb DRTVWR-575: Update a few more int lengths in llsdserialize.{h,cpp}. 2022-12-06 14:40:11 -05:00