enumeración D3D12DDI_BARRIER_ACCESS (d3d12umddi.h)
Un valor de D3D12DDI_BARRIER_ACCESS es un OR bit a bit de los siguientes campos que especifican el acceso a los recursos con respecto a una barrera.
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 Valor: 0x0 Acceso inicial predeterminado para todos los recursos de un ámbito ExecuteCommandLists determinado. Admite cualquier tipo de acceso compatible con las propiedades de recursos y diseño actuales, incluido no más de un acceso de escritura. En el caso de los búferes y las texturas mediante D3D12DDI_BARRIER_LAYOUT_COMMON, D3D12DDI_BARRIER_ACCESS_COMMON admite accesos simultáneos de lectura y escritura. Cuando se usa como AccessAfter, D3D12DDI_BARRIER_ACCESS_COMMON se puede usar para devolver un recurso a accesibilidad común. Tenga en cuenta que esto podría forzar el vaciado de caché innecesario si se usa incorrectamente. Cuando sea posible, AccessAfter debe limitarse a bits de acceso explícitos. Evite usar D3D12DDI_BARRIER_ACCESS_COMMON como un valor accessBefore de barrera. Los riesgos de lectura después de escritura o escritura después de escritura se controlan mejor mediante bits AccessBefore explícitos. |
D3D12DDI_BARRIER_ACCESS_VERTEX_BUFFER Valor: 0x1 Se puede acceder a un recurso de búfer de búfer de vértices en la cola de ejecución actual. |
D3D12DDI_BARRIER_ACCESS_CONSTANT_BUFFER Valor: 0x2 Se puede acceder a un recurso de búfer como un búfer constante en la cola de ejecución actual. |
D3D12DDI_BARRIER_ACCESS_INDEX_BUFFER Valor: 0x4 Se puede acceder a un recurso de búfer de búfer de índice en la cola de ejecución actual. |
D3D12DDI_BARRIER_ACCESS_RENDER_TARGET Valor: 0x8 Se puede acceder a un recurso como destino de representación. |
D3D12DDI_BARRIER_ACCESS_UNORDERED_ACCESS Valor: 0x10 Un recurso es accesible como un recurso de acceso desordenado. |
D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_WRITE Valor: 0x20 Un recurso es accesible como un recurso de profundidad y galería de símbolos que se puede escribir. |
D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_READ Valor: 0x40 Se puede acceder a un recurso como un recurso de profundidad/galería de símbolos de solo lectura. |
D3D12DDI_BARRIER_ACCESS_SHADER_RESOURCE Valor: 0x80 Un recurso es accesible como un recurso de sombreador. |
D3D12DDI_BARRIER_ACCESS_STREAM_OUTPUT Valor: 0x100 Se puede acceder a un búfer como destino de salida de flujo. |
D3D12DDI_BARRIER_ACCESS_INDIRECT_ARGUMENT Valor: 0x200 Un búfer es accesible como un búfer de argumentos indirecto. |
D3D12DDI_BARRIER_ACCESS_PREDICATION Valor: 0x200 Un búfer es accesible como un búfer de predicación. Con alias D3D12DDI_BARRIER_ACCESS_INDIRECT_ARGUMENT. |
D3D12DDI_BARRIER_ACCESS_COPY_DEST Valor: 0x400 Se puede acceder a un recurso como destino de copia. |
D3D12DDI_BARRIER_ACCESS_COPY_SOURCE Valor: 0x800 Se puede acceder a un recurso como origen de copia. |
D3D12DDI_BARRIER_ACCESS_RESOLVE_DEST Valor: 0x1000 Se puede acceder a un recurso como destino de resolución. |
D3D12DDI_BARRIER_ACCESS_RESOLVE_SOURCE Valor: 0x2000 Se puede acceder a un recurso como origen de resolución. |
D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ Valor: 0x4000 Se puede acceder a un recurso para leer como una estructura de aceleración de seguimiento de rayos. El recurso debe haberse creado con un estado inicial de D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE. |
D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE Valor: 0x8000 Se puede acceder a un recurso para escribir como una estructura de aceleración de seguimiento de rayos. El recurso debe haberse creado con un estado inicial de D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE. |
D3D12DDI_BARRIER_ACCESS_SHADING_RATE_SOURCE Valor: 0x10000 Se puede acceder a un recurso como origen de velocidad de sombreado. |
D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_READ Valor: 0x20000 Se puede acceder a un recurso para el acceso de solo lectura en una cola de descodificación de vídeo. |
D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_WRITE Valor: 0x40000 Se puede acceder a un recurso para el acceso de escritura en una cola de descodificación de vídeo. |
D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_READ Valor: 0x80000 Se puede acceder a un recurso para el acceso de solo lectura en una cola de procesos de vídeo. |
D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_WRITE Valor: 0x100000 Se puede acceder a un recurso para el acceso de escritura en una cola de procesos de vídeo. |
D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_READ Valor: 0x200000 Se puede acceder a un recurso para el acceso de solo lectura en una cola de codificación de vídeo. |
D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_WRITE Valor: 0x400000 Se puede acceder a un recurso para el acceso de escritura en una cola de codificación de vídeo. |
D3D12DDI_BARRIER_ACCESS_NO_ACCESS Valor: 0x80000000 No se puede acceder a un recurso para leer o escribir. Una vez que se ha realizado la transición de un acceso subrecurso a D3D12DDI_BARRIER_ACCESS_NO_ACCESS, debe reactivarse mediante una barrera con AccessBefore establecida en D3D12DDI_BARRIER_ACCESS_NO_ACCESS antes de usar en el mismo ámbito ExecuteCommandLists. D3D12DDI_BARRIER_ACCESS_NO_ACCESS solo se puede usar junto con D3D12DDI_BARRIER_SYNC_NONE o D3D12DDI_BARRIER_SYNC_SPLIT. D3D12DDI_BARRIER_ACCESS_NO_ACCESS no se puede establecer con otros bits de acceso. D3D12DDI_BARRIER_ACCESS_NO_ACCESS indica que no se espera que se tenga acceso a un recurso hasta alguna barrera posterior o el siguiente ámbito de ECL. Este valor es útil en las barreras de alias cuando no se necesita un subrecurso durante un tiempo lo suficientemente largo que tiene sentido purgar el subrecurso de cualquier caché de lectura. También es útil para iniciar una transición de diseño como acto final en un recurso antes del final de un ámbito ExecuteCommandLists. Si SyncAfter está D3D12DDI_BARRIER_SYNC_NONE, AccessAfter DEBE ser D3D12DDI_BARRIER_ACCESS_NO_ACCESS. |
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 11 (WDDM 3.0) |
Encabezado | d3d12umddi.h |