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 |