Share via


ID3D12Device10::CreateCommittedResource3-Methode (d3d12.h)

Erstellt eine committete Ressource mit einem anfänglichen Layout anstelle eines Anfangszustands.

Erfordert das DirectX 12 Agility SDK 1.7 oder höher.

Syntax

HRESULT CreateCommittedResource3(
  const D3D12_HEAP_PROPERTIES    *pHeapProperties,
  D3D12_HEAP_FLAGS               HeapFlags,
  const D3D12_RESOURCE_DESC1     *pDesc,
  D3D12_BARRIER_LAYOUT           InitialLayout,
  const D3D12_CLEAR_VALUE        *pOptimizedClearValue,
  ID3D12ProtectedResourceSession *pProtectedSession,
  UINT32                         NumCastableFormats,
  const DXGI_FORMAT              *pCastableFormats,
  REFIID                         riidResource,
  void                           **ppvResource
);

Parameter

pHeapProperties

Typ: _In_ const D3D12_HEAP_PROPERTIES*

Ein Zeiger auf eine D3D12_HEAP_PROPERTIES-Struktur , die Eigenschaften für den Heap der Ressource bereitstellt.

HeapFlags

Typ: D3D12_HEAP_FLAGS

Heapoptionen als bitweise OR'd-Kombination aus D3D12_HEAP_FLAGS Enumerationskonstanten.

pDesc

Typ: const D3D12_RESOURCE_DESC1*

Ein Zeiger auf eine D3D12_RESOURCE_DESC1 Struktur, die die Ressource beschreibt, einschließlich eines Mip-Bereichs.

InitialLayout

Das anfängliche Layout der Texturressource; D3D12_BARRIER_LAYOUT::D 3D12_BARRIER_LAYOUT_UNDEFINED für Puffer.

pOptimizedClearValue

Typ: const D3D12_CLEAR_VALUE*

Gibt eine D3D12_CLEAR_VALUE-Struktur an, die den Standardwert für eine klare Farbe beschreibt.

pOptimizedClearValue gibt einen Wert an, für den Clear-Vorgänge optimal sind. Wenn die erstellte Ressource eine Textur mit dem D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET- oder D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL-Flags ist, sollten Sie den Wert auswählen, mit dem der Clear-Vorgang am häufigsten aufgerufen wird. Sie können den Clear-Vorgang mit anderen Werten aufrufen, aber diese Vorgänge sind nicht so effizient wie wenn der Wert mit dem an die Ressourcenerstellung übergebenen Wert übereinstimmt.

Wenn Sie D3D12_RESOURCE_DIMENSION_BUFFER verwenden, müssen Sie pOptimizedClearValue auf nullptrfestlegen.

pProtectedSession

Typ: ID3D12ProtectedResourceSession*

Ein optionaler Zeiger auf ein Objekt, das eine Sitzung für den Inhaltsschutz darstellt. Falls angegeben, gibt diese Sitzung an, dass die Ressource geschützt werden soll. Sie können eine ID3D12ProtectedResourceSession abrufen, indem Sie ID3D12Device4::CreateProtectedResourceSession aufrufen.

NumCastableFormats

Die Anzahl der Elemente in pCastableFormats.

pCastableFormats

Ein zusammenhängendes Array von DXGI_FORMAT Strukturen, in die diese Ressource umgewandelt werden kann.

riidResource

Typ: REFIID

Ein Verweis auf die GUID (Globally Unique Identifier) der Ressourcenschnittstelle, die in ppvResource zurückgegeben werden soll.

RiidResource ist zwar am häufigsten die GUID von ID3D12Resource, es kann jedoch die GUID einer beliebigen Schnittstelle sein. Wenn das Ressourcenobjekt die Schnittstelle für diese GUID nicht unterstützt, schlägt die Erstellung mit E_NOINTERFACE fehl.

ppvResource

Typ: void**

Ein optionaler Zeiger auf einen Speicherblock, der den angeforderten Schnittstellenzeiger auf das erstellte Ressourcenobjekt empfängt.

ppvResource kann sein nullptr, um Funktionstests zu aktivieren. Wenn ppvResource ist nullptr, wird kein Objekt erstellt, und S_FALSE wird zurückgegeben, wenn pDesc gültig ist.

Rückgabewert

Typ: HRESULT

Wenn die Funktion erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein HRESULT-Fehlercode zurückgegeben.

Rückgabewert BESCHREIBUNG
E_OUTOFMEMORY Es ist nicht genügend Arbeitsspeicher vorhanden, um die Ressource zu erstellen.

Weitere mögliche Rückgabewerte finden Sie unter Direct3D 12-Rückgabecodes .

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile d3d12.h
Bibliothek D3d12.lib
DLL D3d12.dll

Weitere Informationen

ID3D12Geräte10