refactor(rendering): generalize pipeline stage render graph boundary

This commit is contained in:
2026-04-15 19:31:52 +08:00
parent df8f433fbb
commit 7671663b12
20 changed files with 108 additions and 84 deletions

View File

@@ -432,12 +432,13 @@ public:
ShutdownCameraFrameStandalonePasses();
}
bool SupportsMainSceneRenderGraph() const override {
return m_state->supportsMainSceneRenderGraph;
bool SupportsStageRenderGraph(CameraFrameStage stage) const override {
return SupportsCameraFramePipelineGraphRecording(stage) &&
m_state->supportsMainSceneRenderGraph;
}
bool RecordMainSceneRenderGraph(
const RenderPipelineMainSceneRenderGraphContext& context) override {
bool RecordStageRenderGraph(
const RenderPipelineStageRenderGraphContext& context) override {
++m_state->recordMainSceneCalls;
m_state->lastReceivedRenderGraphBlackboard = context.blackboard != nullptr;
if (const CameraFrameRenderGraphResources* frameResources =
@@ -3729,9 +3730,10 @@ TEST(ScriptableRenderPipelineHost_Test, ForwardsRendererLifetimeAndFrameRenderin
bool executionSucceeded = true;
RenderSceneData graphSceneData =
CreateSceneDataForCamera(scene, *camera, request.surface);
const RenderPipelineMainSceneRenderGraphContext graphContext = {
const RenderPipelineStageRenderGraphContext graphContext = {
graphBuilder,
"MainScene",
CameraFrameStage::MainScene,
request.context,
graphSceneData,
request.surface,
@@ -3744,8 +3746,8 @@ TEST(ScriptableRenderPipelineHost_Test, ForwardsRendererLifetimeAndFrameRenderin
&executionSucceeded,
&blackboard
};
EXPECT_TRUE(host.SupportsMainSceneRenderGraph());
EXPECT_TRUE(host.RecordMainSceneRenderGraph(graphContext));
EXPECT_TRUE(host.SupportsStageRenderGraph(CameraFrameStage::MainScene));
EXPECT_TRUE(host.RecordStageRenderGraph(graphContext));
EXPECT_EQ(replacementState->recordMainSceneCalls, 1);
}