ID3D12Device::DeserializeComputePipelineStateX Method

Deserializes a previously serialized compute pipeline state object as a means of allowing efficient loading of compute state objects at run-time.

Syntax

public:
HRESULT D3DAPI DeserializeComputePipelineStateX(
         const D3D12XBOX_DESERIALIZE_COMPUTE_PIPELINE_STATE *pDeserializeState,
         REFIID riid,
         void **ppPipelineState
)  

Parameters

pDeserializeState
Type: D3D12XBOX_DESERIALIZE_COMPUTE_PIPELINE_STATE *

[in] A pointer to the deserialization state.

riid
Type: REFIID 

[in] The globally unique identifier (GUID) for the pipeline state interface (ID3D12PipelineState). The REFIID, or GUID, of the interface to the pipeline state can be obtained by using the __uuidof() macro.

ppPipelineState
Type: void **

[out] The resulting deserialized pipeline state.

Return value

Type: HRESULT D3DAPI 

One of the Direct3D 12 return codes.

Remarks

For usage information, see ID3D12Device::SerializeComputePipelineStateX.

DeserializeGraphicsPipelineStateX will never invoke a run-time shader compilation, even when the shaders were originally built using an older shader compiler than the current Direct3D run-time. In other words, serialized Pipeline State objects are invariant to Shader Compiler updates. However, it is possible when moving development to a newer XDK release that Direct3D 12.x will refuse to load a serialized Pipeline State object built using an older XDK; in that event, DeserializeGraphicsPipelineStateX will return an error and it will be necessary to rebuild and re-serialize all such Pipeline State objects. However, we expect such breaking changes to be very rare; it will be much rarer than shader compiler format changes, for example.

Requirements

Header: Declared in d3d12_x.h.

Library: Use d3d12_x.lib.