Функция D3D12SerializeVersionedRootSignature (d3d12.h)
Сериализует корневую сигнатуру любой версии, которую можно передать в ID3D12Device::CreateRootSignature.
Синтаксис
HRESULT D3D12SerializeVersionedRootSignature(
[in] const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *pRootSignature,
[out] ID3DBlob **ppBlob,
[out, optional] ID3DBlob **ppErrorBlob
);
Параметры
[in] pRootSignature
Тип: const D3D12_VERSIONED_ROOT_SIGNATURE_DESC*
Указывает D3D12_VERSIONED_ROOT_SIGNATURE_DESC , содержащий описание любой версии корневой сигнатуры.
[out] ppBlob
Тип: ID3DBlob**
Указатель на блок памяти, получающий указатель на интерфейс ID3DBlob , который можно использовать для доступа к сериализованной корневой сигнатуре.
[out, optional] ppErrorBlob
Тип: ID3DBlob**
Указатель на блок памяти, получающий указатель на интерфейс ID3DBlob , который можно использовать для доступа к сообщениям об ошибках сериализатора, или ЗНАЧЕНИЕ NULL , если ошибки отсутствуют.
Возвращаемое значение
Тип: HRESULT
Возвращает S_OK в случае успешного выполнения; в противном случае возвращает один из кодов возврата Direct3D 12.
Комментарии
Если приложение процедурно создает структуру данных D3D12_ROOT_SIGNATURE_DESC1 , оно должно передать указатель на этот D3D12_ROOT_SIGNATURE_DESC1 в вызове D3D12SerializeVersionedRootSignature для создания сериализованной формы. Затем приложение передает сериализованную форму, в которую ppBlob указывает на ID3D12Device::CreateRootSignature.
Если шейдер был создан с корневой подписью, скомпилированный шейдер уже будет содержать сериализованную корневую сигнатуру. В этом случае передайте скомпилированный большой двоичный объект шейдера в ID3D12Device::CreateRootSignature , чтобы получить объект корневой сигнатуры среды выполнения.
Обратите внимание, что разработчикам Xbox настоятельно рекомендуется использовать корневые подписи, созданные на основе HLSL.
Сигнатура функции PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE предоставляется в виде определения типа, поэтому вместо статического связывания можно использовать методы динамического связывания (GetProcAddress).
Эта функция была выпущена с юбилейным обновлением Windows 10 (14393) и заменяет D3D12SerializeRootSignature.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | d3d12.h |
Библиотека | D3d12.lib |
DLL | D3d12.dll |