структура 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 будет считывать из буфера для выполнения команды, без использования ЦП в каждом отдельном вызове draw или dispatch.
Используйте эту структуру со структурой D3D12DDIARG_CREATE_COMMAND_SIGNATURE_0001 .
Дополнительные сведения см. в разделе Спецификация шейдера сетки .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10 версии 1903 |
Верхняя часть | d3d12umddi.h (включая D3d12umddi.h) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по