> ## 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_ROOT_DESCRIPTOR_FLAGS

> Specifies the volatility of the data referenced by descriptors in a Root Signature 1.1 description, which can enable some driver optimizations.

Specifies the volatility of the data referenced by descriptors in a Root Signature 1.1 description, which can enable some driver optimizations.

## Syntax

```cpp theme={null}
typedef enum D3D12_ROOT_DESCRIPTOR_FLAGS
{
    D3D12_ROOT_DESCRIPTOR_FLAG_NONE = 0,
    D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE = 2,
    D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 4,
    D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC = 8
} D3D12_ROOT_DESCRIPTOR_FLAGS
```

## Constants

| Constant                                                             | Description                                                                                                              |
| -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| D3D12\_ROOT\_DESCRIPTOR\_FLAG\_NONE                                  | Default assumptions are made for data (for SRV/CBV: DATA\_STATIC\_WHILE\_SET\_AT\_EXECUTE, and for UAV: DATA\_VOLATILE). |
| D3D12\_ROOT\_DESCRIPTOR\_FLAG\_DATA\_VOLATILE                        | Data is volatile. Equivalent to Root Signature Version 1.0.                                                              |
| D3D12\_ROOT\_DESCRIPTOR\_FLAG\_DATA\_STATIC\_WHILE\_SET\_AT\_EXECUTE | Data is static while set at execute.                                                                                     |
| D3D12\_ROOT\_DESCRIPTOR\_FLAG\_DATA\_STATIC                          | Data is static. The best potential for driver optimization.                                                              |

## Remarks

This enum is used by the [D3D12\_ROOT\_DESCRIPTOR1](/reference/graphics/d3d12/structs/d3d12_root_descriptor1_public) structure.

To specify the volatility of both descriptors and data, refer to [D3D12\_DESCRIPTOR\_RANGE\_FLAGS](/reference/graphics/d3d12/enums/d3d12_descriptor_range_flags_public).

## 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 Enumerations](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/direct3d-12-enumerations)

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


## Related topics

- [D3D12_ROOT_DESCRIPTOR1](/reference/graphics/d3d12/structs/d3d12_root_descriptor1_public.md)
- [D3D12_DESCRIPTOR_RANGE_FLAGS](/reference/graphics/d3d12/enums/d3d12_descriptor_range_flags_public.md)
- [GetRootSignatureDescAtVersion](/reference/graphics/d3d12/interfaces/id3d12versionedrootsignaturedeserializer/methods/id3d12versionedrootsignaturedeserializer_getrootsignaturedescatversion_public.md)
- [D3D12_ROOT_DESCRIPTOR](/reference/graphics/d3d12/structs/d3d12_root_descriptor_public.md)
- [D3D12_DESCRIPTOR_RANGE1](/reference/graphics/d3d12/structs/d3d12_descriptor_range1_public.md)
