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)

另请参阅

D3D12DDI_INDIRECT_ARGUMENT_TYPE

D3D12DDIARG_CREATE_COMMAND_SIGNATURE_0001