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 工作都必须在访问依赖数据之前进行同步。 SyncBefore 和 SyncAfter 值是标识要同步的任何工作的逻辑位域掩码。
在执行屏障之前,屏障必须等待前面的所有命令 SyncBefore 范围完成。 同样,屏障必须阻止所有后续 SyncAfter 范围,直到屏障完成。
布局过渡
纹理子资源可以对各种访问方法使用不同的布局。 例如,纹理通常在用作呈现目标或深度模具时被压缩,并且通常未压缩以用于着色器读取或复制命令。 纹理屏障使用 LayoutBefore 和 LayoutAfter 来描述布局转换。
布局转换仅用于纹理,因此它们仅在此数据结构中表示。
LayoutBefore 和 LayoutAfter 都必须与执行屏障的队列类型兼容。 例如,计算队列无法将子资源转换为或转换出 D3D12_BARRIER_LAYOUT_RENDER_TARGET。
为了提供定义完善的屏障排序,完成一系列屏障后,子资源的布局是序列中的最终 LayoutAfter 。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 11 (WDDM 3.0) |
标头 | d3d12umddi.h |
另请参阅
D3D12DDI_BARRIER_SUBRESOURCE_RANGE_0088
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈