https://github.com/shader-slang/slang
Revision 45d9961a6a86d184248ef84f6a07125b0c224f97 authored by Ellie Hermaszewska on 16 August 2023, 00:57:47 UTC, committed by GitHub on 16 August 2023, 00:57:47 UTC
* Correct namespace for getClockFrequency * missing const * Add missing assignment operator * Remove unused variables * Return correct modified variable * Use stable hash code for file system identity * terse static_assert * Structured binding for map iteration * Make (==) and getHashCode const on many structs * Add ConstIterator for LinkedList * Replace uses of ItemProxy::getValue with Dictionary::at * Extract list of loads from gradientsMap before updating it * Const correctness in type layout * Add unordered_dense hashmap submodule * Use wyhash or getHashCode in slang-hash.h * refactor slang-hash.h * Use ankerl/unordered_dense as a hashmap implementation Notable changes: - The subscript operator returns a reference directly to the value, rather than a lazy ItemProxy (pair of dict pointer and key) slang-profile time (95% over 10 runs): - Before: 6.3913906 (±0.0746) - After: 5.9276123 (±0.0964) * 64 bit hash for strings So they have the same hash as char buffers with the same contents * Narrowing warnings for gcc to match msvc * revert back to c++17 * Correct c++ version for msvc * Use path to unordered_dense which keeps tests happy * Do not assign to and read from map in same expression * Remove redundant map operations in primal-hoist * Split out stable hash functions into slang-stable-hash.h * 64 bit hash by default * regenerate vs projects * Correct return type from HashSetBase::getCount() * correct width for call to Dictionary::reserve * Use stable hash for obfuscated module ids * Signed int for reserve * clearer variable naming * Parameterize Dictionary on hash and equality functors * Allow heterogenous lookup for Dictionary * missing const * Use set over operator[] in some places * Remove unused function * s/at/getValue
1 parent e34b005
Tip revision: 45d9961a6a86d184248ef84f6a07125b0c224f97 authored by Ellie Hermaszewska on 16 August 2023, 00:57:47 UTC
Use ankerl/unordered_dense as a hashmap implementation (#3036)
Use ankerl/unordered_dense as a hashmap implementation (#3036)
Tip revision: 45d9961
File | Mode | Size |
---|---|---|
.github | ||
build | ||
deps | ||
docs | ||
examples | ||
external | ||
extras | ||
prelude | ||
source | ||
tests | ||
tools | ||
.editorconfig | -rw-r--r-- | 984 bytes |
.gitattributes | -rw-r--r-- | 95 bytes |
.gitignore | -rw-r--r-- | 1.5 KB |
.gitmodules | -rw-r--r-- | 1.1 KB |
.mailmap | -rw-r--r-- | 84 bytes |
CODE_OF_CONDUCT.md | -rw-r--r-- | 3.1 KB |
LICENSE | -rw-r--r-- | 1.1 KB |
README.md | -rw-r--r-- | 6.1 KB |
github_build.sh | -rw-r--r-- | 1.3 KB |
github_macos_build.sh | -rw-r--r-- | 1.2 KB |
github_test.sh | -rw-r--r-- | 1015 bytes |
make-slang-tag-version.bat | -rw-r--r-- | 210 bytes |
premake.bat | -rw-r--r-- | 120 bytes |
premake5.lua | -rw-r--r-- | 61.1 KB |
slang-com-helper.h | -rw-r--r-- | 4.9 KB |
slang-com-ptr.h | -rw-r--r-- | 5.0 KB |
slang-gfx.h | -rw-r--r-- | 86.8 KB |
slang-tag-version.h | -rw-r--r-- | 36 bytes |
slang.h | -rw-r--r-- | 195.3 KB |
slang.sln | -rw-r--r-- | 45.0 KB |
test.bat | -rw-r--r-- | 1.4 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...