ID3D11DeviceContext2::CopyTileMappings-Methode (d3d11_2.h)

Kopiert Zuordnungen aus einer gekachelten Quellressource in eine zielkachelte Ressource.

Syntax

HRESULT CopyTileMappings(
  [in] ID3D11Resource                        *pDestTiledResource,
  [in] const D3D11_TILED_RESOURCE_COORDINATE *pDestRegionStartCoordinate,
  [in] ID3D11Resource                        *pSourceTiledResource,
  [in] const D3D11_TILED_RESOURCE_COORDINATE *pSourceRegionStartCoordinate,
  [in] const D3D11_TILE_REGION_SIZE          *pTileRegionSize,
  [in] UINT                                  Flags
);

Parameter

[in] pDestTiledResource

Typ: ID3D11Resource*

Ein Zeiger auf die zielgekachelte Ressource.

[in] pDestRegionStartCoordinate

Typ: const D3D11_TILED_RESOURCE_COORDINATE*

Ein Zeiger auf eine D3D11_TILED_RESOURCE_COORDINATE-Struktur , die die Startkoordinaten der zielkachelten Ressource beschreibt.

[in] pSourceTiledResource

Typ: ID3D11Resource*

Ein Zeiger auf die quellkachelte Ressource.

[in] pSourceRegionStartCoordinate

Typ: const D3D11_TILED_RESOURCE_COORDINATE*

Ein Zeiger auf eine D3D11_TILED_RESOURCE_COORDINATE-Struktur , die die Startkoordinaten der quellkachelten Ressource beschreibt.

[in] pTileRegionSize

Typ: const D3D11_TILE_REGION_SIZE*

Ein Zeiger auf eine D3D11_TILE_REGION_SIZE Struktur, die die Größe des kachelten Bereichs beschreibt.

[in] Flags

Typ: UINT

Eine Kombination aus D3D11_TILE_MAPPING_FLAGS Werten, die mithilfe einer bitweisen OR-Operation kombiniert werden. Der einzige gültige Wert ist D3D11_TILE_MAPPING_NO_OVERWRITE, der angibt, dass zuvor an das Gerät übermittelte Befehle, die möglicherweise noch ausgeführt werden, nicht auf den Kachelbereich verweisen, der aktualisiert wird. Das Gerät kann dann vermeiden, dass zuvor übermittelte Arbeit geleert werden muss, um die Aktualisierung der Kachelzuordnung durchzuführen. Wenn die App gegen diese Zusage verstößt, indem sie Kachelzuordnungen für Speicherorte in gekachelten Ressourcen aktualisiert, auf die noch von ausstehenden Befehlen verwiesen wird, ergeben sich nicht definierte Renderingverhaltensergebnisse, einschließlich der potenziellen erheblichen Verlangsamung einiger Architekturen. Dies entspricht dem Konzept "Kein Überschreiben", das an anderer Stelle in der Direct3D-API vorhanden ist, außer auf die Kachelzuordnungsdatenstruktur selbst angewendet (bei der Hardware handelt es sich um eine Seitentabelle). Das Fehlen des D3D11_TILE_MAPPING_NO_OVERWRITE Werts erfordert, dass Kachelzuordnungsaktualisierungen, die CopyTileMappings angibt, abgeschlossen werden müssen, bevor ein nachfolgender Direct3D-Befehl fortgesetzt werden kann.

Rückgabewert

Typ: HRESULT

Gibt bei erfolgreicher Ausführung S_OK zurück. Gibt andernfalls eine der folgenden Rückgaben zurück:

  • Gibt E_INVALIDARG zurück, wenn verschiedene Bedingungen, z. B. ungültige Flags oder das Übergeben nicht tilierter Ressourcen, dazu führen, dass der Aufruf gelöscht wird. Der Dest und die Quellregionen müssen jeweils vollständig in ihre Ressource passen oder das Verhalten ist undefiniert (die Debugebene gibt einen Fehler aus).
  • Gibt E_OUTOFMEMORY zurück, wenn der Aufruf dazu führt, dass der Treiber Speicherplatz für neue Seitentabellenzuordnungen zuweisen muss, aber nicht genügend Arbeitsspeicher zur Verfügung steht. Wenn nicht genügend Arbeitsspeicher auftritt, wenn dies in einer Befehlsliste aufgerufen wird und die Befehlsliste ausgeführt wird, wird das Gerät entfernt. Anwendungen können diese Situation vermeiden, indem sie nur Aktualisierungsaufrufe ausführen, die vorhandene Zuordnungen von tiled Resources innerhalb von Befehlslisten ändern (sodass Treiber keinen Seitentabellenspeicher zuweisen müssen, nur die Zuordnung ändern).

Hinweise

CopyTileMappings unterstützt Sie bei Aufgaben, z. B. beim Verschieben von Zuordnungen innerhalb und zwischen kachelnden Ressourcen, z. B. beim Scrollen von Kacheln. Quell- und Zielregionen können sich überschneiden; das Ergebnis der Kopie in dieser Situation ist, als ob die Quelle an einem temporären Speicherort gespeichert und dann von dort in das Ziel geschrieben wurde.

Weitere Informationen zu kachelnden Ressourcen finden Sie unter Gekachelte Ressourcen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 8.1 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 R2 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile d3d11_2.h
Bibliothek D3D11.lib

Weitere Informationen

ID3D11DeviceContext2