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_FLAGS,D3D12_ROOT_DESCRIPTOR_FLAGS对于生成需要在旧操作系统上运行的兼容根签名非常有用,但确实会失去优化机会。 例如,可以使用应用程序资产序列化和存储多个根签名版本,并在运行时根据操作系统功能使用相应的版本。

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

要求

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

另请参阅

ID3D12VersionedRootSignatureDeserializer

根签名版本 1.1