Freigeben über


ID3D12Device8::GetCopyableFootprints1-Methode (d3d12.h)

Ruft ein Ressourcenlayout ab, das kopiert werden kann. Unterstützt Ihre App beim Ausfüllen von D3D12_PLACED_SUBRESOURCE_FOOTPRINT und D3D12_SUBRESOURCE_FOOTPRINT beim Unterspeichern von Speicherplatz in Upload-Heaps.

Syntax

void GetCopyableFootprints1(
  const D3D12_RESOURCE_DESC1         *pResourceDesc,
  UINT                               FirstSubresource,
  UINT                               NumSubresources,
  UINT64                             BaseOffset,
  D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
  UINT                               *pNumRows,
  UINT64                             *pRowSizeInBytes,
  UINT64                             *pTotalBytes
);

Parameters

pResourceDesc

Typ: const D3D12_RESOURCE_DESC1*

Eine Beschreibung der Ressource als Zeiger auf eine D3D12_RESOURCE_DESC1 Struktur.

FirstSubresource

Typ: [in] UINT

Index der ersten Unterressource in der Ressource. Der Bereich gültiger Werte ist 0 bis D3D12_REQ_SUBRESOURCES.

NumSubresources

Typ: [in] UINT

Die Anzahl der Unterressourcen in der Ressource. Der Bereich gültiger Werte beträgt 0 bis (D3D12_REQ_SUBRESOURCES - FirstSubresource).

BaseOffset

Typ: UINT64

Der Offset in Byte, der dem Offset der einzelnen D3D12_PLACED_SUBRESOURCE_FOOTPRINT im pLayouts-Array hinzugefügt wird.

pLayouts

Typ: [out, optional] D3D12_PLACED_SUBRESOURCE_FOOTPRINT*

Ein Zeiger auf ein Array (der Länge NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT Strukturen, das mit der Beschreibung und Platzierung jeder Unterressource gefüllt werden soll.

pNumRows

Typ: [out, optional] UINT*

Ein Zeiger auf ein Array (der Länge NumSubresources) von ganzzahligen Variablen, der mit der Anzahl der Zeilen für jede Unterressource gefüllt werden soll.

pRowSizeInBytes

Typ: [out, optional] UINT64*

Ein Zeiger auf ein Array (der Länge NumSubresources) von Ganzzahlvariablen, jeder Eintrag, der mit der nicht geblockten Größe in Byte einer Zeile gefüllt werden soll, jeder Unterressource.

Wenn beispielsweise eine Texture2D-Ressource eine Breite von 32 und Bytes pro Pixel 4 aufweist, gibt pRowSizeInBytes 128 zurück.

pRowSizeInBytes sollten nicht mit Zeilenabstand verwechselt werden, da pLayouts untersucht und der Zeilenabstand von dieser 256 erhalten wird, da sie an D3D12_TEXTURE_DATA_PITCH_ALIGNMENT ausgerichtet ist.

pTotalBytes

Typ: [out, optional] UINT64*

Ein Zeiger auf eine ganzzahlige Variable, die mit der Gesamtgröße in Byte gefüllt werden soll. Wenn pResourceDesc ungültig ist, wird der Wert von pTotalBytes auf UINT64_MAX festgelegt.

Rückgabewert

None

Remarks

Hinweise und Beispiele finden Sie unter ID3D12Device::GetCopyableFootprints.

Requirements

Requirement Value
Mindestens unterstützter Client Windows 10 Build 20348
Mindestanforderungen für unterstützte Server Windows 10 Build 20348
Header d3d12.h
Library d3d12.lib
DLL d3d12.dll

Siehe auch