функция обратного вызова PFND3D12DDI_GET_SHADER_IDENTIFIER_0054 (d3d12umddi.h)

Извлекает уникальный идентификатор шейдера, который можно использовать в записи шейдера.

Синтаксис

PFND3D12DDI_GET_SHADER_IDENTIFIER_0054 Pfnd3d12ddiGetShaderIdentifier0054;

void * Pfnd3d12ddiGetShaderIdentifier0054(
  D3D12DDI_HSTATEOBJECT_0054 unnamedParam1,
  LPCWSTR pExportName
)
{...}

Параметры

unnamedParam1

Дескриптор объекта состояния. Объект состояния может быть коллекцией или объектом состояния конвейера трассировки лучей.

pExportName

Точка входа в объекте состояния, для которого требуется получить идентификатор.

Возвращаемое значение

Возвращает указатель на идентификатор шейдера. Если шейдер не полностью разрешен в объекте состояния, возвращаемое значение равно nullptr.

Комментарии

Возвращаемые данные действительны до тех пор, пока объект состояния, из который они поступили, является допустимым. Размер возвращаемых данных задается функцией обратного вызова GetShaderStackSize . Приложения должны копировать и кэшировать эти данные, чтобы избежать затрат на их поиск в объекте состояния, если их потребуется извлечь много раз. Место, где фактически используется идентификатор, находится в записях шейдера в таблицах шейдеров в памяти GPU, которую приложение заполняет.

Сами данные глобально идентифицируют шейдер, поэтому даже если шейдер отображается в другом объекте состояния (с теми же связями, что и любые корневые сигнатуры), он будет иметь тот же идентификатор.

Требования

Требование Значение
Минимальная версия клиента Windows 10, версия 1809
Верхняя часть d3d12umddi.h