Метод 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 |
Header | d3d12.h |
Библиотека | D3d12.lib |
DLL | D3d12.dll |