Tighten SRP stage fallback gate
This commit is contained in:
@@ -91,6 +91,9 @@ Unity 兼容的公开命名、对象所有权和扩展点。
|
||||
哪些 stages 存在;native 只执行这些声明,不夹带 built-in pipeline policy。
|
||||
- Hidden fallback 很危险。如果 managed URP stage 声明支持但无法 record,失败必须可见。不要静默用
|
||||
default built-in path 画同一个 stage,然后称之为 URP。
|
||||
- Camera-frame graph dispatch 必须询问所选 pipeline 是否允许 legacy stage fallback。Managed
|
||||
`ScriptableRenderPipelineHost` 在 stage recorder 或 managed runtime 权威时不允许 fallback;此时缺少
|
||||
recorder、sequence 或 standalone pass 要在 graph recording 阶段失败,而不是排入 built-in fallback。
|
||||
- 测试体系已经有有价值的覆盖,但还不足以宣称 SRP/URP stack 完全锁定。随着架构边界收口,应补高价值
|
||||
contract tests;现阶段不要为了大范围测试体系重写而暂停架构工作。
|
||||
|
||||
@@ -333,3 +336,6 @@ Scene data 每个 camera frame 提取一次,然后由 pipeline 调整。
|
||||
`CameraFrameStage` 和 `CameraFramePlan`。
|
||||
- Final color processing 表示为 policy 和 final output stage,而不是 implicit swapchain behavior。
|
||||
- Object-id rendering 是 top-level tooling pass,并由 `XCENGINE_ENABLE_RENDERING_EDITOR_SUPPORT` guard。
|
||||
- Camera-frame graph dispatch 已收紧 legacy fallback gate:只有所选 pipeline 明确允许时,未被
|
||||
render-graph recorder、pass sequence 或 standalone pass 处理的 stage 才能进入 fallback raster pass。
|
||||
Managed SRP/URP host 不允许 hidden built-in fallback。
|
||||
|
||||
@@ -49,6 +49,9 @@ public:
|
||||
bool SupportsStageRenderGraph(CameraFrameStage stage) const override;
|
||||
bool SupportsStageRenderGraph(
|
||||
const RenderPipelineStageSupportContext& context) const override;
|
||||
bool AllowsCameraFrameStageFallback(CameraFrameStage stage) const override;
|
||||
bool AllowsCameraFrameStageFallback(
|
||||
const RenderPipelineStageSupportContext& context) const override;
|
||||
bool RecordStageRenderGraph(
|
||||
const RenderPipelineStageRenderGraphContext& context) override;
|
||||
bool Render(const FrameExecutionContext& executionContext) override;
|
||||
|
||||
@@ -103,6 +103,13 @@ public:
|
||||
const RenderPipelineStageSupportContext& context) const {
|
||||
return SupportsStageRenderGraph(context.stage);
|
||||
}
|
||||
virtual bool AllowsCameraFrameStageFallback(CameraFrameStage) const {
|
||||
return true;
|
||||
}
|
||||
virtual bool AllowsCameraFrameStageFallback(
|
||||
const RenderPipelineStageSupportContext& context) const {
|
||||
return AllowsCameraFrameStageFallback(context.stage);
|
||||
}
|
||||
virtual bool RecordStageRenderGraph(
|
||||
const RenderPipelineStageRenderGraphContext&) {
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user