ID3D12Device::DeserializeGraphicsPipelineStateX Method

Deserializes a previously serialized graphics Pipeline State object, as a means of allowing efficient loading Pipeline State objects at run-time.

Syntax

public:
HRESULT DeserializeGraphicsPipelineStateX(
         const D3D12XBOX_DESERIALIZE_GRAPHICS_PIPELINE_STATE *pDeserializeState,
         REFIID riid,
         void **ppPipelineState
)  

Parameters

pDeserializeState
Type: D3D12XBOX_DESERIALIZE_GRAPHICS_PIPELINE_STATE *

[in] The deserialize state, as a pointer to a D3D12XBOX_DESERIALIZE_GRAPHICS_PIPELINE_STATE structure.

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. For example, __uuidof(ID3D12PipelineState) will get the GUID of the interface to a pipeline state. An input parameter.

ppPipelineState
Type: void **

[out] The resulting deserialized pipeline state.

Return value

Type: HRESULT 

One of the Direct3D 12 return codes.

Remarks

For usage information, see ID3D12Device::SerializeGraphicsPipelineStateX.

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.

See also

Reference

ID3D12Device Interface

ID3D12Device Members