estructura D3D12DDI_TEXTURE_BARRIER_0088 (d3d12umddi.h)

Una estructura de D3D12DDI_TEXTURE_BARRIER_0088 describe las transiciones de acceso para las texturas.

Sintaxis

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;

Miembros

SyncBefore

Valor de D3D12DDI_BARRIER_SYNC que especifica el ámbito de sincronización de todos los trabajos de GPU anteriores que se deben completar antes de ejecutar la barrera.

SyncAfter

Valor de D3D12DDI_BARRIER_SYNC que especifica el ámbito de sincronización de todos los trabajos posteriores de GPU que deben esperar hasta que finalice la ejecución de la barrera.

AccessBefore

Valor de D3D12DDI_BARRIER_ACCESS que especifica el estado de acceso de la textura que precede a la ejecución de la barrera.

AccessAfter

Valor de D3D12DDI_BARRIER_ACCESS que especifica el estado de acceso de la textura tras la finalización de la ejecución de la barrera.

LayoutBefore

Valor de D3D12DDI_BARRIER_LAYOUT que especifica el diseño de la textura que precede a la ejecución de la barrera.

LayoutAfter

Valor de D3D12DDI_BARRIER_LAYOUT que especifica el diseño de la textura tras la finalización de la ejecución de la barrera.

hResource

Identificador del recurso de textura mediante la barrera.

Subresources

Estructura D3D12DDI_BARRIER_SUBRESOURCE_RANGE_0088 que especifica el intervalo de subrecursos de textura que se están barrerando.

Flags

Valor de D3D12DDI_TEXTURE_BARRIER_FLAGS_0088 que especifica marcas opcionales.

Comentarios

Consulte Barreras mejoradas para obtener información general.

Synchronization

Los procesadores gráficos están diseñados para ejecutar tanto trabajo en paralelo como sea posible. Cualquier trabajo de GPU que dependa del trabajo de GPU anterior debe sincronizarse antes de acceder a los datos dependientes. Los valores SyncBefore y SyncAfter son máscaras de campo de bits lógicas que identifican cualquier trabajo que se va a sincronizar.

Una barrera debe esperar a que se completen todos los ámbitos syncBefore del comando anterior antes de ejecutar la barrera. De forma similar, una barrera debe bloquear todos los ámbitos SyncAfter posteriores hasta que se complete la barrera.

Transiciones de diseño

Los subrecursos de textura pueden usar diferentes diseños para varios métodos de acceso. Por ejemplo, las texturas a menudo se comprimen cuando se usan como un destino de representación o galería de símbolos de profundidad y a menudo no se comprimen para los comandos de lectura o copia del sombreador. Las barreras de textura usan LayoutBefore y LayoutAfter para describir las transiciones de diseño.

Las transiciones de diseño solo son necesarias para las texturas, por lo que solo se expresan en esta estructura de datos.

LayoutBefore y LayoutAfter deben ser compatibles con el tipo de cola que realiza la barrera. Por ejemplo, una cola de proceso no puede realizar la transición de un subrecurso a o desde D3D12_BARRIER_LAYOUT_RENDER_TARGET.

Para proporcionar un orden de barrera bien definido, el diseño de un subrecurso después de completar una secuencia de barreras es el layoutAfter final de la secuencia.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 11 (WDDM 3.0)
Encabezado d3d12umddi.h

Consulte también

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