Método ID3D12Device7::AddToStateObject (d3d12.h)

Agregue incrementalmente a un objeto de estado existente. Esto conlleva una sobrecarga de CPU menor que la creación de un objeto de estado desde cero que es un superconjunto de uno existente (por ejemplo, agregar algunos sombreadores más).

Sintaxis

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

Parámetros

pAddition

Tipo: _In_ const D3D12_STATE_OBJECT_DESC*

Descripción del contenido del objeto de estado que se va a agregar al objeto de estado existente. Para ayudar a generar esto, vea el asistente de CD3D12_STATE_OBJECT_DESC en la clase en d3dx12.h.

pStateObjectToGrowFrom

Tipo: _In_ ID3D12StateObject*

Objeto de estado existente, que se puede usar (por ejemplo, raytracing activo) durante esta operación.

El objeto de estado existente no debe ser de tipo Collection.

riid

Tipo: _In_ REFIID

Debe ser el IID de la interfaz ID3D12StateObject .

ppNewStateObject

Tipo: _COM_Outptr_ void**

Objeto de estado devuelto.

El comportamiento no está definido si los identificadores del sombreador se recuperan para los nuevos sombreadores de esta llamada y se accede a ellos a través de tablas de sombreador por cualquier lista de comandos ya existente o en curso que haga referencia a algún objeto de estado anterior. El uso de los nuevos sombreadores agregados al objeto de estado solo puede producirse desde comandos (como llamadas DispatchRays o ExecuteIndirect ) registrados en una lista de comandos después de la llamada a AddToStateObject.

Valor devuelto

S_OK de éxito. E_INVALIDARG, E_OUTOFMEMORY en caso de error. La capa de depuración proporciona información de estado detallada.

Comentarios

Para obtener más información, consulta AddToStateObject.

Requisitos

Requisito Value
Cliente mínimo compatible compilación 20348 de Windows 10
Servidor mínimo compatible compilación 20348 de Windows 10
Encabezado d3d12.h
Library d3d12.lib
Archivo DLL d3d12.dll