Deserializes a previously serialized compute pipeline state object as a means of allowing efficient loading of compute state objects at run-time.
public:
HRESULT D3DAPI DeserializeComputePipelineStateX(
const D3D12XBOX_DESERIALIZE_COMPUTE_PIPELINE_STATE *pDeserializeState,
REFIID riid,
void **ppPipelineState
)
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.
Type: HRESULT D3DAPI
One of the Direct3D 12 return codes.
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.
Header: Declared in d3d12_x.h.
Library: Use d3d12_x.lib.