From 4c76b275907cf2d764f3fc51468d1c58635a10c1 Mon Sep 17 00:00:00 2001 From: Theresa Foley <10618364+tangent-vector@users.noreply.github.com> Date: Mon, 12 May 2025 10:28:05 -0700 Subject: Cleanups related to RIFF support (#7041) --- source/slang/slang-serialize-types.cpp | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) (limited to 'source/slang/slang-serialize-types.cpp') 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; } -- cgit v1.2.3