ID3D11DeviceContext2::TiledResourceBarrier, méthode (d3d11_2.h)
Spécifie une contrainte d’ordre d’accès aux données entre plusieurs ressources en mosaïque. Pour plus d’informations sur cette contrainte, consultez Remarques.
Syntaxe
void TiledResourceBarrier(
[in, optional] ID3D11DeviceChild *pTiledResourceOrViewAccessBeforeBarrier,
[in, optional] ID3D11DeviceChild *pTiledResourceOrViewAccessAfterBarrier
);
Paramètres
[in, optional] pTiledResourceOrViewAccessBeforeBarrier
Type : ID3D11DeviceChild*
Pointeur vers un ID3D11Resource ou ID3D11View pour une ressource qui a été créée avec l’indicateur D3D11_RESOURCE_MISC_TILED . Les opérations d’accès sur cet objet doivent se terminer avant les opérations d’accès sur l’objet spécifié par pTiledResourceOrViewAccessAfterBarrier .
[in, optional] pTiledResourceOrViewAccessAfterBarrier
Type : ID3D11DeviceChild*
Pointeur vers un ID3D11Resource ou ID3D11View pour une ressource qui a été créée avec l’indicateur D3D11_RESOURCE_MISC_TILED . Les opérations d’accès sur cet objet doivent commencer après les opérations d’accès sur l’objet spécifié par pTiledResourceOrViewAccessBeforeBarrier .
Valeur de retour
Aucune
Remarques
Les applications peuvent utiliser des ressources en mosaïques pour réutiliser des vignettes dans différentes ressources. Toutefois, un périphérique et un pilote peuvent ne pas être en mesure de déterminer si une partie de la mémoire d’un pool de vignettes qui vient d’être rendue est maintenant utilisée pour la lecture.
Par exemple, une application peut afficher certaines vignettes d’un pool de vignettes avec une ressource en mosaïque, mais ensuite lire à partir des mêmes vignettes à l’aide d’une autre ressource en mosaïque. Ces opérations de ressources en mosaïque diffèrent de l’utilisation d’une ressource, puis du simple passage de l’écriture avec ID3D11RenderTargetView à la lecture avec ID3D11ShaderResourceView. Le runtime effectue déjà le suivi et gère ces opérations de ressource à l’aide d’ID3D11RenderTargetView et d’ID3D11ShaderResourceView.
Lorsqu’une application passe de l’accès (lecture ou écriture) à un emplacement dans un pool de vignettes avec une ressource à la même mémoire (lecture ou écriture) via une autre ressource en mosaïque (avec des mappages vers la même mémoire), l’application doit appeler TiledResourceBarrier après la première utilisation de la ressource et avant la seconde. Les paramètres sont pTiledResourceOrViewAccessBeforeBarrier pour les accès avant la barrière (via le rendu, la copie) et le pTiledResourceOrViewAccessAfterBarrier pour les accès après la barrière en utilisant la même mémoire du pool de vignettes. Si les ressources sont identiques, l’application n’a pas besoin d’appeler TiledResourceBarrier , car ce type de risque est déjà suivi et géré.
L’appel de barrière informe le pilote que les opérations émises à la ressource avant l’appel doivent se terminer avant tout accès qui se produit après l’appel via une autre ressource en mosaïque qui partage la même mémoire.
Les deux paramètres (avant ou après la barrière) peuvent avoir la valeur NULL. NULL avant la barrière signifie que tous les accès aux ressources en mosaïque avant que la barrière ne se termine avant que la ressource spécifiée après que la barrière puisse être référencée par l’unité de traitement graphique (GPU). NULL après la barrière signifie que toutes les ressources en mosaïques accessibles après la barrière ne peuvent être exécutées par le GPU qu’après avoir accédé aux ressources en mosaïques avant la fin de la barrière. Les deux valeurs NULL signifient que tous les accès aux ressources en mosaïque précédents sont terminés avant que l’accès aux ressources en mosaïque puisse continuer.
Une application peut passer un pointeur d’affichage, une ressource ou NULL pour chaque paramètre. Les vues sont autorisées non seulement pour des raisons pratiques, mais également pour permettre à l’application d’étendre l’effet de barrière à une partie pertinente d’une ressource.
Pour plus d’informations sur les ressources en mosaïque, consultez Ressources en mosaïque.
Configuration requise
Client minimal pris en charge | Windows 8.1 [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2012 R2 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | d3d11_2.h |
Bibliothèque | D3D11.lib |