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