diff options
| author | Theresa Foley <10618364+tangent-vector@users.noreply.github.com> | 2025-05-12 10:28:05 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-12 17:28:05 +0000 |
| commit | 4c76b275907cf2d764f3fc51468d1c58635a10c1 (patch) | |
| tree | 201a353c2b64b258760c370e641821ec5f6eff85 /source/slang/slang-serialize-types.cpp | |
| parent | 6b286bfbdf85e40cac1ee325384f535df969938a (diff) | |
Cleanups related to RIFF support (#7041)
Diffstat (limited to 'source/slang/slang-serialize-types.cpp')
| -rw-r--r-- | source/slang/slang-serialize-types.cpp | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/source/slang/slang-serialize-types.cpp b/source/slang/slang-serialize-types.cpp index 2e6e56bb4..ca3bde608 100644 --- a/source/slang/slang-serialize-types.cpp +++ b/source/slang/slang-serialize-types.cpp @@ -149,41 +149,38 @@ struct ByteReader const void* data, size_t numEntries, size_t typeSize, - RiffContainer* container) + RIFF::BuildCursor& cursor) { - typedef RiffContainer::Chunk Chunk; - typedef RiffContainer::ScopeChunk ScopeChunk; - if (numEntries == 0) { return SLANG_OK; } - ScopeChunk scope(container, Chunk::Kind::Data, chunkId); + SLANG_SCOPED_RIFF_BUILDER_DATA_CHUNK(cursor, chunkId); SerialBinary::ArrayHeader header; header.numEntries = uint32_t(numEntries); - container->write(&header, sizeof(header)); - container->write(data, typeSize * numEntries); + cursor.addData(&header, sizeof(header)); + cursor.addData(data, typeSize * numEntries); return SLANG_OK; } /* static */ Result SerialRiffUtil::readArrayChunk( - RiffContainer::DataChunk* dataChunk, + RIFF::DataChunk const* dataChunk, ListResizer& listOut) { typedef SerialBinary Bin; - RiffReadHelper read = dataChunk->asReadHelper(); - const size_t typeSize = listOut.getTypeSize(); + MemoryReader reader(dataChunk->getPayload(), dataChunk->getPayloadSize()); + const Size typeSize = listOut.getTypeSize(); Bin::ArrayHeader header; - SLANG_RETURN_ON_FAIL(read.read(header)); - const size_t payloadSize = header.numEntries * typeSize; - SLANG_ASSERT(payloadSize == read.getRemainingSize()); + SLANG_RETURN_ON_FAIL(reader.read(header)); + const Size payloadSize = header.numEntries * typeSize; + SLANG_ASSERT(payloadSize == reader.getRemainingSize()); void* dst = listOut.setSize(header.numEntries); - ::memcpy(dst, read.getData(), payloadSize); + ::memcpy(dst, reader.getRemainingData(), payloadSize); return SLANG_OK; } |
