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

# D3D12_SHADER_CACHE_SUPPORT_FLAGS

> Describes the level of support for shader caching in the current graphics driver. (D3D12_SHADER_CACHE_SUPPORT_FLAGS)

Describes the level of support for shader caching in the current graphics driver.

## Syntax

```cpp theme={null}
typedef enum D3D12_SHADER_CACHE_SUPPORT_FLAGS
{
    D3D12_SHADER_CACHE_SUPPORT_NONE = 0,
    D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO = 1,
    D3D12_SHADER_CACHE_SUPPORT_LIBRARY = 2,
    D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE = 4,
    D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE = 8
} D3D12_SHADER_CACHE_SUPPORT_FLAGS
```

## Constants

| Constant | Description |
| - | - |
| D3D12\_SHADER\_CACHE\_SUPPORT\_NONE | Indicates that the driver does not support shader caching. |
| D3D12\_SHADER\_CACHE\_SUPPORT\_SINGLE\_PSO | Indicates that the driver supports the CachedPSO member of the [D3D12\_GRAPHICS\_PIPELINE\_STATE\_DESC](https://docs.xbox.com/reference/graphics/d3d12_x/structs/d3d12_graphics_pipeline_state_desc.md) and [D3D12\_COMPUTE\_PIPELINE\_STATE\_DESC](https://docs.xbox.com/reference/graphics/d3d12/structs/d3d12_compute_pipeline_state_desc_public.md) structures. This is always supported. |
| D3D12\_SHADER\_CACHE\_SUPPORT\_LIBRARY | Indicates that the driver supports the ID3D12PipelineLibrary interface, which provides application-controlled PSO grouping and caching. This is supported by drivers targeting the Windows 10 Anniversary Update. |
| D3D12\_SHADER\_CACHE\_SUPPORT\_AUTOMATIC\_INPROC\_CACHE | Indicates that the driver supports an OS-managed shader cache that stores compiled shaders in memory during the current run of the application. |
| D3D12\_SHADER\_CACHE\_SUPPORT\_AUTOMATIC\_DISK\_CACHE | Indicates that the driver supports an OS-managed shader cache that stores compiled shaders on disk to accelerate future runs of the application. |

## Remarks

This enum is used by the [D3D\_FEATURE\_DATA\_SHADER\_CACHE](https://docs.xbox.com/reference/graphics/d3d12/structs/d3d12_feature_data_shader_cache_public.md) structure.

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


## Related topics

- [D3D12_FEATURE_DATA_SHADER_CACHE](https://docs.xbox.com/reference/graphics/d3d12/structs/d3d12_feature_data_shader_cache_public.md)
- [D3D12_SHADER_CACHE_FLAGS](https://docs.xbox.com/reference/graphics/d3d12/enums/d3d12_shader_cache_flags_public.md)
- [D3D12_SHADER_CACHE_KIND_FLAGS (XBOX Series consoles)](https://docs.xbox.com/reference/graphics/d3d12/enums/d3d12_shader_cache_kind_flags_public.md)
- [D3D12_SHADER_CACHE_CONTROL_FLAGS (XBOX Series consoles)](https://docs.xbox.com/reference/graphics/d3d12/enums/d3d12_shader_cache_control_flags_public.md)
- [D3D12_SHADER_CACHE_SESSION_DESC](https://docs.xbox.com/reference/graphics/d3d12/structs/d3d12_shader_cache_session_desc_public.md)
