Поделиться через


Функция 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

См. также раздел

Основные функции

Создание корневой подписи

D3DX12SerializeVersionedRootSignature

Корневая подпись версии 1.1