Files
XCEngine/docs/api/rhi/d3d12/common/create-transition-barrier.md
2026-03-20 02:35:45 +08:00

992 B

D3D12Common::CreateTransitionBarrier

inline D3D12_RESOURCE_BARRIER CreateTransitionBarrier(
    ID3D12Resource* resource, 
    D3D12_RESOURCE_STATES stateBefore, 
    D3D12_RESOURCE_STATES stateAfter,
    UINT subresource = D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES
)

创建资源状态转换屏障,用于同步资源状态转换。

参数:

  • resource - 目标资源指针
  • stateBefore - 转换前的资源状态
  • stateAfter - 转换后的资源状态
  • subresource - 子资源索引,默认为所有子资源

返回: 配置好的 D3D12_RESOURCE_BARRIER 结构

线程安全: (纯函数)

示例:

ID3D12Resource* texture = ...;
D3D12_RESOURCE_BARRIER barrier = CreateTransitionBarrier(
    texture,
    D3D12_RESOURCE_STATE_RENDER_TARGET,
    D3D12_RESOURCE_STATE_COMMON
);
cmdList->ResourceBarrier(1, &barrier);

相关文档