diff options
| author | lucy96chen <47800040+lucy96chen@users.noreply.github.com> | 2022-10-29 12:08:41 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-10-29 12:08:41 -0700 |
| commit | 883d9f7cccf1080739213282602c0dbae5fa7fe6 (patch) | |
| tree | 88f908095811a6e76bb9c089cd3bf3387b4473b2 /tools/gfx/persistent-shader-cache.cpp | |
| parent | 5a510ab28381ae93d1011f0bb6c9db4cbf589578 (diff) | |
Shader cache bugfixes and test additions (#2467)
* Preliminary graphics shader test
* Added test checking that a graphics shader is correctly split into two different entries
* Removed testing only addition
* Changed RequirementDictionary to an OrderedDictionary and added SerialTypeInfo for OrderedDictionary; Added entry point mangled name to the dependency hash
* Added test covering failure case discovered as part of Falcor integration
* Changed DifferentiableTypeSemanticContext::m_mapTypeToIDifferentiableWitness to an OrderedDictionary
* Added serializedAST field to Module in order to save serialized ASTs to avoid reserialization as much as possible; Added classes field to Session in order to save the output of SerialClassesUtil::create to avoid recreating as much as possible
* Changed AST hashing to hash the contents of a Module's file dependencies; Renamed all references to AST hashing to contents hashing
* Further cleanup
* Moved contents hash computation up to Linkage::loadModule and added field to Module to save the computed contents digest
* Changed PreprocessorHandler::handleFileDependency to optionally take an ISlangBlob* containing file contents and changed FrontEndPreprocessorHandler::handleFileDependency to add the source code for an included file to the module's contents digest
* Removed extraneous addToDigest call
* Fixed accidental removal of source code hash for module being loaded
Diffstat (limited to 'tools/gfx/persistent-shader-cache.cpp')
| -rw-r--r-- | tools/gfx/persistent-shader-cache.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/tools/gfx/persistent-shader-cache.cpp b/tools/gfx/persistent-shader-cache.cpp index fdf91fbe8..c0fd3b44a 100644 --- a/tools/gfx/persistent-shader-cache.cpp +++ b/tools/gfx/persistent-shader-cache.cpp @@ -63,9 +63,9 @@ void PersistentShaderCache::loadCacheFromFile() if (digests.getCount() != 2) continue; auto dependencyDigest = DigestUtil::fromString(digests[0]); - auto astDigest = DigestUtil::fromString(digests[1]); + auto contentsDigest = DigestUtil::fromString(digests[1]); - ShaderCacheEntry entry = { dependencyDigest, astDigest }; + ShaderCacheEntry entry = { dependencyDigest, contentsDigest }; auto entryNode = entries.AddLast(entry); keyToEntry.Add(dependencyDigest, entryNode); @@ -133,7 +133,7 @@ void PersistentShaderCache::addEntry(const slang::Digest& dependencyDigest, cons void PersistentShaderCache::updateEntry( LinkedNode<ShaderCacheEntry>* entryNode, const slang::Digest& dependencyDigest, - const slang::Digest& astDigest, + const slang::Digest& contentsDigest, ISlangBlob* updatedCode) { if (!mutableShaderCacheFileSystem) @@ -143,7 +143,7 @@ void PersistentShaderCache::updateEntry( return; } - entryNode->Value.astBasedDigest = astDigest; + entryNode->Value.contentsBasedDigest = contentsDigest; mutableShaderCacheFileSystem->saveFileBlob(DigestUtil::toString(dependencyDigest).getBuffer(), updatedCode); saveCacheToFile(); @@ -162,7 +162,7 @@ void PersistentShaderCache::saveCacheToFile() { indexSb << entry.dependencyBasedDigest; indexSb << " "; - indexSb << entry.astBasedDigest; + indexSb << entry.contentsBasedDigest; indexSb << "\n"; } |
