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 |