ID3D12GraphicsCommandList::D iscardResource-Methode (d3d12.h)
Gibt an, dass der Inhalt einer Ressource nicht beibehalten werden muss. Die Funktion kann ressourcenbezogene Metadaten in einigen Fällen erneut initialisieren.
Syntax
void DiscardResource(
ID3D12Resource *pResource,
const D3D12_DISCARD_REGION *pRegion
);
Parameter
pResource
Typ: [in] ID3D12Resource*
Ein Zeiger auf die ID3D12Resource-Schnittstelle für die zu verwerfende Ressource.
pRegion
Typ: [in, optional] const D3D12_DISCARD_REGION*
Ein Zeiger auf eine D3D12_DISCARD_REGION Struktur, die Details für den Vorgang discard-resource beschreibt.
Rückgabewert
Keine
Bemerkungen
Die Semantik von DiscardResource ändert sich basierend auf dem Befehlslistentyp.
Für D3D12_COMMAND_LIST_TYPE_DIRECT gelten die folgenden beiden Regeln:
- Wenn eine Ressource über das Flag D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET verfügt, muss DiscardResource aufgerufen werden, wenn sich die verworfenen Unterressourcenbereiche im Zustand D3D12_RESOURCE_STATE_RENDER_TARGET Ressourcenbarriere befinden.
- Wenn eine Ressource über das flag D3D12_RESOURCE_FLAG _ALLOW_DEPTH_STENCIL verfügt, muss DiscardResource aufgerufen werden, wenn sich die verworfenen Unterressourcenbereiche im D3D12_RESOURCE_STATE_DEPTH_WRITE befinden.
- Die Ressource muss über das Flag D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS verfügen, und DiscardResource muss aufgerufen werden, wenn sich die verworfenen Unterressourcenbereiche im Zustand D3D12_RESOURCE_STATE_UNORDERED_ACCESS Ressourcenbarriere befinden.
Anforderungen
Zielplattform | Windows |
Kopfzeile | d3d12.h |
Bibliothek | D3d12.lib |
DLL | D3d12.dll |
Weitere Informationen
Verwenden von Ressourcenbarrieren zum Synchronisieren von Ressourcenzuständen in Direct3D 12