次の方法で共有


D3D12_LOCAL_ROOT_SIGNATURE構造体 (d3d12.h)

関連付けられたシェーダーで使用されるローカル ルート署名状態サブオブジェクトを定義します。

構文

typedef struct D3D12_LOCAL_ROOT_SIGNATURE {
  ID3D12RootSignature *pLocalRootSignature;
} D3D12_LOCAL_ROOT_SIGNATURE;

メンバー

pLocalRootSignature

ローカル ルート署名として機能するルート署名。 状態オブジェクトは、このシグネチャへの参照を保持します。

解説

状態オブジェクトにこのサブオブジェクトが存在することは省略可能です。 特定のシェーダー関数に関連付けられているグローバルルートシグネチャまたはローカルルートシグネチャの組み合わせは、シェーダーによって宣言されたすべてのリソースバインドを定義する必要があります(グローバルおよびローカルルートシグネチャ間で重複はありません)。

呼び出しグラフ内の特定の関数 (シェーダー テーブル間の呼び出しをカウントしない) が特定のローカル ルート署名に関連付けられている場合、グラフ内の他の関数は同じローカル ルート署名に関連付けられているか、まったく関連付けられていない必要があり、シェーダー エントリ (呼び出しグラフのルート) はローカル ルート署名に関連付ける必要があります。 これは、特定のシェーダー エントリから到達可能なコードのセットがシェーダー レコード内のシェーダー識別子から呼び出され、1 つのローカル ルート引数のセットが適用されるためです。 もちろん、シェーダー識別子は異なるシェーダー レコードに含まれるので、シェーダーごとに異なるローカル ルート署名を使用できます (または使用しない)。

要件

   
Header d3d12.h