LLVM 22.0.0git
|
Classes | |
struct | DescriptorTable |
struct | DescriptorTableClause |
class | GenericRSMetadataError |
class | InvalidRSMetadataFormat |
class | InvalidRSMetadataValue |
class | MetadataBuilder |
class | MetadataParser |
class | OffsetAppendAfterOverflow |
class | OffsetOverflowError |
struct | Register |
struct | RootConstants |
struct | RootDescriptor |
class | RootSignatureValidationError |
class | ShaderRegisterOverflowError |
struct | StaticSampler |
class | TableSamplerMixinError |
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 215 of file RootSignatureMetadata.h.
Definition at line 153 of file RootSignatureValidations.cpp.
References assert(), NumDescriptorsUnbounded, llvm::Offset, and Size.
Referenced by validateDescriptorTableRegisterOverflow().
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 64 of file RootSignatureMetadata.cpp.
References extractMdIntValue(), llvm::make_error(), and T.
|
static |
Definition at line 45 of file RootSignatureMetadata.cpp.
References llvm::mdconst::dyn_extract().
|
static |
Definition at line 37 of file RootSignatureMetadata.cpp.
References llvm::mdconst::dyn_extract().
Referenced by extractEnumValue().
|
static |
Definition at line 52 of file RootSignatureMetadata.cpp.
References llvm::dyn_cast(), and llvm::MDString::getString().
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<<().
|
static |
Definition at line 561 of file RootSignatureMetadata.cpp.
References computeRangeBound(), DescriptorTableOffsetAppend, llvm::make_error(), NumDescriptorsUnbounded, llvm::Offset, Range, llvm::mcdxbc::DescriptorTable::Ranges, llvm::Error::success(), and verifyNoOverflowedOffset().
|
static |
Definition at line 548 of file RootSignatureMetadata.cpp.
References llvm::make_error(), Range, llvm::mcdxbc::DescriptorTable::Ranges, llvm::dxil::Sampler, and llvm::Error::success().
bool llvm::hlsl::rootsig::verifyDescriptorRangeFlag | ( | uint32_t | Version, |
dxil::ResourceClass | Type, | ||
dxbc::DescriptorRangeFlags | FlagsVal ) |
Definition at line 56 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 147 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 149 of file RootSignatureValidations.cpp.
References llvm::Offset.
Referenced by validateDescriptorTableRegisterOverflow().
Definition at line 135 of file RootSignatureValidations.cpp.
References LLVM_ABI, llvm::Offset, Size, and llvm::Version.
Definition at line 33 of file RootSignatureValidations.cpp.
Definition at line 27 of file RootSignatureValidations.cpp.
Definition at line 37 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 116 of file RootSignatureValidations.cpp.
References assert(), llvm::NextPowerOf2(), llvm::to_underlying(), and llvm::Version.
Definition at line 23 of file RootSignatureValidations.cpp.
References llvm::Version.
Definition at line 85 of file HLSLRootSignature.h.
Referenced by operator<<(), and validateDescriptorTableRegisterOverflow().
Definition at line 84 of file HLSLRootSignature.h.
Referenced by computeRangeBound(), operator<<(), and validateDescriptorTableRegisterOverflow().
|
static |
Definition at line 48 of file HLSLRootSignature.cpp.
Referenced by operator<<().
char llvm::hlsl::rootsig::RootSignatureValidationError< T >::ID |
Definition at line 35 of file RootSignatureMetadata.cpp.