LLVM 22.0.0git
|
Classes | |
struct | DescriptorTable |
struct | DescriptorTableClause |
class | GenericRSMetadataError |
class | InvalidRSMetadataFormat |
class | InvalidRSMetadataValue |
class | MetadataBuilder |
class | MetadataParser |
struct | Register |
struct | RootConstants |
struct | RootDescriptor |
class | RootSignatureValidationError |
struct | StaticSampler |
Typedefs | |
using | RootElement |
Models RootElement : RootFlags | RootConstants | RootParam | DescriptorTable | DescriptorTableClause | StaticSampler. |
Enumerations | |
enum class | RegisterType { BReg , TReg , UReg , SReg } |
enum class | RootSignatureElementKind { Error = 0 , RootFlags = 1 , RootConstants = 2 , SRV = 3 , UAV = 4 , CBV = 5 , DescriptorTable = 6 , StaticSamplers = 7 } |
Variables | |
static const uint32_t | NumDescriptorsUnbounded = 0xffffffff |
static const uint32_t | DescriptorTableOffsetAppend = 0xffffffff |
static const EnumEntry< RegisterType > | RegisterNames [] |
template<typename T> | |
char | RootSignatureValidationError< T >::ID |
Models RootElement : RootFlags | RootConstants | RootParam | DescriptorTable | DescriptorTableClause | StaticSampler.
A Root Signature is modeled in-memory by an array of RootElements. These aim to map closely to their DSL grammar reprsentation defined in the spec.
Each optional parameter has its default value defined in the struct, and, each mandatory parameter does not have a default initialization.
For the variants RootFlags, RootConstants, RootParam, StaticSampler and DescriptorTableClause: each data member maps directly to a parameter in the grammar.
The DescriptorTable is modelled by having its Clauses as the previous RootElements in the array, and it holds a data member for the Visibility parameter.
Definition at line 152 of file HLSLRootSignature.h.
|
strong |
Enumerator | |
---|---|
BReg | |
TReg | |
UReg | |
SReg |
Definition at line 31 of file HLSLRootSignature.h.
|
strong |
Enumerator | |
---|---|
Error | |
RootFlags | |
RootConstants | |
SRV | |
UAV | |
CBV | |
DescriptorTable | |
StaticSamplers |
Definition at line 130 of file RootSignatureMetadata.h.
Definition at line 177 of file RootSignatureValidations.cpp.
References assert(), NumDescriptorsUnbounded, llvm::Offset, and Size.
void llvm::hlsl::rootsig::dumpRootElements | ( | raw_ostream & | OS, |
ArrayRef< RootElement > | Elements ) |
Definition at line 203 of file HLSLRootSignature.cpp.
References llvm::First.
|
static |
Definition at line 40 of file RootSignatureMetadata.cpp.
References llvm::mdconst::dyn_extract().
|
static |
Definition at line 32 of file RootSignatureMetadata.cpp.
References llvm::mdconst::dyn_extract().
Referenced by extractShaderVisibility().
|
static |
Definition at line 47 of file RootSignatureMetadata.cpp.
References llvm::dyn_cast(), and llvm::MDString::getString().
|
static |
Definition at line 56 of file RootSignatureMetadata.cpp.
References extractMdIntValue(), llvm::dxbc::isValidShaderVisibility(), and llvm::make_error().
raw_ostream & llvm::hlsl::rootsig::operator<< | ( | raw_ostream & | OS, |
const DescriptorTable & | Table ) |
Definition at line 132 of file HLSLRootSignature.cpp.
References llvm::hlsl::rootsig::DescriptorTable::NumClauses, and llvm::hlsl::rootsig::DescriptorTable::Visibility.
raw_ostream & llvm::hlsl::rootsig::operator<< | ( | raw_ostream & | OS, |
const DescriptorTableClause & | Clause ) |
Definition at line 139 of file HLSLRootSignature.cpp.
References DescriptorTableOffsetAppend, and NumDescriptorsUnbounded.
|
static |
Definition at line 82 of file HLSLRootSignature.cpp.
References llvm::enumToStringRef(), and llvm::dxbc::getComparisonFuncs().
|
static |
Definition at line 102 of file HLSLRootSignature.cpp.
References llvm::dxbc::getRootDescriptorFlags(), and printFlags().
raw_ostream & llvm::hlsl::rootsig::operator<< | ( | raw_ostream & | OS, |
const dxbc::RootFlags & | Flags ) |
The following contains the serialization interface for root elements.
Definition at line 116 of file HLSLRootSignature.cpp.
References llvm::dxbc::getRootFlags(), and printFlags().
|
static |
Definition at line 89 of file HLSLRootSignature.cpp.
References llvm::enumToStringRef(), and llvm::dxbc::getStaticBorderColors().
|
static |
Definition at line 75 of file HLSLRootSignature.cpp.
References llvm::Address, llvm::enumToStringRef(), and llvm::dxbc::getTextureAddressModes().
|
static |
Definition at line 96 of file HLSLRootSignature.cpp.
References llvm::dxil::getResourceClassName().
|
static |
Definition at line 109 of file HLSLRootSignature.cpp.
References llvm::dxbc::getDescriptorRangeFlags(), and printFlags().
|
static |
Definition at line 68 of file HLSLRootSignature.cpp.
References llvm::enumToStringRef(), llvm::Filter, and llvm::dxbc::getSamplerFilters().
|
static |
Definition at line 61 of file HLSLRootSignature.cpp.
References llvm::enumToStringRef(), and llvm::dxbc::getShaderVisibility().
|
static |
Definition at line 55 of file HLSLRootSignature.cpp.
References llvm::enumToStringRef(), Reg, and RegisterNames.
raw_ostream & llvm::hlsl::rootsig::operator<< | ( | raw_ostream & | OS, |
const RootConstants & | Constants ) |
Definition at line 124 of file HLSLRootSignature.cpp.
raw_ostream & llvm::hlsl::rootsig::operator<< | ( | raw_ostream & | OS, |
const RootDescriptor & | Descriptor ) |
raw_ostream & llvm::hlsl::rootsig::operator<< | ( | raw_ostream & | OS, |
const RootElement & | Element ) |
Definition at line 190 of file HLSLRootSignature.cpp.
raw_ostream & llvm::hlsl::rootsig::operator<< | ( | raw_ostream & | OS, |
const StaticSampler & | StaticSampler ) |
Definition at line 164 of file HLSLRootSignature.cpp.
|
static |
Definition at line 22 of file HLSLRootSignature.cpp.
References llvm::countr_zero(), llvm::StringRef::empty(), llvm::enumToStringRef(), T, and llvm::to_underlying().
Referenced by operator<<(), operator<<(), and operator<<().
Definition at line 129 of file RootSignatureValidations.cpp.
References llvm::Address.
Definition at line 157 of file RootSignatureValidations.cpp.
Definition at line 169 of file RootSignatureValidations.cpp.
References NumDescriptorsUnbounded, and llvm::Offset.
Definition at line 147 of file RootSignatureValidations.cpp.
bool llvm::hlsl::rootsig::verifyDescriptorRangeFlag | ( | uint32_t | Version, |
dxil::ResourceClass | Type, | ||
dxbc::DescriptorRangeFlags | FlagsVal ) |
Definition at line 54 of file RootSignatureValidations.cpp.
References llvm::popcount(), llvm::dxil::Sampler, llvm::to_underlying(), and llvm::Version.
bool llvm::hlsl::rootsig::verifyLOD | ( | float | LOD | ) |
Definition at line 167 of file RootSignatureValidations.cpp.
Definition at line 143 of file RootSignatureValidations.cpp.
bool llvm::hlsl::rootsig::verifyMipLODBias | ( | float | MipLODBias | ) |
Definition at line 139 of file RootSignatureValidations.cpp.
Definition at line 173 of file RootSignatureValidations.cpp.
References llvm::Offset.
Definition at line 114 of file RootSignatureValidations.cpp.
References llvm::Address, LLVM_ABI, llvm::Offset, Size, and llvm::Version.
Definition at line 31 of file RootSignatureValidations.cpp.
Definition at line 25 of file RootSignatureValidations.cpp.
Definition at line 35 of file RootSignatureValidations.cpp.
References assert(), llvm::popcount(), llvm::to_underlying(), and llvm::Version.
Definition at line 21 of file RootSignatureValidations.cpp.
Definition at line 118 of file RootSignatureValidations.cpp.
Definition at line 23 of file RootSignatureValidations.cpp.
References llvm::Version.
Definition at line 85 of file HLSLRootSignature.h.
Referenced by operator<<().
Definition at line 84 of file HLSLRootSignature.h.
Referenced by computeRangeBound(), operator<<(), and verifyBoundOffset().
|
static |
Definition at line 48 of file HLSLRootSignature.cpp.
Referenced by operator<<().
char llvm::hlsl::rootsig::RootSignatureValidationError< T >::ID |
Definition at line 30 of file RootSignatureMetadata.cpp.