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

> Defines flags that specify states related to a graphics command list. Values can be bitwise OR'd together.

Defines flags that specify states related to a graphics command list. Values can be bitwise OR'd together.

## Syntax

```cpp theme={null}
typedef enum D3D12_GRAPHICS_STATES
{
    D3D12_GRAPHICS_STATE_NONE = 0,
    D3D12_GRAPHICS_STATE_IA_VERTEX_BUFFERS = 0,
    D3D12_GRAPHICS_STATE_IA_INDEX_BUFFER = 0,
    D3D12_GRAPHICS_STATE_IA_PRIMITIVE_TOPOLOGY = 0,
    D3D12_GRAPHICS_STATE_DESCRIPTOR_HEAP = 0,
    D3D12_GRAPHICS_STATE_GRAPHICS_ROOT_SIGNATURE = 0,
    D3D12_GRAPHICS_STATE_COMPUTE_ROOT_SIGNATURE = 0,
    D3D12_GRAPHICS_STATE_RS_VIEWPORTS = 0,
    D3D12_GRAPHICS_STATE_RS_SCISSOR_RECTS = 0,
    D3D12_GRAPHICS_STATE_PREDICATION = 0,
    D3D12_GRAPHICS_STATE_OM_RENDER_TARGETS = 0,
    D3D12_GRAPHICS_STATE_OM_STENCIL_REF = 0,
    D3D12_GRAPHICS_STATE_OM_BLEND_FACTOR = 0,
    D3D12_GRAPHICS_STATE_PIPELINE_STATE = 0,
    D3D12_GRAPHICS_STATE_SO_TARGETS = 0,
    D3D12_GRAPHICS_STATE_OM_DEPTH_BOUNDS = 0,
    D3D12_GRAPHICS_STATE_SAMPLE_POSITIONS = 0,
    D3D12_GRAPHICS_STATE_VIEW_INSTANCE_MASK = 0
} D3D12_GRAPHICS_STATES
```

## Constants

| Constant                                          | Description                                                                                        |
| ------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| D3D12\_GRAPHICS\_STATE\_NONE                      | Specifies no state.                                                                                |
| D3D12\_GRAPHICS\_STATE\_IA\_VERTEX\_BUFFERS       | Specifies the state of the vertex buffer bindings on the input assembler stage.                    |
| D3D12\_GRAPHICS\_STATE\_IA\_INDEX\_BUFFER         | Specifies the state of the index buffer binding on the input assembler stage.                      |
| D3D12\_GRAPHICS\_STATE\_IA\_PRIMITIVE\_TOPOLOGY   | Specifies the state of the primitive topology value set on the input assembler stage.              |
| D3D12\_GRAPHICS\_STATE\_DESCRIPTOR\_HEAP          | Specifies the state of the currently bound descriptor heaps.                                       |
| D3D12\_GRAPHICS\_STATE\_GRAPHICS\_ROOT\_SIGNATURE | Specifies the state of the currently set graphics root signature.                                  |
| D3D12\_GRAPHICS\_STATE\_COMPUTE\_ROOT\_SIGNATURE  | Specifies the state of the currently set compute root signature.                                   |
| D3D12\_GRAPHICS\_STATE\_RS\_VIEWPORTS             | Specifies the state of the viewports bound to the rasterizer stage.                                |
| D3D12\_GRAPHICS\_STATE\_RS\_SCISSOR\_RECTS        | Specifies the state of the scissor rectangles bound to the rasterizer stage.                       |
| D3D12\_GRAPHICS\_STATE\_PREDICATION               | Specifies the predicate state.                                                                     |
| D3D12\_GRAPHICS\_STATE\_OM\_RENDER\_TARGETS       | Specifies the state of the render targets bound to the output merger stage.                        |
| D3D12\_GRAPHICS\_STATE\_OM\_STENCIL\_REF          | Specifies the state of the reference value for depth stencil tests set on the output merger stage. |
| D3D12\_GRAPHICS\_STATE\_OM\_BLEND\_FACTOR         | Specifies the state of the blend factor set on the output merger stage.                            |
| D3D12\_GRAPHICS\_STATE\_PIPELINE\_STATE           | Specifies the state of the pipeline state object.                                                  |
| D3D12\_GRAPHICS\_STATE\_SO\_TARGETS               | Specifies the state of the buffer views bound to the stream output stage.                          |
| D3D12\_GRAPHICS\_STATE\_OM\_DEPTH\_BOUNDS         | Specifies the state of the depth bounds set on the output merger stage.                            |
| D3D12\_GRAPHICS\_STATE\_SAMPLE\_POSITIONS         | Specifies the state of the sample positions.                                                       |
| D3D12\_GRAPHICS\_STATE\_VIEW\_INSTANCE\_MASK      | Specifies the state of the view instances mask.                                                    |

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


## Related topics

- [D3D12_META_COMMAND_DESC](/reference/graphics/d3d12/structs/d3d12_meta_command_desc_public.md)
- [D3D12_TRI_STATE](/reference/graphics/d3d12/enums/d3d12_tri_state_public.md)
- [D3D12_STATE_SUBOBJECT_TYPE](/reference/graphics/d3d12/enums/d3d12_state_subobject_type_public.md)
- [D3D12_STATE_SUBOBJECT](/reference/graphics/d3d12/structs/d3d12_state_subobject_public.md)
- [D3D12_LIFETIME_STATE](/reference/graphics/d3d12/enums/d3d12_lifetime_state_public.md)
