Age | Commit message (Collapse) | Author |
|
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.
|
|
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.
|
|
|
|
|
|
Viewer doesn't support web downloads, it should be safe to assume stream and play it
|
|
|
|
# Conflicts:
# autobuild.xml
# indra/newview/llagent.cpp
# indra/newview/llimview.cpp
# indra/newview/llimview.h
# indra/newview/llinventoryfunctions.cpp
# indra/newview/llpanelmediasettingsgeneral.cpp
# indra/newview/pipeline.cpp
|
|
|
|
Polish directory; Fix localizability in various English XMLs
|
|
|
|
|
|
|
|
density_ctrl.xml file
|
|
|
|
|
|
controls.
|
|
# Conflicts:
# doc/contributions.txt
# indra/newview/llappviewer.cpp
# indra/newview/skins/default/colors.xml
|
|
|
|
Was a placeholder when there was no other way to bring it up
|
|
# Conflicts:
# doc/contributions.txt
# indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
# indra/newview/llfloater360capture.cpp
|
|
|
|
|
|
|
|
target. Remove "Hover Glow Objects" to free up a superfluous render target.
|
|
reflections probes are disabled.
|
|
Add UI for Screen Space Reflections.
|
|
Show a tooltip on drag&drop
|
|
SL-18746: Fix misplaced control in build menu
|
|
|
|
|
|
build menu texture tab
|
|
Fix for stack underflow when reflection probes disabled.
|
|
|
|
Distance detail ctrl; update slider text correctly
|
|
|
|
|
|
DRTVWR-559
|
|
SL-18632: Implement editing GLTF material texture transforms in build floater
|
|
|
|
DRTVWR-559
|
|
abilities and remove some more fast timers.
|
|
floater
|
|
|
|
SL-18627: Make space for pbr transform controls in build floater and disable some WIP controls
Approved-by: Andrey Kleshchev
|
|
Plan is to expand it as needed with overrides, request rate and memory
|
|
some WIP controls
|
|
Issue: release viewer saves materials as AT_UNKNOWN (255). When material viewer loads cache with materials saved as '255' instead of '57', material viewer doesn't know to update content and it casuses issues. Viewer eventally recovers, but it's simpler to drop cache in this case over trying to figure out if our unknown is a material (but may be cache should include asset type count to let viewer know when to double check unknowns).
Also made 'legacy' materials folder's name localizable just in case.
|
|
|
|
|
|
|