Метод ID3D12Device7::AddToStateObject (d3d12.h)

Добавочное добавление к существующему объекту состояния. Это снижает нагрузку на ЦП, чем создание объекта состояния с нуля, который является надмножеством существующего (например, добавление нескольких дополнительных шейдеров).

Синтаксис

HRESULT AddToStateObject(
  const D3D12_STATE_OBJECT_DESC *pAddition,
  ID3D12StateObject             *pStateObjectToGrowFrom,
  REFIID                        riid,
  void                          **ppNewStateObject
);

Параметры

pAddition

Тип: _In_ const D3D12_STATE_OBJECT_DESC*

Описание содержимого объекта состояния, добавляемого к существующему объекту состояния. Чтобы создать это, см. вспомогатель CD3D12_STATE_OBJECT_DESC в классе в d3dx12.h.

pStateObjectToGrowFrom

Тип: _In_ ID3D12StateObject*

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

Существующий объект состояния не должен иметь тип Collection.

riid

Тип: _In_ REFIID

Должен быть идентификатором IID интерфейса ID3D12StateObject .

ppNewStateObject

Тип: _COM_Outptr_ void**

Возвращен объект состояния.

Поведение не определено, если идентификаторы шейдеров извлекаются из этого вызова и доступ к этим идентификаторам шейдеров осуществляется через таблицы шейдеров из любого уже существующего списка команд, который ссылается на какой-либо старый объект состояния. Использование новых шейдеров, добавленных в объект состояния, может происходить только из команд (таких как вызовы DispatchRays или ExecuteIndirect ), записанных в список команд после вызова Метода AddToStateObject.

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

S_OK для успеха. E_INVALIDARG, E_OUTOFMEMORY при сбое. Уровень отладки предоставляет подробные сведения о состоянии.

Комментарии

Дополнительные сведения см. в разделе AddToStateObject.

Требования

Требование Значение
Минимальная версия клиента сборка Windows 10 20348
Минимальная версия сервера сборка Windows 10 20348
Верхняя часть d3d12.h
Библиотека d3d12.lib
DLL d3d12.dll