ID3D11DeviceContext2::TiledResourceBarrier-Methode (d3d11_2.h)
Gibt eine Einschränkung der Datenzugriffsreihenfolge zwischen mehreren gekachelten Ressourcen an. Weitere Informationen zu dieser Einschränkung finden Sie unter Hinweise.
Syntax
void TiledResourceBarrier(
[in, optional] ID3D11DeviceChild *pTiledResourceOrViewAccessBeforeBarrier,
[in, optional] ID3D11DeviceChild *pTiledResourceOrViewAccessAfterBarrier
);
Parameter
[in, optional] pTiledResourceOrViewAccessBeforeBarrier
Typ: ID3D11DeviceChild*
Ein Zeiger auf eine ID3D11Resource oder ID3D11View für eine Ressource, die mit dem flag D3D11_RESOURCE_MISC_TILED erstellt wurde. Zugriffsvorgänge für dieses Objekt müssen abgeschlossen werden, bevor die Zugriffsvorgänge für das Objekt ausgeführt werden, das pTiledResourceOrViewAccessAfterBarrier angibt.
[in, optional] pTiledResourceOrViewAccessAfterBarrier
Typ: ID3D11DeviceChild*
Ein Zeiger auf eine ID3D11Resource oder ID3D11View für eine Ressource, die mit dem flag D3D11_RESOURCE_MISC_TILED erstellt wurde. Zugriffsvorgänge für dieses Objekt müssen nach den Zugriffsvorgängen für das Objekt beginnen, das pTiledResourceOrViewAccessBeforeBarrier angibt.
Rückgabewert
Keine
Bemerkungen
Apps können gekachelte Ressourcen verwenden, um Kacheln in verschiedenen Ressourcen wiederzuverwenden. Ein Gerät und ein Treiber können jedoch möglicherweise nicht ermitteln, ob nun etwas Arbeitsspeicher in einem Kachelpool, der gerade gerendert wurde, zum Lesen verwendet wird.
Beispielsweise kann eine App in einigen Kacheln in einem Kachelpool mit einer gekachelten Ressource rendern, dann aber mit einer anderen gekachelten Ressource aus denselben Kacheln lesen. Diese Vorgänge mit gekachelten Ressourcen unterscheiden sich von der Verwendung einer Ressource und dem Wechsel vom Schreiben mit ID3D11RenderTargetView zum Lesen mit ID3D11ShaderResourceView. Die Runtime verfolgt und verarbeitet diese einen Ressourcenvorgänge bereits mithilfe von ID3D11RenderTargetView und ID3D11ShaderResourceView.
Wenn eine App vom Zugriff (Lesen oder Schreiben) eines Speicherorts in einem Kachelpool mit einer Ressource auf den Zugriff auf denselben Speicher (Lese- oder Schreibzugriff) über eine andere gekachelte Ressource (mit Zuordnungen zum gleichen Arbeitsspeicher) wechselt, muss die App TiledResourceBarrier nach der ersten Verwendung der Ressource und vor der zweiten aufrufen. Die Parameter sind der pTiledResourceOrViewAccessBeforeBarrier für Zugriffe vor der Barriere (über Rendering, Kopieren) und der pTiledResourceOrViewAccessAfterBarrier für Zugriffe nach der Barriere mithilfe desselben Kachelpoolspeichers. Wenn die Ressourcen identisch sind, muss die App TiledResourceBarrier nicht aufrufen, da diese Art von Gefahr bereits nachverfolgt und behandelt wird.
Der Sperraufruf informiert den Treiber darüber, dass Vorgänge, die für die Ressource ausgegeben wurden, bevor der Aufruf abgeschlossen werden muss, bevor alle Zugriffe nach dem Aufruf über eine andere gekachelte Ressource erfolgen, die denselben Arbeitsspeicher verwendet.
Entweder oder beide Parameter (vor oder nach der Barriere) können NULL sein. NULL vor der Barriere bedeutet, dass alle gekachelten Ressourcenzugriffe vor abschluss der Barriere abgeschlossen werden müssen, bevor die nach der Barriere angegebene Ressource von der Grafikverarbeitungseinheit (GPU) referenziert werden kann. NULL nach der Barriere bedeutet, dass alle gekachelten Ressourcen, auf die nach der Barriere zugegriffen wird, von der GPU nur ausgeführt werden können, nachdem der Zugriff auf die gekachelten Ressourcen vor Abschluss der Barriere erfolgt ist. Beide NULL bedeutet, dass alle vorherigen gekachelten Ressourcenzugriffe abgeschlossen sind, bevor jeder nachfolgende gekachelte Ressourcenzugriff fortgesetzt werden kann.
Eine App kann einen Ansichtszeiger, eine Ressource oder NULL für jeden Parameter übergeben. Ansichten sind nicht nur aus Gründen der Bequemlichkeit zulässig, sondern auch, um der App zu ermöglichen, den Barriereeffekt auf einen relevanten Teil einer Ressource zu beschränken.
Weitere Informationen zu gekachelten 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 |