énumération D3D12DDI_BARRIER_ACCESS (d3d12umddi.h)
Une valeur D3D12DDI_BARRIER_ACCESS est un OR au niveau du bit des champs suivants qui spécifient l’accès aux ressources par rapport à un obstacle.
Syntax
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 la disposition actuelle et les propriétés de ressource, y compris un accès en écriture. Pour les mémoires tampons et les textures utilisant D3D12DDI_BARRIER_LAYOUT_COMMON, D3D12DDI_BARRIER_ACCESS_COMMON prend en charge les accès simultanés en lecture et en écriture. Lorsqu’il est utilisé en tant qu’AccessAfter, D3D12DDI_BARRIER_ACCESS_COMMON peut être utilisé pour renvoyer une ressource à l’accessibilité courante. Notez que cela peut forcer des vidages de cache inutiles en cas d’utilisation incorrecte. Lorsque cela est possible, AccessAfter doit être limité aux bits d’accès explicites. Évitez d’utiliser D3D12DDI_BARRIER_ACCESS_COMMON comme valeur AccessBefore . Les risques de lecture après écriture ou d’écriture après écriture sont mieux gérés à l’aide de bits AccessBefore explicites. |
D3D12DDI_BARRIER_ACCESS_VERTEX_BUFFER Valeur : 0x1 Une ressource de mémoire tampon est accessible en tant que 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é. |
D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_WRITE Valeur : 0x20 Une ressource est accessible en tant que ressource de profondeur/gabarit pouvant être écrit. |
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 en lecture en tant que structure d’accélération du suivi 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 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 un 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 un accès en lecture seule dans une file d’attente d’encodage 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 n’est pas accessible en lecture ou en écriture. Une fois qu’un accès de sous-ressource a été transféré vers D3D12DDI_BARRIER_ACCESS_NO_ACCESS, il doit être réactivé par un obstacle avec AccessBefore défini sur D3D12DDI_BARRIER_ACCESS_NO_ACCESS avant de l’utiliser dans la même étendue ExecuteCommandLists. D3D12DDI_BARRIER_ACCESS_NO_ACCESS ne peut être utilisé qu’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 avant un obstacle suivant ou l’étendue ECL suivante. Cette valeur est utile dans les barrières d’alias lorsqu’une sous-ressource n’est pas nécessaire pendant une période suffisamment longue pour qu’il soit judicieux de vider la sous-ressource d’un cache de lecture. Il est également utile pour lancer une transition de disposition en tant qu’acte final 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. |
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 11 (WDDM 3.0) |
En-tête | d3d12umddi.h |