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 |