Метод 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 |