ID3D12VersionedRootSignatureDeserializer::GetRootSignatureDescAtVersion 方法 (d3d12.h)

将根签名说明结构转换为请求的版本。

语法

HRESULT GetRootSignatureDescAtVersion(
        D3D_ROOT_SIGNATURE_VERSION                convertToVersion,
  [out] const D3D12_VERSIONED_ROOT_SIGNATURE_DESC **ppDesc
);

参数

convertToVersion

类型: D3D_ROOT_SIGNATURE_VERSION

指定所需的 D3D_ROOT_SIGNATURE_VERSION

[out] ppDesc

类型: const D3D12_VERSIONED_ROOT_SIGNATURE_DESC**

包含 D3D12_VERSIONED_ROOT_SIGNATURE_DESC 结构中的反序列化根签名。

返回值

类型: HRESULT

此方法返回 HRESULT 成功或错误代码。 该方法可能会失败,E_OUTOFMEMORY。

注解

如果需要,此方法会分配转换的根签名 (反序列化程序接口) 拥有的内存的其他存储。 如果转换完成,反序列化程序接口不会释放原始反序列化根签名内存 -所有版本都要求接口转换为可用,直到反序列化程序被销毁为止。

将根签名从 1.1 转换为 1.0 会删除所有 D3D12_DESCRIPTOR_RANGE_FLAGSD3D12_ROOT_DESCRIPTOR_FLAGS 对于生成需要在旧操作系统上运行的兼容根签名非常有用,尽管这确实失去了优化机会。 例如,可以使用应用程序资产序列化和存储多个根签名版本,并在运行时使用基于操作系统功能的适当版本。

将根签名从 1.0 转换为 1.1 只需添加相应的标志以匹配 1.0 语义。

要求

   
目标平台 Windows
标头 d3d12.h
Library D3d12.lib
DLL D3d12.dll

另请参阅

ID3D12VersionedRootSignatureDeserializer

根签名版本 1.1