ID3D12Device7::AddToStateObject-Methode (d3d12.h)

Fügen Sie einem vorhandenen Zustandsobjekt inkrementell hinzu. Dies verursacht einen geringeren CPU-Aufwand als das Erstellen eines Zustandsobjekts von Grund auf neu, das eine Übermenge eines vorhandenen ist (z. B. hinzufügen einiger weiterer Shader).

Syntax

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

Parameter

pAddition

Typ: _In_ const D3D12_STATE_OBJECT_DESC*

Beschreibung des Zustandsobjektinhalts, der einem vorhandenen Zustandsobjekt hinzugefügt werden soll. Informationen zur Generierung finden Sie im CD3D12_STATE_OBJECT_DESC Hilfsprogramm in der Klasse in d3dx12.h.

pStateObjectToGrowFrom

Typ: _In_ ID3D12StateObject*

Vorhandenes Zustandsobjekt, das während dieses Vorgangs verwendet werden kann (z. B. aktives Raytracing).

Das vorhandene Zustandsobjekt darf nicht vom Typ Collection sein.

riid

Typ: _In_ REFIID

Muss die IID der ID3D12StateObject-Schnittstelle sein.

ppNewStateObject

Typ: _COM_Outptr_ void**

Zurückgegebenes Zustandsobjekt.

Das Verhalten ist undefiniert, wenn Shaderbezeichner für neue Shader aus diesem Aufruf abgerufen werden und auf sie über Shadertabellen von einer bereits vorhandenen Oder In-Flight-Befehlsliste zugegriffen wird, die auf ein älteres Zustandsobjekt verweist. Die Verwendung der neuen Shader, die dem Zustandsobjekt hinzugefügt wurden, kann nur über Befehle (z. B . DispatchRays oder ExecuteIndirect-Aufrufe ) erfolgen, die nach dem Aufruf von AddToStateObject in einer Befehlsliste aufgezeichnet wurden.

Rückgabewert

S_OK für den Erfolg. E_INVALIDARGE_OUTOFMEMORY bei Einem Fehler. Die Debugebene bietet detaillierte status Informationen.

Hinweise

Weitere Informationen finden Sie unter AddToStateObject.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10 Build 20348
Unterstützte Mindestversion (Server) Windows 10 Build 20348
Kopfzeile d3d12.h
Bibliothek d3d12.lib
DLL d3d12.dll