D3D12_DESCRIPTOR_RANGE structure (d3d12.h)
Describes a descriptor range.
Syntax
typedef struct D3D12_DESCRIPTOR_RANGE {
D3D12_DESCRIPTOR_RANGE_TYPE RangeType;
UINT NumDescriptors;
UINT BaseShaderRegister;
UINT RegisterSpace;
UINT OffsetInDescriptorsFromTableStart;
} D3D12_DESCRIPTOR_RANGE;
Members
RangeType
A D3D12_DESCRIPTOR_RANGE_TYPE-typed value that specifies the type of descriptor range.
NumDescriptors
The number of descriptors in the range. Use -1 or UINT_MAX to specify an unbounded size. If a given descriptor range is unbounded, then it must either be the last range in the table definition, or else the following range in the table definition must have a value for OffsetInDescriptorsFromTableStart that is not D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND.
BaseShaderRegister
The base shader register in the range. For example, for shader-resource views (SRVs), 3 maps to ": register(t3);" in HLSL.
RegisterSpace
The register space. Can typically be 0, but allows multiple descriptor arrays of unknown size to not appear to overlap. For example, for SRVs, by extending the example in the BaseShaderRegister member description, 5 maps to ": register(t3,space5);" in HLSL.
OffsetInDescriptorsFromTableStart
The offset in descriptors, from the start of the descriptor table which was set as the root argument value for this parameter slot. This value can be D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND, which indicates this range should immediately follow the preceding range.
Remarks
This structure is a member of the D3D12_ROOT_DESCRIPTOR_TABLE structure.
Requirements
Requirement | Value |
---|---|
Header | d3d12.h |