15using namespace object;
17size_t DXContainerWriter::finalize() {
19 "Attempted to finalize writer with already computed offsets");
22 for (
const Part &
P : Obj.
Parts) {
30 size_t TotalSize = finalize();
36 Out.
write(
reinterpret_cast<const char *
>(&Header),
39 for (
auto &O : Offsets)
41 Out.
write(
reinterpret_cast<const char *
>(Offsets.data()),
45 Out.
write(
reinterpret_cast<const char *
>(
P.Name.data()), 4);
50 Out.
write(
reinterpret_cast<const char *
>(
P.Data.data()),
P.Data.size());
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
Lightweight error class with error context and mandatory checking.
static ErrorSuccess success()
Create a success value.
void reserve(size_type N)
void push_back(const T &Elt)
raw_ostream & write(unsigned char C)
virtual void reserveExtraSpace(uint64_t ExtraSize)
If possible, pre-allocate ExtraSize bytes for stream data.
constexpr bool IsBigEndianHost
void swapByteOrder(T &Value)
This is an optimization pass for GlobalISel generic memory operations.
size_t headerSize() const
::llvm::dxbc::Header Header
SmallVector< Part > Parts