Compartilhar via


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

Adicione incrementalmente a um objeto de estado existente. Isso incorre em uma sobrecarga de CPU menor do que criar um objeto de estado do zero que é um superconjunto de um existente (por exemplo, adicionar mais alguns sombreadores).

Sintaxe

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

Parâmetros

pAddition

Tipo: _In_ const D3D12_STATE_OBJECT_DESC*

Descrição do conteúdo do objeto de estado a ser adicionado ao objeto de estado existente. Para ajudar a gerar isso, consulte o auxiliar CD3D12_STATE_OBJECT_DESC na classe em d3dx12.h.

pStateObjectToGrowFrom

Tipo: _In_ ID3D12StateObject*

Objeto de estado existente, que pode estar em uso (por exemplo, raytracing ativo) durante essa operação.

O objeto de estado existente não deve ser do tipo Coleção.

riid

Tipo: _In_ REFIID

Deve ser a IID da interface ID3D12StateObject .

ppNewStateObject

Tipo: _COM_Outptr_ void**

Objeto de estado retornado.

O comportamento será indefinido se os identificadores de sombreador forem recuperados para novos sombreadores dessa chamada e eles forem acessados por meio de tabelas de sombreador por qualquer lista de comandos já existente ou em voo que faça referência a algum objeto de estado mais antigo. O uso dos novos sombreadores adicionados ao objeto de estado só pode ocorrer de comandos (como DispatchRays ou ExecuteIndirect calls) registrados em uma lista de comandos após a chamada para AddToStateObject.

Retornar valor

S_OK para o sucesso. E_INVALIDARG, E_OUTOFMEMORY em caso de falha. A camada de depuração fornece informações detalhadas de status.

Comentários

Para obter mais informações, consulte AddToStateObject.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10 Build 20348
Servidor mínimo com suporte Windows 10 Build 20348
Cabeçalho d3d12.h
Biblioteca d3d12.lib
DLL d3d12.dll