D3D12DDI_BARRIER_ACCESS enumeração (d3d12umddi.h)
Um valor D3D12DDI_BARRIER_ACCESS é um OR bit a bit dos campos a seguir que especificam o acesso a recursos em relação a uma barreira.
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 O acesso inicial padrão para todos os recursos em um determinado escopo ExecuteCommandLists. Dá suporte a qualquer tipo de acesso compatível com o layout atual e as propriedades de recurso, incluindo não mais do que um acesso de gravação. Para buffers e texturas que usam D3D12DDI_BARRIER_LAYOUT_COMMON, D3D12DDI_BARRIER_ACCESS_COMMON dá suporte a acessos simultâneos de leitura e gravação. Quando usado como AccessAfter, D3D12DDI_BARRIER_ACCESS_COMMON pode ser usado para retornar um recurso à acessibilidade comum. Observe que isso pode forçar liberações de cache desnecessárias se usadas incorretamente. Quando possível, AccessAfter deve ser limitado a bits de acesso explícitos. Evite usar D3D12DDI_BARRIER_ACCESS_COMMON como um valor accessBefore de barreira. Qualquer risco de leitura após gravação ou gravação após gravação é melhor tratado usando bits AccessBefore explícitos. |
D3D12DDI_BARRIER_ACCESS_VERTEX_BUFFER Valor: 0x1 Um recurso de buffer é acessível como um buffer de vértice na fila de execução atual. |
D3D12DDI_BARRIER_ACCESS_CONSTANT_BUFFER Valor: 0x2 Um recurso de buffer é acessível como um buffer constante na fila de execução atual. |
D3D12DDI_BARRIER_ACCESS_INDEX_BUFFER Valor: 0x4 Um recurso de buffer é acessível como um buffer de índice na fila de execução atual. |
D3D12DDI_BARRIER_ACCESS_RENDER_TARGET Valor: 0x8 Um recurso é acessível como um destino de renderização. |
D3D12DDI_BARRIER_ACCESS_UNORDERED_ACCESS Valor: 0x10 Um recurso é acessível como um recurso de acesso não ordenado. |
D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_WRITE Valor: 0x20 Um recurso é acessível como um recurso de profundidade/estêncil gravável. |
D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_READ Valor: 0x40 Um recurso é acessível como um recurso de profundidade/estêncil somente leitura. |
D3D12DDI_BARRIER_ACCESS_SHADER_RESOURCE Valor: 0x80 Um recurso é acessível como um recurso de sombreador. |
D3D12DDI_BARRIER_ACCESS_STREAM_OUTPUT Valor: 0x100 Um buffer é acessível como um destino de saída de fluxo. |
D3D12DDI_BARRIER_ACCESS_INDIRECT_ARGUMENT Valor: 0x200 Um buffer é acessível como um buffer de argumento indireto. |
D3D12DDI_BARRIER_ACCESS_PREDICATION Valor: 0x200 Um buffer é acessível como um buffer de pré-indicação. Com alias com D3D12DDI_BARRIER_ACCESS_INDIRECT_ARGUMENT. |
D3D12DDI_BARRIER_ACCESS_COPY_DEST Valor: 0x400 Um recurso pode ser acessado como um destino de cópia. |
D3D12DDI_BARRIER_ACCESS_COPY_SOURCE Valor: 0x800 Um recurso pode ser acessado como uma fonte de cópia. |
D3D12DDI_BARRIER_ACCESS_RESOLVE_DEST Valor: 0x1000 Um recurso é acessível como um destino resolve. |
D3D12DDI_BARRIER_ACCESS_RESOLVE_SOURCE Valor: 0x2000 Um recurso pode ser acessado como uma fonte de resolve. |
D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ Valor: 0x4000 Um recurso é acessível para leitura como uma estrutura de aceleração de rastreamento de raios. O recurso deve ter sido criado usando um estado inicial de D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE. |
D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE Valor: 0x8000 Um recurso é acessível para gravação como uma estrutura de aceleração de rastreamento de raios. O recurso deve ter sido criado usando um estado inicial de D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE. |
D3D12DDI_BARRIER_ACCESS_SHADING_RATE_SOURCE Valor: 0x10000 Um recurso é acessível como uma fonte de taxa de sombreamento. |
D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_READ Valor: 0x20000 Um recurso é acessível para acesso somente leitura em uma fila de decodificação de vídeo. |
D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_WRITE Valor: 0x40000 Um recurso é acessível para acesso de gravação em uma fila de decodificação de vídeo. |
D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_READ Valor: 0x80000 Um recurso é acessível para acesso somente leitura em uma fila de processo de vídeo. |
D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_WRITE Valor: 0x100000 Um recurso é acessível para acesso de gravação em uma fila de processo de vídeo. |
D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_READ Valor: 0x200000 Um recurso é acessível para acesso somente leitura em uma fila de codificação de vídeo. |
D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_WRITE Valor: 0x400000 Um recurso é acessível para acesso de gravação em uma fila de codificação de vídeo. |
D3D12DDI_BARRIER_ACCESS_NO_ACCESS Valor: 0x80000000 Um recurso está inacessível para leitura ou gravação. Depois que um acesso de sub-recurso tiver sido transferido para D3D12DDI_BARRIER_ACCESS_NO_ACCESS, ele deverá ser reativado por uma barreira com AccessBefore definido como D3D12DDI_BARRIER_ACCESS_NO_ACCESS antes de usar no mesmo escopo ExecuteCommandLists. D3D12DDI_BARRIER_ACCESS_NO_ACCESS só pode ser usado em conjunto com D3D12DDI_BARRIER_SYNC_NONE ou D3D12DDI_BARRIER_SYNC_SPLIT. D3D12DDI_BARRIER_ACCESS_NO_ACCESS não pode ser definido com outros bits de acesso. D3D12DDI_BARRIER_ACCESS_NO_ACCESS indica que não se espera que um recurso seja acessado até alguma barreira subsequente ou o próximo escopo de ECL. Esse valor é útil em barreiras de alias quando um sub-recurso não é necessário por um tempo suficientemente longo que faz sentido limpar o sub-recurso de qualquer cache de leitura. Também é útil para iniciar uma transição de layout como o ato final em um recurso antes do final de um escopo ExecuteCommandLists. Se SyncAfter for D3D12DDI_BARRIER_SYNC_NONE, AccessAfter DEVERÁ ser D3D12DDI_BARRIER_ACCESS_NO_ACCESS. |
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 11 (WDDM 3.0) |
Cabeçalho | d3d12umddi.h |