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