summaryrefslogtreecommitdiff
path: root/indra
AgeCommit message (Collapse)Author
2023-02-13SL-19207 Polish translation: notifications, strings, a few floaters; Minor ↵Pantera Północy
changes in /en/ (#78)
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-07SL-19159 pull request #71 from sldevel/invcat-fast-hashakleshchev
Faster and simpler inventory category hashing.
2023-02-07Added a digest_t typedef to clarify the usage of the digest LLUUIDHenri Beauchamp
As suggested in comments for previous commit.
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-06Faster and simpler inventory category hashing.Henri Beauchamp
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-04SL-17761: Replace 'Grid emergency' message with generic errorBennett Goble
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-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-28SL-19097 Crash when selecting a model for upload and waiting too longAndrey Kleshchev
Should be fixed by SL-18996, but just in case user decides to select a model while viewer closes
2023-01-27SL-18996 make MacOS picker dialogs modeless to avoid disconnects #2Andrey Kleshchev
2023-01-27SL-18996 [WIP] MacOS make picker dialogs non-modal to avoid disconnects #1Andrey Kleshchev
2023-01-18SL-3033 flv files prompt download instead of playingAndrey Kleshchev
Viewer doesn't support web downloads, it should be safe to assume stream and play it
2023-01-16SL-18893 OSX buildfixAndrey Lihatskiy
2023-01-16MacOS Build fixAndrey Kleshchev
2023-01-16SL-18937 Add missing panel_* files in Polish translation (#50)Pantera Północy
2023-01-10SL-18937 Merge pull request #45 from PanteraPolnocy/contributeakleshchev
Translate missing control_*, floater_* menu_* and few panel_* files in Polish directory; Fix localizability in various English XMLs
2023-01-10SL-18893 Fixes for pull requests #38, #41, and #42 (#46)Fawrsk
Eliminate unnecessary copies, and remove uses of auto
2023-01-09Eliminate needless copiesFawrsk
2023-01-07Translate missing control_*, floater_* menu_* and few panel_* files in ↵PanteraPolnocy
Polish directory; Fix localizability in various English XMLs
2023-01-07Cleanup for loops in llcommon to use C++11 range based for loopsFawrsk
2023-01-05SL-18893 Cleanup for loops in llcharacter to use C++11 range based for loops ↵Fawrsk
(#42)
2023-01-05SL-18893 Clean up for loops in llaudio to use C++11 range based for loops (#41)Fawrsk
2023-01-04SL-18904 Remove unused translation filesAndrey Kleshchev
2023-01-03Polish translation: Leftovers cleanup (files not present in /en/)PanteraPolnocy
2023-01-03Widgets cleanup in Polish translation (up to 6.6.9), fix translatability for ↵PanteraPolnocy
density_ctrl.xml file
2023-01-03SL-18893 Clean up for loops in llappearance to use C++11 range based for ↵Fawrsk
loops (#38)
2023-01-03SL-18891 Remove duplicate entry in settings filePantera Północy
2023-01-03SL-18874 Rigged mesh upload crash when using Bounding Box physicsAndrey Kleshchev
2022-12-14SL-18384 Fix NSException for keyboard handlingAndrey Kleshchev
Affects accent keys for diacritical marks
2022-12-13SL-15175 Merge pull request #26 from sldevel/contributeakleshchev
Fix failures to update the TP states while the viewer is minimized.
2022-12-12DRTVWR-565: Merge branch 'main' into contributeNat Goodspeed
2022-12-12Increment viewer version to 6.6.9Nat Goodspeed
following promotion of DRTVWR-565
2022-12-12DRTVWR-565: Merge branch 'origin/contribute' into DRTVWR-565Nat Goodspeed
2022-12-12Merge branch 'xcode-14.1' into contributeAndrey Kleshchev
2022-12-12SL-8839 Make About Land resizableAndrey Kleshchev
2022-12-08Merge pull request #28 from secondlife/sl-14399nat-goodspeed
SL-14399: Ditch overflow queue LLViewerAssetStorage::mCoroWaitList.
2022-12-07SL-14399 Remove obsolete codeAndrey Kleshchev
mCoroWaitList covers all assets not just landmarks
2022-12-07SL-14399: Ditch overflow queue LLViewerAssetStorage::mCoroWaitList.Nat Goodspeed
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-07Fix failures to update the TP states while the viewer is minimized.Henri Beauchamp
This is a fix for: https://jira.secondlife.com/browse/BUG-230616
2022-12-06DRTVWR-575: Try to avoid comparison warnings in llclamp()Nat Goodspeed
2022-12-06DRTVWR-575: Defend unescape_string() against empty line.Nat Goodspeed
The unsigned index arithmetic was problematic in that case.
2022-12-06DRTVWR-575: Update a few more int lengths in llsdserialize.{h,cpp}.Nat Goodspeed
2022-12-06DRTVWR-575: Use llssize (signed size_t) for max_bytes parameters.Nat Goodspeed
Since LLSDSerialize::SIZE_UNLIMITED is negative, passing that through unsigned size_t parameters could result in peculiar behavior.
2022-12-06DRTVWR-575: Introduce LLKeyBind::endNonEmpty()Nat Goodspeed
and use it to replace dubious loops in asLLSD() and trimEmpty().
2022-12-06DRTVWR-575: Keep BufferArray::findBlock() in int domain.Nat Goodspeed
2022-11-28SL-18718 Crash at LLEventPump::listen and connection issuesAndrey Kleshchev
Cleaner reinit and termination.
2022-11-21Fix a thread safety issue in the GL image worker.Henri Beauchamp
LLViewerTexture::mNeedsCreateTexture needs to be an attomic bool since it is written both in the main thread and in the GL image worker thread. We can now enable threaded bump maps creation as a result of this fix. I have read the CLA Document and I hereby sign the CLA