Partager via


ID3D12GraphicsCommandList ::ClearUnorderedAccessViewUint, méthode (d3d12.h)

Définit tous les éléments d’une vue d’accès non ordonné (UAV) sur les valeurs entières spécifiées.

Important

Cela se comporte comme une opération de calcul dans laquelle elle n’est pas ordonnée en ce qui concerne le travail environnant, comme les appels Dispatch . Pour garantir l’ordre, les appels de barrière doivent être émis avant et/ou après l’appel ClearUnorderedAccessViewXxx en fonction des besoins. Il peut apparaître sur certains conducteurs que ces barrières ne sont pas nécessaires. Mais les barrières implicites ne sont pas une garantie de spécification ; ils ne peuvent donc pas s’en servir. Contrairement à ClearDepthStencilView et ClearRenderTargetView qui (comme les commandes DrawXxx ), respectent l’ordre des listes de commandes.

Syntaxe

void ClearUnorderedAccessViewUint(
  D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
  D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
  ID3D12Resource              *pResource,
  const UINT [4]              Values,
  UINT                        NumRects,
  const D3D12_RECT            *pRects
);

Paramètres

ViewGPUHandleInCurrentHeap

Type : [in] D3D12_GPU_DESCRIPTOR_HANDLE

Un D3D12_GPU_DESCRIPTOR_HANDLE qui fait référence à un descripteur initialisé pour la vue d’accès non ordonné (UAV) à effacer. Ce descripteur doit se trouver dans un tas de descripteur visible par nuanceur, qui doit être défini sur la liste de commandes via SetDescriptorHeaps.

ViewCPUHandle

Type : [in] D3D12_CPU_DESCRIPTOR_HANDLE

Un D3D12_CPU_DESCRIPTOR_HANDLE dans un tas de descripteur visible non-nuanceur qui fait référence à un descripteur initialisé pour la vue d’accès non ordonné (UAV) à effacer.

Important

Ce descripteur ne doit pas se trouver dans un tas de descripteur visible par nuanceur. Cela permet aux pilotes qui implémentent l’clair en tant qu’opération matérielle de fonction fixe (plutôt qu’en tant que répartiteur) de lire efficacement à partir du descripteur, car les segments de mémoire visibles par nuanceur peuvent être créés dans WRITE_COMBINE mémoire (comme les types de tas D3D12_HEAP_TYPE_UPLOAD ), et les lectures du processeur à partir de ce type de mémoire sont excessivement lentes.

pResource

Type : [in] ID3D12Resource*

Pointeur vers l’interface ID3D12Resource qui représente la ressource uAV (unordered-access-view) à effacer.

Values

Type : [in] const UINT[4]

Tableau de 4 composants contenant les valeurs pour remplir la ressource d’accès non ordonné avec.

NumRects

Type : [in] UINT

Nombre de rectangles dans le tableau spécifié par le paramètre pRects .

pRects

Type : [in] const D3D12_RECT*

Tableau de structures D3D12_RECT pour les rectangles de l’affichage des ressources à effacer. Si la valeur EST NULL, ClearUnorderedAccessViewUint efface toute la vue des ressources.

Valeur retournée

Aucun

Remarques

Validation du runtime

L’échec de validation entraîne l’appel à ID3D12GraphicsCommandList ::Closeretournant E_INVALIDARG.

Couche de débogage

La couche de débogage émet des erreurs si les valeurs d’entrée sont en dehors d’une plage normalisée.

La couche de débogage émet une erreur si les sous-ressources référencées par la vue ne sont pas dans l’état approprié. Pour ClearUnorderedAccessViewUint, l’état doit être D3D12_RESOURCE_STATE_UNORDERED_ACCESS.

Spécifications

Requirement Valeur
plateforme cible Fenêtres
Header d3d12.h
Library D3d12.lib
DLL D3d12.dll

Voir aussi

INTERFACE ID3D12GraphicsCommandList