Поделиться через


структура 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 будет считывать из буфера для выполнения команды, без использования ЦП, необходимого для каждого отдельного вызова рисования или отправки.

Используйте эту структуру с D3D12DDIARG_CREATE_COMMAND_SIGNATURE_0001 структурой.

Дополнительные сведения см. в спецификации шейдера сетки.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 10 версии 1903
заголовка d3d12umddi.h (include D3d12umddi.h)

См. также

D3D12DDI_INDIRECT_ARGUMENT_TYPE

D3D12DDIARG_CREATE_COMMAND_SIGNATURE_0001