LLVM: lib/MC/DXContainerRootSignature.cpp Source File (original) (raw)

1

2

3

4

5

6

7

8

12

13using namespace llvm;

15

17 const uint32_t DummyValue = std::numeric_limits<uint32_t>::max();

21}

22

29 return ByteOffset;

30}

31

41

45

48

51 switch (I.Type) {

52 case dxbc::RootParameterType::Constants32Bit:

54 break;

55 case dxbc::RootParameterType::CBV:

56 case dxbc::RootParameterType::SRV:

57 case dxbc::RootParameterType::UAV:

60 else

62

63 break;

64 case dxbc::RootParameterType::DescriptorTable:

67

68

69

73 else

75 break;

76 }

77 }

78

80}

81

86

95

100

102 }

103

104 assert(NumParameters == ParamsOffsets.size());

105 for (size_t I = 0; I < NumParameters; ++I) {

108 switch (Info.Type) {

109 case dxbc::RootParameterType::Constants32Bit: {

118 break;

119 }

120 case dxbc::RootParameterType::CBV:

121 case dxbc::RootParameterType::SRV:

122 case dxbc::RootParameterType::UAV: {

125

132 break;

133 }

134 case dxbc::RootParameterType::DescriptorTable: {

140 for (const auto &Range : Table) {

153 }

154 break;

155 }

156 }

157 }

160 "Computed offset does not match written offset");

175

178 }

181}

assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")

static uint32_t rewriteOffsetToCurrentByte(raw_svector_ostream &Stream, uint32_t Offset)

Definition DXContainerRootSignature.cpp:23

static uint32_t writePlaceholder(raw_svector_ostream &Stream)

Definition DXContainerRootSignature.cpp:16

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.

value_type byte_swap(value_type value, endianness endian)

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< DescriptorRange > Ranges

uint32_t RootParameterOffset

LLVM_ABI uint32_t computeRootParametersOffset() const

Definition DXContainerRootSignature.cpp:42

LLVM_ABI size_t getSize() const

Definition DXContainerRootSignature.cpp:32

LLVM_ABI void write(raw_ostream &OS) const

Definition DXContainerRootSignature.cpp:82

SmallVector< StaticSampler > StaticSamplers

LLVM_ABI uint32_t computeStaticSamplersOffset() const

Definition DXContainerRootSignature.cpp:46

mcdxbc::RootParametersContainer ParametersContainer

uint32_t StaticSamplersOffset