D3D12SerializeVersionedRootSignature function (d3d12.h)

Serializes a root signature of any version that can be passed to ID3D12Device::CreateRootSignature.

Syntax

HRESULT D3D12SerializeVersionedRootSignature(
  [in]            const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *pRootSignature,
  [out]           ID3DBlob                                  **ppBlob,
  [out, optional] ID3DBlob                                  **ppErrorBlob
);

Parameters

[in] pRootSignature

Type: const D3D12_VERSIONED_ROOT_SIGNATURE_DESC*

Specifies a D3D12_VERSIONED_ROOT_SIGNATURE_DESC that contains a description of any version of a root signature.

[out] ppBlob

Type: ID3DBlob**

A pointer to a memory block that receives a pointer to the ID3DBlob interface that you can use to access the serialized root signature.

[out, optional] ppErrorBlob

Type: ID3DBlob**

A pointer to a memory block that receives a pointer to the ID3DBlob interface that you can use to access serializer error messages, or NULL if there are no errors.

Return value

Type: HRESULT

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

Remarks

If an application procedurally generates a D3D12_ROOT_SIGNATURE_DESC1 data structure, it must pass a pointer to this D3D12_ROOT_SIGNATURE_DESC1 in a call to D3D12SerializeVersionedRootSignature to make the serialized form. The application then passes the serialized form to which ppBlob points into ID3D12Device::CreateRootSignature.

If a shader has been authored with a root signature in it, the compiled shader will contain a serialized root signature in it already. In this case, pass the compiled shader blob to ID3D12Device::CreateRootSignature to obtain the runtime root signature object.

Note that for Xbox developers, use of HLSL-authored root signatures is strongly recommended.

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

This function was released with the Windows 10 Anniversary Update (14393) and supersedes D3D12SerializeRootSignature.

Requirements

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

See also

Core Functions

Creating a Root Signature

D3DX12SerializeVersionedRootSignature

Root Signature Version 1.1