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) |