D3D12_CACHED_PIPELINE_STATE structure (d3d12.h)

Stores a pipeline state.


typedef struct D3D12_CACHED_PIPELINE_STATE {
  const void *pCachedBlob;
  SIZE_T     CachedBlobSizeInBytes;



Specifies pointer that references the memory location of the cache.


Specifies the size of the cache in bytes.


This structure is used by the D3D12_GRAPHICS_PIPELINE_STATE_DESC structure, and the D3D12_COMPUTE_PIPELINE_STATE_DESC structure.

This structure is intended to be filled with the data retrieved from ID3D12PipelineState::GetCachedBlob. 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.


Header d3d12.h

See also

Core Structures