================ @@ -12,44 +12,59 @@ using namespace llvm; using namespace llvm::mcdxbc; +void setRewrite(raw_ostream &Stream, uint32_t &Offset) { + const uint32_t DummyValue = std::numeric_limits<uint32_t>::max(); + Offset = Stream.tell(); + support::endian::write(Stream, DummyValue, llvm::endianness::little); +} + +void rewriteOffset(buffer_ostream &Stream, uint32_t Offset) { + uint32_t Value = Stream.tell(); + auto *InsertPoint = &Stream.buffer()[Offset]; + support::endian::write(InsertPoint, Value, llvm::endianness::little); +} + void RootSignatureDesc::write(raw_ostream &OS) const { - // Root signature header in dxcontainer has 6 uint_32t values. - const uint32_t HeaderSize = 24; - const uint32_t ParameterByteSize = Parameters.size_in_bytes(); - const uint32_t NumParametes = Parameters.size(); + buffer_ostream Writer(OS); ---------------- damyanp wrote:
Not convinced "Writer" is an appropriate name now. BOS? BS? ```suggestion buffer_ostream BOS(OS); ``` https://github.com/llvm/llvm-project/pull/128577 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits