structure D3D12DDI_TEXTURE_BARRIER_0088 (d3d12umddi.h)

Important

Certaines informations se rapportent à un produit de préversion qui peut être sensiblement modifié avant sa commercialisation. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.

Une structure D3D12DDI_TEXTURE_BARRIER_0088 décrit les transitions d’accès pour les textures.

Syntaxe

typedef struct D3D12DDI_TEXTURE_BARRIER_0088 {
  D3D12DDI_BARRIER_SYNC                   SyncBefore;
  D3D12DDI_BARRIER_SYNC                   SyncAfter;
  D3D12DDI_BARRIER_ACCESS                 AccessBefore;
  D3D12DDI_BARRIER_ACCESS                 AccessAfter;
  D3D12DDI_BARRIER_LAYOUT                 LayoutBefore;
  D3D12DDI_BARRIER_LAYOUT                 LayoutAfter;
  D3D12DDI_HRESOURCE                      hResource;
  D3D12DDI_BARRIER_SUBRESOURCE_RANGE_0088 Subresources;
  D3D12DDI_TEXTURE_BARRIER_FLAGS_0088     Flags;
} D3D12DDI_TEXTURE_BARRIER_0088;

Membres

SyncBefore

Valeur D3D12DDI_BARRIER_SYNC qui spécifie l’étendue de synchronisation de tous les travaux GPU précédents qui doivent être terminés avant d’exécuter la barrière.

SyncAfter

Valeur D3D12DDI_BARRIER_SYNC qui spécifie l’étendue de synchronisation de tous les travaux GPU suivants qui doivent attendre la fin de l’exécution de la barrière.

AccessBefore

Valeur D3D12DDI_BARRIER_ACCESS qui spécifie l’état d’accès de la texture précédant l’exécution de la barrière.

AccessAfter

Valeur D3D12DDI_BARRIER_ACCESS qui spécifie l’état d’accès de la texture à la fin de l’exécution de la barrière.

LayoutBefore

Valeur D3D12DDI_BARRIER_LAYOUT qui spécifie la disposition de la texture précédant l’exécution de la barrière.

LayoutAfter

Valeur D3D12DDI_BARRIER_LAYOUT qui spécifie la disposition de la texture à la fin de l’exécution de la barrière.

hResource

Handle de la ressource de texture à l’aide de la barrière.

Subresources

Une structure D3D12DDI_BARRIER_SUBRESOURCE_RANGE_0088 qui spécifie la plage de sous-ressources de texture qui est bloquée.

Flags

Valeur D3D12DDI_TEXTURE_BARRIER_FLAGS_0088 qui spécifie des indicateurs facultatifs.

Remarques

Pour plus d’informations générales, consultez Obstacles améliorés .

Synchronization

Les processeurs graphiques sont conçus pour exécuter autant de travail que possible en parallèle. Tout travail GPU qui dépend d’un travail GPU précédent doit être synchronisé avant d’accéder aux données dépendantes. Les valeurs SyncBefore et SyncAfter sont des masques de champ de bits logiques qui identifient tout travail à synchroniser.

Une barrière doit attendre que toutes les étendues de la commande SyncBefore précédentes se terminent avant d’exécuter la barrière. De même, une barrière doit bloquer toutes les étendues SyncAfter suivantes jusqu’à ce que la barrière se termine.

Transitions de disposition

Les sous-ressources de texture peuvent utiliser différentes dispositions pour différentes méthodes d’accès. Par exemple, les textures sont souvent compressées lorsqu’elles sont utilisées comme gabarit de cible de rendu ou de profondeur et sont souvent décompressées pour les commandes de lecture ou de copie du nuanceur. Les barrières de texture utilisent LayoutBefore et LayoutAfter pour décrire les transitions de disposition.

Les transitions de disposition sont uniquement nécessaires pour les textures. Elles sont donc exprimées uniquement dans cette structure de données.

LayoutBefore et LayoutAfter doivent être compatibles avec le type de file d’attente exécutant la barrière. Par exemple, une file d’attente de calcul ne peut pas effectuer la transition d’une sous-ressource vers ou hors de D3D12_BARRIER_LAYOUT_RENDER_TARGET.

Pour fournir un ordre de barrière bien défini, la disposition d’une sous-ressource après avoir terminé une séquence de barrières est la disposition finale de la séquence.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 11 (WDDM 3.0)
En-tête d3d12umddi.h

Voir aussi

D3D12DDI_BARRIER_ACCESS

D3D12DDI_BARRIER_LAYOUT

D3D12DDI_BARRIER_SUBRESOURCE_RANGE_0088

D3D12DDI_BARRIER_SYNC

D3D12DDI_TEXTURE_BARRIER_FLAGS_0088

D3D12DDIARG_BARRIER_0088

PFND3D12DDI_BARRIER_0088