ID3D12VersionedRootSignatureDeserializer::GetRootSignatureDescAtVersion method (d3d12.h)
Converts root signature description structures to a requested version.
Syntax
HRESULT GetRootSignatureDescAtVersion(
D3D_ROOT_SIGNATURE_VERSION convertToVersion,
[out] const D3D12_VERSIONED_ROOT_SIGNATURE_DESC **ppDesc
);
Parameters
convertToVersion
Type: D3D_ROOT_SIGNATURE_VERSION
Specifies the required D3D_ROOT_SIGNATURE_VERSION.
[out] ppDesc
Type: const D3D12_VERSIONED_ROOT_SIGNATURE_DESC**
Contains the deserialized root signature in a D3D12_VERSIONED_ROOT_SIGNATURE_DESC structure.
Return value
Type: HRESULT
This method returns an HRESULT success or error code. The method can fail with E_OUTOFMEMORY.
Remarks
This method allocates additional storage if needed for the converted root signature (memory owned by the deserializer interface). If conversion is done, the deserializer interface doesn’t free the original deserialized root signature memory – all versions the interface has been asked to convert to are available until the deserializer is destroyed.
Converting a root signature from 1.1 to 1.0 will drop all D3D12_DESCRIPTOR_RANGE_FLAGS and D3D12_ROOT_DESCRIPTOR_FLAGS can be useful for generating compatible root signatures that need to run on old operating systems, though does lose optimization opportunities. For instance, multiple root signature versions can be serialized and stored with application assets, with the appropriate version used at runtime based on the operating system capabilities.
Converting a root signature from 1.0 to 1.1 just adds the appropriate flags to match 1.0 semantics.
Requirements
Requirement | Value |
---|---|
Target Platform | Windows |
Header | d3d12.h |
Library | D3d12.lib |
DLL | D3d12.dll |