992 B
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);