D3D12CreateVersionedRootSignatureDeserializer function (d3d12.h)

Generates an interface that can return the deserialized data structure, via GetUnconvertedRootSignatureDesc.

Syntax

HRESULT D3D12CreateVersionedRootSignatureDeserializer(
  [in]  LPCVOID pSrcData,
  [in]  SIZE_T  SrcDataSizeInBytes,
  [in]  REFIID  pRootSignatureDeserializerInterface,
  [out] void    **ppRootSignatureDeserializer
);

Parameters

[in] pSrcData

Type: LPCVOID

A pointer to the source data for the serialized root signature.

[in] SrcDataSizeInBytes

Type: SIZE_T

The size, in bytes, of the block of memory that pSrcData points to.

[in] pRootSignatureDeserializerInterface

Type: REFIID

The globally unique identifier (GUID) for the root signature deserializer interface. See remarks.

[out] ppRootSignatureDeserializer

Type: void**

A pointer to a memory block that receives a pointer to the root signature deserializer.

Return value

Type: HRESULT

Returns S_OK if successful; otherwise, returns one of the Direct3D 12 Return Codes.

Remarks

If an application has a serialized root signature already or has a compiled shader that contains a root signature and wants to determine the layout definition, it can call D3D12CreateVersionedRootSignatureDeserializer to generate a ID3D12VersionedRootSignatureDeserializer interface. ID3D12VersionedRootSignatureDeserializer::GetRootSignatureDescAtVersion can return the deserialized data structure (D3D12_ROOT_SIGNATURE_DESC1). ID3D12VersionedRootSignatureDeserializer just owns the lifetime of the memory for the deserialized data structure.

The REFIID, or GUID, of the interface to the root signature deserializer can be obtained by using the __uuidof() macro. For example, __uuidof(ID3D12VersionedRootSignatureDeserializer) will get the GUID of the interface to a root signature deserializer.

The function signature PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER is provided as a typedef, so that you can use dynamic linking techniques (GetProcAddress) instead of statically linking.

This function supercedes D3D12CreateRootSignatureDeserializer.

Requirements

Requirement Value
Target Platform Windows
Header d3d12.h
Library D3d12.lib
DLL D3d12.dll

See also

Core Functions

Creating a Root Signature

Root Signature Version 1.1