D3D12DDI_INDIRECT_ARGUMENT_DESC構造体 (d3d12umddi.h)
D3D12DDI_INDIRECT_ARGUMENT_DESC 構造体は、コマンドシグネチャで使用する間接引数 (間接パラメーター) を記述します。
構文
typedef struct D3D12DDI_INDIRECT_ARGUMENT_DESC {
D3D12DDI_INDIRECT_ARGUMENT_TYPE Type;
union {
struct {
UINT Slot;
} VertexBuffer;
struct {
UINT RootParameterIndex;
UINT DestOffsetIn32BitValues;
UINT Num32BitValuesToSet;
} Constant;
struct {
UINT RootParameterIndex;
} ConstantBufferView;
struct {
UINT RootParameterIndex;
} ShaderResourceView;
struct {
UINT RootParameterIndex;
} UnorderedAccessView;
struct {
UINT RootParameterIndex;
UINT DestOffsetIn32BitValues;
} IncrementingConstant;
};
} D3D12DDI_INDIRECT_ARGUMENT_DESC;
メンバーズ
Type
間接引数の型を指定する D3D12DDI_INDIRECT_ARGUMENT_TYPE 列挙値。 この値により、共用体のどのメンバーが使用されているかが決まります。
VertexBuffer
VertexBuffer.Slot
頂点バッファー アドレスを含むスロットを指定します。
Constant
Constant.RootParameterIndex
定数のルート インデックスを指定します。
Constant.DestOffsetIn32BitValues
グループの最初の定数を設定するオフセット (32 ビット値)。 特定のルート インデックスで複数値定数をサポートします。 ルート定数エントリは、DestOffsetIn32BitValues 最小から最大の順に並べ替える必要があります。
Constant.Num32BitValuesToSet
指定されたルート インデックスで設定される 32 ビット定数の数。 特定のルート インデックスで複数値定数をサポートします。
ConstantBufferView
ConstantBufferView.RootParameterIndex
CBV のルート インデックスを指定します。
ShaderResourceView
ShaderResourceView.RootParameterIndex
SRV のルート インデックスを指定します。
UnorderedAccessView
UnorderedAccessView.RootParameterIndex
UAV のルート インデックスを指定します。
IncrementingConstant
IncrementingConstant.RootParameterIndex
更新するルート定数を識別するルート署名内のインデックス。
IncrementingConstant.DestOffsetIn32BitValues
このフィールドは、インクリメントされた値が書き込まれるルート定数のメモリ内のオフセットをバイトではなく 32 ビット値で指定します。 インクリメント定数が開始されるルート定数内の位置を定義します。 ルート定数が複数の 32 ビット値の配列である場合、このオフセットは、配列のどの要素が最初にインクリメントされた値を受け取るかを示します。
備考
間接引数は、コマンドシグネチャと組み合わせて使用され、GPU がバッファーから読み取ってコマンドを実行するデータの種類と構造を指定します。CPU は個々の描画呼び出しやディスパッチ呼び出しに関与する必要はありません。
この構造体は、D3D12DDIARG_CREATE_COMMAND_SIGNATURE_0001 構造体と共に使用します。
詳細については、「メッシュ シェーダー仕様の」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 10 バージョン 1903 |
ヘッダー | d3d12umddi.h (D3d12umddi.h を含む) |