17 const uint32_t DummyValue = std::numeric_limits<uint32_t>::max();
27 support::endian::byte_swap<uint32_t, llvm::endianness::little>(
35 size_t StaticSamplersSize =
51 case dxbc::RootParameterType::Constants32Bit:
54 case dxbc::RootParameterType::CBV:
55 case dxbc::RootParameterType::SRV:
56 case dxbc::RootParameterType::UAV:
63 case dxbc::RootParameterType::DescriptorTable:
103 assert(NumParameters == ParamsOffsets.
size());
104 for (
size_t I = 0;
I < NumParameters; ++
I) {
108 case dxbc::RootParameterType::Constants32Bit: {
119 case dxbc::RootParameterType::CBV:
120 case dxbc::RootParameterType::SRV:
121 case dxbc::RootParameterType::UAV: {
133 case dxbc::RootParameterType::DescriptorTable: {
139 for (
const auto &
Range : Table) {
158 "Computed offset does not match written offset");
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
Analysis containing CSE Info
static uint32_t rewriteOffsetToCurrentByte(raw_svector_ostream &Stream, uint32_t Offset)
static uint32_t writePlaceholder(raw_svector_ostream &Stream)
ConstantRange Range(APInt(BitWidth, Low), APInt(BitWidth, High))
This file defines the SmallString class.
SmallString - A SmallString is just a SmallVector with methods and accessors that make it work better...
void push_back(const T &Elt)
pointer data()
Return a pointer to the vector's buffer, even if empty().
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
LLVM Value Representation.
This class implements an extremely fast bulk output stream that can only output to a stream.
uint64_t tell() const
tell - Return the current offset with the file.
raw_ostream & write(unsigned char C)
void pwrite(const char *Ptr, size_t Size, uint64_t Offset)
A raw_ostream that writes to an SmallVector or SmallString.
void reserveExtraSpace(uint64_t ExtraSize) override
If possible, pre-allocate ExtraSize bytes for stream data.
void write(void *memory, value_type value, endianness endian)
Write a value to memory with a particular endianness.
This is an optimization pass for GlobalISel generic memory operations.
SmallVector< dxbc::RTS0::v2::DescriptorRange > Ranges
const RootDescriptor & getRootDescriptor(size_t Index) const
const DescriptorTable & getDescriptorTable(size_t Index) const
const RootConstants & getConstant(size_t Index) const
const RootParameterInfo & getInfo(uint32_t Location) const
uint32_t RootParameterOffset
LLVM_ABI uint32_t computeRootParametersOffset() const
LLVM_ABI size_t getSize() const
LLVM_ABI void write(raw_ostream &OS) const
LLVM_ABI uint32_t computeStaticSamplersOffset() const
SmallVector< dxbc::RTS0::v1::StaticSampler > StaticSamplers
mcdxbc::RootParametersContainer ParametersContainer
uint32_t StaticSamplersOffset