структура D3D12_GLOBAL_ROOT_SIGNATURE (d3d12.h)
Определяет подпроект состояния глобальной корневой сигнатуры, который будет использоваться со связанными шейдерами.
Синтаксис
typedef struct D3D12_GLOBAL_ROOT_SIGNATURE {
ID3D12RootSignature *pGlobalRootSignature;
} D3D12_GLOBAL_ROOT_SIGNATURE;
Члены
pGlobalRootSignature
Корневая сигнатура, которая будет функционировать как глобальная корневая сигнатура. Объект состояния содержит ссылку на эту сигнатуру.
Комментарии
Наличие этого подобъекта в объекте состояния является необязательным. Сочетание глобальных и (или) локальных корневых сигнатур, связанных с любой заданной функцией шейдера, должно определять все привязки ресурсов, объявленные шейдером, без перекрытия между глобальными и локальными корневыми сигнатурами.
Если какая-либо функция в графе вызовов связана с определенной глобальной корневой сигнатурой, все остальные функции в графе должны быть связаны либо с той же глобальной корневой сигнатурой, либо с ней, а запись шейдера (корень графа вызовов) должна быть связана с глобальной корневой сигнатурой.
Разные шейдеры могут использовать разные глобальные корневые сигнатуры (или нет) в объекте состояния, однако все шейдеры, на которые ссылается определенная операция DispatchRays из списка команд, должны указывать ту же глобальную корневую сигнатуру, что и в списке команд в качестве корневой сигнатуры вычислений. Поэтому допустимо определить один большой объект состояния с несколькими глобальными корневыми сигнатурами, связанными с разными подмножествами шейдеров. Приложения не вынуждены разделять свой объект состояния только потому, что некоторые шейдеры используют разные глобальные корневые сигнатуры.
Требования
Верхняя часть | d3d12.h |