> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# D3D12_DESCRIPTOR_RANGE1

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

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

## Syntax

```cpp theme={null}
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*\
Type: D3D12\_DESCRIPTOR\_RANGE\_TYPE

A [D3D12\_DESCRIPTOR\_RANGE\_TYPE](/reference/graphics/d3d12/enums/d3d12_descriptor_range_type_public)-typed value that specifies the type of descriptor range.

*NumDescriptors*\
Type: UINT

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*\
Type: UINT

The base shader register in the range. For example, for shader-resource views (SRVs), 3 maps to ": register(t3);" in HLSL.

*RegisterSpace*\
Type: UINT

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*\
Type: D3D12\_DESCRIPTOR\_RANGE\_FLAGS

Specifies the [D3D12\_DESCRIPTOR\_RANGE\_FLAGS](/reference/graphics/d3d12/enums/d3d12_descriptor_range_flags_public) that determine descriptor and data volatility.

*OffsetInDescriptorsFromTableStart*\
Type: UINT

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](/reference/graphics/d3d12/structs/d3d12_root_descriptor_table1_public) structure.

Refer to the helper structure [CD3DX12\_DESCRIPTOR\_RANGE1](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/cd3dx12-descriptor-range1).

## Requirements

**Header:** d3d12\_xs.h or d3d12\_x.h\
**Library:** d3d12\_xs.lib or d3d12\_x.lib\
**Supported Platforms**: XBOX Series consoles and XBOX One family

## See Also

[Core Structures](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/direct3d-12-structures)

[Root Signature Version 1.1](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/root-signature-version-1-1)


## Related topics

- [D3D12_ROOT_DESCRIPTOR_TABLE1](/reference/graphics/d3d12/structs/d3d12_root_descriptor_table1_public.md)
- [D3D12_DESCRIPTOR_RANGE_FLAGS](/reference/graphics/d3d12/enums/d3d12_descriptor_range_flags_public.md)
- [D3D12_ROOT_DESCRIPTOR_TABLE](/reference/graphics/d3d12/structs/d3d12_root_descriptor_table_public.md)
- [D3D12_FEATURE_DATA_ARCHITECTURE1](/reference/graphics/d3d12/structs/d3d12_feature_data_architecture1_public.md)
- [D3D12_ROOT_DESCRIPTOR](/reference/graphics/d3d12/structs/d3d12_root_descriptor_public.md)
