D3D12DDI_TEXTURE_BARRIER_0088 结构 (d3d12umddi.h)

重要

某些信息与预发行产品相关,该产品在商业发布之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。

D3D12DDI_TEXTURE_BARRIER_0088结构描述纹理的访问转换。

语法

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;

成员

SyncBefore

一个 D3D12DDI_BARRIER_SYNC 值,该值指定在执行屏障之前必须完成的所有上述 GPU 工作的同步范围。

SyncAfter

一个 D3D12DDI_BARRIER_SYNC 值,该值指定所有后续 GPU 工作的同步范围,这些工作必须等待屏障执行完成。

AccessBefore

一个 D3D12DDI_BARRIER_ACCESS 值,该值指定屏障执行前纹理的访问状态。

AccessAfter

一个 D3D12DDI_BARRIER_ACCESS 值,该值指定屏障执行完成后纹理的访问状态。

LayoutBefore

一个 D3D12DDI_BARRIER_LAYOUT 值,该值指定屏障执行前纹理的布局。

LayoutAfter

一个 D3D12DDI_BARRIER_LAYOUT 值,该值指定屏障执行完成后纹理的布局。

hResource

使用屏障的纹理资源的句柄。

Subresources

一个D3D12DDI_BARRIER_SUBRESOURCE_RANGE_0088结构,用于指定要受阻的纹理子资源的范围。

Flags

一个D3D12DDI_TEXTURE_BARRIER_FLAGS_0088值,该值指定可选标志。

注解

有关常规信息 ,请参阅增强障碍

同步

图形处理器旨在并行执行尽可能多的工作。 依赖于以前的 GPU 工作的任何 GPU 工作都必须在访问依赖数据之前进行同步。 SyncBeforeSyncAfter 值是标识要同步的任何工作的逻辑位域掩码。

在执行屏障之前,屏障必须等待前面的所有命令 SyncBefore 范围完成。 同样,屏障必须阻止所有后续 SyncAfter 范围,直到屏障完成。

布局过渡

纹理子资源可以对各种访问方法使用不同的布局。 例如,纹理通常在用作呈现目标或深度模具时被压缩,并且通常未压缩以用于着色器读取或复制命令。 纹理屏障使用 LayoutBeforeLayoutAfter 来描述布局转换。

布局转换仅用于纹理,因此它们仅在此数据结构中表示。

LayoutBeforeLayoutAfter 都必须与执行屏障的队列类型兼容。 例如,计算队列无法将子资源转换为或转换出 D3D12_BARRIER_LAYOUT_RENDER_TARGET

为了提供定义完善的屏障排序,完成一系列屏障后,子资源的布局是序列中的最终 LayoutAfter

要求

要求
最低受支持的客户端 Windows 11 (WDDM 3.0)
标头 d3d12umddi.h

另请参阅

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