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

根签名中的索引,用于标识要更新的根常量。

field IncrementingConstant.DestOffsetIn32BitValues

此字段指定在将写入递增值的根常量内存中的偏移量(以 32 位值 (而不是字节) )。 它定义根常量中开始递增常量的位置。 如果根常量是包含多个 32 位值的数组,则此偏移量指示数组的哪个元素将接收第一个递增值。

IncrementingConstant.DestOffsetIn32BitValues

注解

间接参数与命令签名结合使用,以指定 GPU 将从缓冲区读取以执行命令的数据的类型和结构,而无需在每个单独的绘图或调度调用中涉及 CPU。

将此结构与 D3D12DDIARG_CREATE_COMMAND_SIGNATURE_0001 结构一起使用。

有关详细信息,请参阅 网格着色器规范

要求

要求
最低受支持的客户端 Windows 10 版本 1903
标头 d3d12umddi.h (包括 D3d12umddi.h)

另请参阅

D3D12DDI_INDIRECT_ARGUMENT_TYPE

D3D12DDIARG_CREATE_COMMAND_SIGNATURE_0001