D3D12SerializeVersionedRootSignature-Funktion (d3d12.h)

Serialisiert eine Stammsignatur einer beliebigen Version, die an ID3D12Device::CreateRootSignature übergeben werden kann.

Syntax

HRESULT D3D12SerializeVersionedRootSignature(
  [in]            const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *pRootSignature,
  [out]           ID3DBlob                                  **ppBlob,
  [out, optional] ID3DBlob                                  **ppErrorBlob
);

Parameter

[in] pRootSignature

Typ: const D3D12_VERSIONED_ROOT_SIGNATURE_DESC*

Gibt einen D3D12_VERSIONED_ROOT_SIGNATURE_DESC an, der eine Beschreibung einer beliebigen Version einer Stammsignatur enthält.

[out] ppBlob

Typ: ID3DBlob**

Ein Zeiger auf einen Speicherblock, der einen Zeiger auf die ID3DBlob-Schnittstelle empfängt, mit dem Sie auf die serialisierte Stammsignatur zugreifen können.

[out, optional] ppErrorBlob

Typ: ID3DBlob**

Ein Zeiger auf einen Speicherblock, der einen Zeiger auf die ID3DBlob-Schnittstelle empfängt, mit dem Sie auf Serialisierungsfehlermeldungen zugreifen können, oder NULL , wenn keine Fehler vorliegen.

Rückgabewert

Typ: HRESULT

Gibt bei erfolgreicher Ausführung S_OK zurück. Gibt andernfalls einen der Direct3D 12-Rückgabecodes zurück.

Hinweise

Wenn eine Anwendung prozedural eine D3D12_ROOT_SIGNATURE_DESC1 Datenstruktur generiert, muss sie einen Zeiger auf diese D3D12_ROOT_SIGNATURE_DESC1 in einem Aufruf von D3D12SerializeVersionedRootSignature übergeben, um das serialisierte Formular zu erstellen. Die Anwendung übergibt dann das serialisierte Formular, auf das ppBlob auf ID3D12Device::CreateRootSignature zeigt.

Wenn ein Shader mit einer Stammsignatur erstellt wurde, enthält der kompilierte Shader bereits eine serialisierte Stammsignatur. Übergeben Sie in diesem Fall das kompilierte Shaderblob an ID3D12Device::CreateRootSignature , um das Laufzeitstammsignaturobjekt abzurufen.

Beachten Sie, dass Xbox-Entwicklern die Verwendung von HLSL-erstellten Stammsignaturen dringend empfohlen wird.

Die Funktionssignatur PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE wird als Typedef bereitgestellt, sodass Sie dynamische Verknüpfungstechniken (GetProcAddress) anstelle einer statischen Verknüpfung verwenden können.

Diese Funktion wurde mit dem Windows 10 Anniversary Update (14393) veröffentlicht und ersetzt D3D12SerializeRootSignature.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile d3d12.h
Bibliothek D3d12.lib
DLL D3d12.dll

Weitere Informationen

Kernfunktionen

Erstellen einer Stammsignatur

D3DX12SerializeVersionedRootSignature

Stammsignatur, Version 1.1