Metodo ID3D12Device7::AddToStateObject (d3d12.h)
Aggiungere in modo incrementale a un oggetto stato esistente. Ciò comporta un sovraccarico della CPU inferiore rispetto alla creazione di un oggetto stato da zero che è un superset di uno esistente(ad esempio, aggiungendo alcuni altri shader).
Sintassi
HRESULT AddToStateObject(
const D3D12_STATE_OBJECT_DESC *pAddition,
ID3D12StateObject *pStateObjectToGrowFrom,
REFIID riid,
void **ppNewStateObject
);
Parametri
pAddition
Tipo: _In_ const D3D12_STATE_OBJECT_DESC*
Descrizione del contenuto dell'oggetto stato da aggiungere all'oggetto stato esistente. Per generare questa funzionalità, vedere l'helper CD3D12_STATE_OBJECT_DESC nella classe in d3dx12.h
.
pStateObjectToGrowFrom
Tipo: _In_ ID3D12StateObject*
Oggetto stato esistente, che può essere usato (ad esempio, raytracing attivo) durante questa operazione.
L'oggetto stato esistente non deve essere di tipo Collection.
riid
Tipo: _In_ REFIID
Deve essere l'IID dell'interfaccia ID3D12StateObject .
ppNewStateObject
Tipo: _COM_Outptr_ void**
Oggetto stato restituito.
Il comportamento non è definito se gli identificatori shader vengono recuperati per i nuovi shader da questa chiamata e sono accessibili tramite tabelle shader da qualsiasi elenco di comandi già esistente o in anteprima che fa riferimento a un oggetto stato precedente. L'uso dei nuovi shader aggiunti all'oggetto state può verificarsi solo dai comandi (ad esempio DispatchRays o ExecuteIndirect chiamate) registrati in un elenco di comandi dopo la chiamata a AddToStateObject.
Valore restituito
S_OK per il successo. E_INVALIDARG, E_OUTOFMEMORY in caso di errore. Il livello di debug fornisce informazioni dettagliate sullo stato.
Commenti
Per altre informazioni, vedere AddToStateObject.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10 Build 20348 |
Server minimo supportato | Windows 10 Build 20348 |
Intestazione | d3d12.h |
Libreria | d3d12.lib |
DLL | d3d12.dll |