diff options
| author | Yong He <yonghe@outlook.com> | 2025-01-22 09:40:15 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-01-22 09:40:15 -0800 |
| commit | 8000e0ede34e920cc7f37d69a335d74a472eff42 (patch) | |
| tree | ccf7b3c7fb97d3d5df3afd38fde9e3221e3349de /source/slang-record-replay/replay/parameter-decoder.cpp | |
| parent | 04353fb7602b7eb6a8b86193510ebe0c670b7724 (diff) | |
Cache and reuse glsl module. (#6152)
* Cache and reuse glsl module.
* Fix.
* Implement record/replay for the new api.
* Fix record replay.
* Fix test.
Diffstat (limited to 'source/slang-record-replay/replay/parameter-decoder.cpp')
| -rw-r--r-- | source/slang-record-replay/replay/parameter-decoder.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/source/slang-record-replay/replay/parameter-decoder.cpp b/source/slang-record-replay/replay/parameter-decoder.cpp index 824b69de8..afe4f716d 100644 --- a/source/slang-record-replay/replay/parameter-decoder.cpp +++ b/source/slang-record-replay/replay/parameter-decoder.cpp @@ -71,6 +71,30 @@ size_t ParameterDecoder::decodePointer( size_t ParameterDecoder::decodeStruct( const uint8_t* buffer, int64_t bufferSize, + ValueDecoder<SlangGlobalSessionDesc>& sessionDesc) +{ + SLANG_RECORD_ASSERT((buffer != nullptr) && (bufferSize > 0)); + + if (bufferSize < (int64_t)sizeof(uint64_t)) + { + return 0; + } + + size_t readByte = 0; + SlangGlobalSessionDesc& desc = sessionDesc.getValue(); + readByte = decodeUint32(buffer, bufferSize, desc.structureSize); + readByte += decodeUint32(buffer + readByte, bufferSize - readByte, desc.apiVersion); + readByte += decodeUint32(buffer + readByte, bufferSize - readByte, desc.languageVersion); + uint32_t val = 0; + readByte += decodeUint32(buffer + readByte, bufferSize - readByte, val); + desc.enableGLSL = (val != 0); + + return readByte; +} + +size_t ParameterDecoder::decodeStruct( + const uint8_t* buffer, + int64_t bufferSize, ValueDecoder<slang::SessionDesc>& sessionDesc) { SLANG_RECORD_ASSERT((buffer != nullptr) && (bufferSize > 0)); |
