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データ構造を手続き的に生成する場合、シリアル化されたフォームを作成するには、D3D12SerializeVersionedRootSignature の呼び出しでこのD3D12_ROOT_SIGNATURE_DESC1へのポインターを渡す必要があります。 その後、アプリケーションは、 ppBlob が ID3D12Device::CreateRootSignature を指すシリアル化されたフォームを渡します。
ルート署名を含むシェーダーを作成した場合、コンパイルされたシェーダーには既にシリアル化されたルート署名が含まれることになります。 この場合は、コンパイルされたシェーダー BLOB を ID3D12Device::CreateRootSignature に渡して、ランタイム ルート署名オブジェクトを取得します。
Xbox 開発者の場合は、HLSL で作成されたルート署名の使用を強くお勧めします。
関数シグネチャ PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATUREは typedef として提供されるため、静的リンクではなく動的リンク手法 (GetProcAddress) を使用できます。
この関数は、Windows 10 Anniversary Update (14393) でリリースされ、D3D12SerializeRootSignature よりも優先されます。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | d3d12.h |
Library | D3d12.lib |
[DLL] | D3d12.dll |