summaryrefslogtreecommitdiff
path: root/indra/llprimitive
AgeCommit message (Collapse)Author
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-02Merge branch 'DRTVWR-559' of github.com:secondlife/viewer into DRTVWR-559Dave Parks
2023-02-02SL-18908 Make media texture override base color and emissive texture on PBR ↵Dave Parks
materials when present.
2023-02-02Fix some unused variable warnings in DRTVWR-559Brad Linden
2023-02-02Merge remote-tracking branch 'origin/main' into DRTVWR-559Brad Linden
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-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-19Optimizations, decruft, and intel compatibility pass (#53)RunitaiLinden
SL-18869, SL-18772 Overhaul VBO management, restore occlusion culling, intel compatibility pass, etc
2023-01-10SL-18820: Fix applying material clearing transform overrides. Loosen some ↵Cosmic Linden
asserts to allow non-default transform overrides.
2023-01-09SL-18820: Update LLGLTFMaterial: Add setBaseMaterial() and equality comparisonCosmic Linden
2023-01-06SL-18741 Add gltf to bulk uploads on macAndrey Kleshchev
And cleaned up dupplicate mScale code
2023-01-03SL-18874 Rigged mesh upload crash when using Bounding Box physicsAndrey Kleshchev
2022-12-12Merge remote-tracking branch 'origin/main' into DRTVWR-559Brad Linden
2022-12-12Merge branch 'main' into DRTVWR-568Callum Prentice
2022-12-12Merge branch 'main' into DRTVWR-570-maint-QAndrey Lihatskiy
# Conflicts: # doc/contributions.txt # indra/newview/app_settings/shaders/class1/deferred/materialF.glsl # indra/newview/llfloater360capture.cpp
2022-11-14SL-18634: Fix GLTF material texture transform not serializing when texture ↵Cosmic Linden
ID is null
2022-11-11SL-18616 Fix for dropping mOverrideAlphaMode on copyDave Parks
2022-11-09Revert "SL-18523: When editing an object's material override, use the ↵Sabrina Shanman
object's material override as a base, rather than its render material (pull request #1190)"
2022-11-08SL-18523: When editing an object's material override, use the object's ↵Cosmic Linden
material override as a base, rather than its render material
2022-11-02Merged in SL-18485 (pull request #1183)Sabrina Shanman
SL-18485: Render GLTF materials with extension KHR_texture_transform with approprate texture transforms
2022-11-02SL-18520 Fix for mac build.Dave Parks
2022-11-02SL-18485: Render GLTF materials with extension KHR_texture_transform with ↵Cosmic Linden
approprate texture transforms
2022-11-02SL-18520 Use GLTF material.extras to pass flags for enabling overriding ↵Dave Parks
alpha mode and double sided to default
2022-11-01SL-18520 WIP - Use off-by-epsilon and special UUID identifier hacks to allow ↵Dave Parks
overriding to default values.
2022-11-01SL-18513 Put profile markers around GLTF code.Dave Parks
2022-10-31SL-18442 Port of Caladbolg's fix for emissive overrides not taking. Remove ↵Dave Parks
unused function.
2022-10-31SL-18446 Fix emissive tintAndrey Kleshchev
2022-10-27SL-18411: GLTF material transform serialization, plus fix improper indexing ↵Cosmic Linden
not matching GLTF spec
2022-10-26SL-18472 Fix for assert when increasing number of texture entries on ↵Dave Parks
existing primitive with overrides applied.
2022-10-26Merge branch 'DRTVWR-559' of ssh://bitbucket.org/lindenlab/viewer into ↵Dave Parks
DRTVWR-559
2022-10-26SL-18443 Allow nulling out of override data and implement new override ↵Dave Parks
message protocol.
2022-10-24Merge master into DRTVWR-568 (and fix conflicts)Callum Linden
2022-10-24SL-18105 Add mechanism for applying overrides that were received before ↵Dave Parks
associated ViewerObject was ready to receive them.
2022-10-22SL-18105 When saving an object's material to inventory, save the version ↵Dave Parks
that as overrides applied.
2022-10-21Merge branch 'master' (DRTVWR-548) into DRTVWR-559Andrey Kleshchev
# Conflicts: # indra/llrender/llgl.cpp # indra/llrender/llrendertarget.cpp # indra/newview/VIEWER_VERSION.txt # indra/newview/app_settings/shaders/class1/deferred/materialF.glsl # indra/newview/llfloaterpreference.cpp # indra/newview/llviewercontrol.cpp # indra/newview/llviewermenu.cpp # indra/newview/llviewertexturelist.cpp # indra/newview/llvovolume.cpp
2022-10-20SL-18105 Add remaining parameters to applyOverrideDave Parks
2022-10-20Merge branch 'master' into DRTVWR-570-maint-QAndrey Lihatskiy
# Conflicts: # indra/newview/llnetmap.cpp # indra/newview/llnetmap.h
2022-10-20Merge branch 'master' into DRTVWR-565-maint-PAndrey Lihatskiy
2022-10-20SL-18411: Copy over LLGLTFMaterial changes (most notably various ↵Cosmic Linden
getters/setters and texture transform stub)
2022-10-19Xcode compat fix for SL-18105 material overridesBrad Kittenbrink
2022-10-19SL-18105 Hook up TE override material to render pipe by way of render material.Dave Parks
2022-10-19SL-18105 Hook up render pipe directly to LLTextureEntry::mGLTFMaterial and ↵Dave Parks
add LLViewerFetchedTextures to LLFetchedGLTFMaterial. Lower reflection probe resolution to 128x128 per side.
2022-10-19SL-18105 viewer side for handling Material Override LargeGenericMessageBrad Kittenbrink
LLGLTFMaterialList now decodes gltf json overrides from the server and stores them in LLTextureEntry::mGLTFMaterialOverrides
2022-10-17WIP for SL-17697 live editing now computes diffs of changed material ↵Brad Kittenbrink
properties in tinygltf schema json
2022-10-14SL-18105 Add to/from json capability to LLGLTFMaterialDave Parks
2022-09-27Optimize away constant map finds in getSkinInfo by caching mesh skin into in ↵Rye Mutt
vovolume
2022-09-23SL-18156 Cleanup of MikktSpace integration, apply MikktSpace tangents to all ↵Dave Parks
meshes.
2022-09-23SL-18134 Rename Albedo to Base Color to be more consistent with GLTF specDave Parks
2022-09-17SL-17238 Fix coding policy build issuesAndrey Kleshchev