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へのポインターを渡す必要があります。 その後、アプリケーションは、 ppBlobID3D12Device::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

こちらもご覧ください

コア関数

ルート署名の作成

D3DX12SerializeVersionedRootSignature

ルート署名バージョン 1.1