énumération D3D12DDI_BARRIER_ACCESS (d3d12umddi.h)
Une valeur d'D3D12DDI_BARRIER_ACCESS est un or un peu sage ou des champs suivants qui spécifient l’accès aux ressources par rapport à une barrière.
Syntaxe
typedef enum D3D12DDI_BARRIER_ACCESS {
D3D12DDI_BARRIER_ACCESS_COMMON = 0x0,
D3D12DDI_BARRIER_ACCESS_VERTEX_BUFFER = 0x1,
D3D12DDI_BARRIER_ACCESS_CONSTANT_BUFFER = 0x2,
D3D12DDI_BARRIER_ACCESS_INDEX_BUFFER = 0x4,
D3D12DDI_BARRIER_ACCESS_RENDER_TARGET = 0x8,
D3D12DDI_BARRIER_ACCESS_UNORDERED_ACCESS = 0x10,
D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_WRITE = 0x20,
D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_READ = 0x40,
D3D12DDI_BARRIER_ACCESS_SHADER_RESOURCE = 0x80,
D3D12DDI_BARRIER_ACCESS_STREAM_OUTPUT = 0x100,
D3D12DDI_BARRIER_ACCESS_INDIRECT_ARGUMENT = 0x200,
D3D12DDI_BARRIER_ACCESS_PREDICATION = 0x200,
D3D12DDI_BARRIER_ACCESS_COPY_DEST = 0x400,
D3D12DDI_BARRIER_ACCESS_COPY_SOURCE = 0x800,
D3D12DDI_BARRIER_ACCESS_RESOLVE_DEST = 0x1000,
D3D12DDI_BARRIER_ACCESS_RESOLVE_SOURCE = 0x2000,
D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ = 0x4000,
D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE = 0x8000,
D3D12DDI_BARRIER_ACCESS_SHADING_RATE_SOURCE = 0x10000,
D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_READ = 0x20000,
D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_WRITE = 0x40000,
D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_READ = 0x80000,
D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_WRITE = 0x100000,
D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_READ = 0x200000,
D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_WRITE = 0x400000,
D3D12DDI_BARRIER_ACCESS_NO_ACCESS = 0x80000000
} ;
Constantes
D3D12DDI_BARRIER_ACCESS_COMMON Valeur : 0x0 Accès initial par défaut pour toutes les ressources dans une étendue ExecuteCommandLists donnée. Prend en charge tout type d’accès compatible avec les propriétés actuelles de disposition et de ressource, y compris aucun accès en écriture. Pour les mémoires tampons et les textures à l’aide de D3D12DDI_BARRIER_LAYOUT_COMMON, D3D12DDI_BARRIER_ACCESS_COMMON prend en charge les accès simultanés en lecture et en écriture. Lorsqu’elle est utilisée comme AccessAfter, D3D12DDI_BARRIER_ACCESS_COMMON peut être utilisée pour renvoyer une ressource à l’accessibilité courante. Notez que cela peut forcer les vidages inutiles du cache s’ils sont utilisés de manière incorrecte. Dans la mesure du possible, AccessAfter doit être limité aux bits d’accès explicites. Évitez d’utiliser D3D12DDI_BARRIER_ACCESS_COMMON comme barrière valeur de AccessBefore. Tous les risques de lecture après écriture ou d’écriture après écriture sont mieux gérés à l’aide de AccessBefore bits explicites. |
D3D12DDI_BARRIER_ACCESS_VERTEX_BUFFER Valeur : 0x1 Une ressource de mémoire tampon est accessible en tant que mémoire tampon de vertex dans la file d’attente d’exécution actuelle. |
D3D12DDI_BARRIER_ACCESS_CONSTANT_BUFFER Valeur : 0x2 Une ressource de mémoire tampon est accessible en tant que mémoire tampon constante dans la file d’attente d’exécution actuelle. |
D3D12DDI_BARRIER_ACCESS_INDEX_BUFFER Valeur : 0x4 Une ressource de mémoire tampon est accessible en tant que mémoire tampon d’index dans la file d’attente d’exécution actuelle. |
D3D12DDI_BARRIER_ACCESS_RENDER_TARGET Valeur : 0x8 Une ressource est accessible en tant que cible de rendu. |
D3D12DDI_BARRIER_ACCESS_UNORDERED_ACCESS Valeur : 0x10 Une ressource est accessible en tant que ressource d’accès non ordonnée. |
D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_WRITE Valeur : 0x20 Une ressource est accessible en tant que ressource de profondeur/gabarit accessible en écriture. |
D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_READ Valeur : 0x40 Une ressource est accessible en tant que ressource de profondeur/gabarit en lecture seule. |
D3D12DDI_BARRIER_ACCESS_SHADER_RESOURCE Valeur : 0x80 Une ressource est accessible en tant que ressource de nuanceur. |
D3D12DDI_BARRIER_ACCESS_STREAM_OUTPUT Valeur : 0x100 Une mémoire tampon est accessible en tant que cible de sortie de flux. |
D3D12DDI_BARRIER_ACCESS_INDIRECT_ARGUMENT Valeur : 0x200 Une mémoire tampon est accessible en tant que mémoire tampon d’argument indirect. |
D3D12DDI_BARRIER_ACCESS_PREDICATION Valeur : 0x200 Une mémoire tampon est accessible en tant que mémoire tampon de prédication. Alias avec D3D12DDI_BARRIER_ACCESS_INDIRECT_ARGUMENT. |
D3D12DDI_BARRIER_ACCESS_COPY_DEST Valeur : 0x400 Une ressource est accessible en tant que destination de copie. |
D3D12DDI_BARRIER_ACCESS_COPY_SOURCE Valeur : 0x800 Une ressource est accessible en tant que source de copie. |
D3D12DDI_BARRIER_ACCESS_RESOLVE_DEST Valeur : 0x1000 Une ressource est accessible en tant que destination de résolution. |
D3D12DDI_BARRIER_ACCESS_RESOLVE_SOURCE Valeur : 0x2000 Une ressource est accessible en tant que source de résolution. |
D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ Valeur : 0x4000 Une ressource est accessible pour la lecture sous la forme d’une structure d’accélération de traçage de rayons. La ressource doit avoir été créée à l’aide d’un état initial de D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE. |
D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE Valeur : 0x8000 Une ressource est accessible pour l’écriture en tant que structure d’accélération de traçage de rayons. La ressource doit avoir été créée à l’aide d’un état initial de D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE. |
D3D12DDI_BARRIER_ACCESS_SHADING_RATE_SOURCE Valeur : 0x10000 Une ressource est accessible en tant que source de taux d’ombrage. |
D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_READ Valeur : 0x20000 Une ressource est accessible pour un accès en lecture seule dans une file d’attente de décodage vidéo. |
D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_WRITE Valeur : 0x40000 Une ressource est accessible pour l’accès en écriture dans une file d’attente de décodage vidéo. |
D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_READ Valeur : 0x80000 Une ressource est accessible pour l’accès en lecture seule dans une file d’attente de processus vidéo. |
D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_WRITE Valeur : 0x100000 Une ressource est accessible pour l’accès en écriture dans une file d’attente de processus vidéo. |
D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_READ Valeur : 0x200000 Une ressource est accessible pour l’accès en lecture seule dans une file d’attente encodée vidéo. |
D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_WRITE Valeur : 0x400000 Une ressource est accessible pour l’accès en écriture dans une file d’attente d’encodage vidéo. |
D3D12DDI_BARRIER_ACCESS_NO_ACCESS Valeur : 0x80000000 Une ressource est inaccessible pour la lecture ou l’écriture. Une fois qu’un accès à une sous-ressource a été transféré vers D3D12DDI_BARRIER_ACCESS_NO_ACCESS, il doit être réactivé par une barrière avec AccessBefore défini sur D3D12DDI_BARRIER_ACCESS_NO_ACCESS avant d’utiliser dans la même étendue ExecuteCommandLists. D3D12DDI_BARRIER_ACCESS_NO_ACCESS ne peut être utilisé que conjointement avec D3D12DDI_BARRIER_SYNC_NONE ou D3D12DDI_BARRIER_SYNC_SPLIT. D3D12DDI_BARRIER_ACCESS_NO_ACCESS ne peut pas être défini avec d’autres bits d’accès. D3D12DDI_BARRIER_ACCESS_NO_ACCESS indique qu’une ressource n’est pas censée être accessible tant qu’une barrière ultérieure ou l’étendue ECL suivante n’est pas prévue. Cette valeur est utile dans les barrières d’alias lorsqu’une sous-ressource n’est pas nécessaire pendant une durée suffisamment longue pour vider la sous-ressource d’un cache de lecture. Il est également utile de lancer une transition de disposition en tant que dernier acte sur une ressource avant la fin d’une étendue ExecuteCommandLists. Si SyncAfter est D3D12DDI_BARRIER_SYNC_NONE, AccessAfter DOIT être D3D12DDI_BARRIER_ACCESS_NO_ACCESS. |
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 11 (WDDM 3.0) |
d’en-tête | d3d12umddi.h |