структура 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) |