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

> Stores a pipeline state.

Stores a pipeline state.

## Syntax

```cpp theme={null}
typedef struct D3D12_CACHED_PIPELINE_STATE
{
    const void  pCachedBlob;
    SIZE_T CachedBlobSizeInBytes;
} D3D12_CACHED_PIPELINE_STATE
```

### Members

*pCachedBlob*\
Type: const void \*

Specifies pointer that references the memory location of the cache.

*CachedBlobSizeInBytes*\
Type: SIZE\_T

Specifies the size of the cache in bytes.

## Remarks

This structure is used by the [D3D12\_GRAPHICS\_PIPELINE\_STATE\_DESC](/reference/graphics/d3d12_x/structs/d3d12_graphics_pipeline_state_desc) structure, and the [D3D12\_COMPUTE\_PIPELINE\_STATE\_DESC](/reference/graphics/d3d12/structs/d3d12_compute_pipeline_state_desc_public) structure.

This structure is intended to be filled with the data retrieved from [ID3D12PipelineState::GetCachedBlob](/reference/graphics/d3d12/interfaces/id3d12pipelinestate/methods/id3d12pipelinestate_getcachedblob_public). This cached PSO contains data specific to the hardware, driver, and machine that it was retrieved from. Compilation using this data should be faster than compilation without. The rest of the data in the PSO needs to still be valid, and needs to match the cached PSO, otherwise E\_INVALIDARG might be returned.

If the driver has been upgraded to a D3D12 driver after the PSO was cached, you might see a D3D12\_ERROR\_DRIVER\_VERSION\_MISMATCH return code, or if you're running on a different GPU, the D3D12\_ERROR\_ADAPTER\_NOT\_FOUND return code.

## 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_COMPUTE_PIPELINE_STATE_DESC](/reference/graphics/d3d12/structs/d3d12_compute_pipeline_state_desc_public.md)
- [GetCachedBlob](/reference/graphics/d3d12/interfaces/id3d12pipelinestate/methods/id3d12pipelinestate_getcachedblob_public.md)
- [D3D12_PIPELINE_STATE_STREAM_DESC](/reference/graphics/d3d12/structs/d3d12_pipeline_state_stream_desc_public.md)
- [D3D12_STATE_OBJECT_TYPE](/reference/graphics/d3d12/enums/d3d12_state_object_type_public.md)
- [D3D12_GRAPHICS_STATES](/reference/graphics/d3d12/enums/d3d12_graphics_states_public.md)
