Files
XCEngine/docs/api/XCEngine/Rendering/Pipelines/BuiltinForwardPipeline/Shutdown.md

1.1 KiB
Raw Blame History

BuiltinForwardPipeline::Shutdown

void Shutdown() override;

行为说明

当前 Shutdown() 已经统一走 pass sequence

m_passSequence.Shutdown();

真正的资源释放发生在 BuiltinForwardOpaquePass::Shutdown() 中。该 pass 会回调 BuiltinForwardPipeline::DestroyPipelineResources(),把 builtin forward 相关的共享缓存全部清掉。

当前释放内容

  • RenderResourceCache
  • m_pipelineStates
  • m_dynamicDescriptorSets
  • m_passResourceLayouts
  • fallback 纹理与 SRV
  • 线性 clamp sampler

这里释放的是“按 pass layout 分组的 pipeline layout / descriptor set / descriptor pool”而不是旧文档里描述的单一全局 pipeline layout。

当前语义

  • 多次调用是安全的;资源被清空后成员会回到空状态。
  • 下次 Render()Initialize() 再次进入时,会按当前 device/backend 重新建立共享资源。

相关文档