# RenderSurface::IsAutoTransitionEnabled 查询当前是否允许渲染路径自动处理颜色附件状态切换。 ```cpp bool IsAutoTransitionEnabled() const; ``` ## 返回值 - 返回内部保存的 `m_autoTransition`。 ## 当前语义 - 当返回 `true` 时,`BuiltinForwardPipeline::Render()` 和 `BuiltinObjectIdPass::Render()` 会按 `colorStateBefore -> RenderTarget -> colorStateAfter` 的方式自动为颜色附件插入 barrier。 - 当返回 `false` 时,这两条路径不会替调用方做上述颜色状态切换。 - 这个开关只描述颜色附件,不包含深度附件状态。 ## 当前实现边界 - 它不是对所有 pass 的全局强约束。`SceneViewportEditorOverlayPassRenderer::Render()` 会显式读取 [GetColorStateAfter](GetColorStateAfter.md),自己从该状态切到 `RenderTarget` 再切回去,而不是依赖这个布尔开关。 - 因此这里更像“供部分内建渲染路径采纳的策略位”,不是统一的 RHI 状态机。 ## 相关文档 - [RenderSurface](RenderSurface.md) - [SetAutoTransitionEnabled](SetAutoTransitionEnabled.md) - [GetColorStateBefore](GetColorStateBefore.md) - [GetColorStateAfter](GetColorStateAfter.md)