D3D12_DESCRIPTOR_RANGE1 structure (d3d12.h)

Describes a descriptor range, with flags to determine their volatility.

Syntax

typedef struct D3D12_DESCRIPTOR_RANGE1 {
  D3D12_DESCRIPTOR_RANGE_TYPE  RangeType;
  UINT                         NumDescriptors;
  UINT                         BaseShaderRegister;
  UINT                         RegisterSpace;
  D3D12_DESCRIPTOR_RANGE_FLAGS Flags;
  UINT                         OffsetInDescriptorsFromTableStart;
} D3D12_DESCRIPTOR_RANGE1;

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 unbounded size. Only the last entry in a table can have unbounded size.

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.

Flags

Specifies the D3D12_DESCRIPTOR_RANGE_FLAGS that determine descriptor and data volatility.

OffsetInDescriptorsFromTableStart

The offset in descriptors from the start of the root signature. 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_TABLE1 structure.

Refer to the helper structure CD3DX12_DESCRIPTOR_RANGE1.

Requirements

Requirement Value
Header d3d12.h

See also

Core Structures

Root Signature Version 1.1