refactor(rendering): formalize pipeline selection and engine asset discovery

This commit is contained in:
2026-04-19 04:31:48 +08:00
parent 78bcd2e9ca
commit 48bfde28e3
17 changed files with 294 additions and 121 deletions

View File

@@ -4343,6 +4343,7 @@ TEST(ScriptableRenderPipelineHost_Test, ForwardsRendererLifetimeAndFrameRenderin
{},
{},
{},
{},
&executionSucceeded,
&blackboard
};
@@ -4410,6 +4411,7 @@ TEST(ScriptableRenderPipelineHost_Test, PrefersStageRecorderBeforeFallbackRender
{},
{},
{},
{},
&executionSucceeded,
&blackboard
};
@@ -4473,6 +4475,7 @@ TEST(
{},
{},
{},
{},
&executionSucceeded,
&blackboard
};
@@ -4957,7 +4960,7 @@ TEST(CameraRenderer_Test, DefaultPipelineAssetUsesManagedSelectionWhenPresent) {
"Gameplay",
"ManagedRenderPipelineProbeAsset"
};
Pipelines::SetManagedRenderPipelineAssetDescriptor(descriptor);
Pipelines::SetConfiguredManagedRenderPipelineAssetDescriptor(descriptor);
CameraRenderer renderer;
auto* asset =
@@ -4971,11 +4974,11 @@ TEST(CameraRenderer_Test, DefaultPipelineAssetUsesManagedSelectionWhenPresent) {
dynamic_cast<Pipelines::ScriptableRenderPipelineHost*>(renderer.GetPipeline()),
nullptr);
Pipelines::ClearManagedRenderPipelineAssetDescriptor();
Pipelines::ClearConfiguredManagedRenderPipelineAssetDescriptor();
}
TEST(CameraRenderer_Test, DefaultPipelineAssetRefreshesWhenManagedSelectionChanges) {
Pipelines::ClearManagedRenderPipelineAssetDescriptor();
Pipelines::ClearConfiguredManagedRenderPipelineAssetDescriptor();
CameraRenderer renderer;
EXPECT_EQ(
@@ -4988,7 +4991,7 @@ TEST(CameraRenderer_Test, DefaultPipelineAssetRefreshesWhenManagedSelectionChang
"Gameplay",
"ManagedRenderPipelineProbeAsset"
};
Pipelines::SetManagedRenderPipelineAssetDescriptor(descriptor);
Pipelines::SetConfiguredManagedRenderPipelineAssetDescriptor(descriptor);
auto* managedAsset =
dynamic_cast<const Pipelines::ManagedScriptableRenderPipelineAsset*>(
@@ -4998,7 +5001,7 @@ TEST(CameraRenderer_Test, DefaultPipelineAssetRefreshesWhenManagedSelectionChang
EXPECT_EQ(managedAsset->GetDescriptor().namespaceName, "Gameplay");
EXPECT_EQ(managedAsset->GetDescriptor().className, "ManagedRenderPipelineProbeAsset");
Pipelines::ClearManagedRenderPipelineAssetDescriptor();
Pipelines::ClearConfiguredManagedRenderPipelineAssetDescriptor();
EXPECT_EQ(
dynamic_cast<const Pipelines::ManagedScriptableRenderPipelineAsset*>(
renderer.GetPipelineAsset()),
@@ -5011,7 +5014,7 @@ TEST(CameraRenderer_Test, RebindsToResolvedDefaultAssetWhenPreferredAssetCannotC
"Gameplay",
"ManagedRenderPipelineProbeAsset"
};
Pipelines::SetManagedRenderPipelineAssetDescriptor(descriptor);
Pipelines::SetConfiguredManagedRenderPipelineAssetDescriptor(descriptor);
auto failingAssetState = std::make_shared<MockPipelineAssetState>();
failingAssetState->createNullPipeline = true;
@@ -5031,7 +5034,7 @@ TEST(CameraRenderer_Test, RebindsToResolvedDefaultAssetWhenPreferredAssetCannotC
EXPECT_EQ(asset->GetDescriptor().namespaceName, "Gameplay");
EXPECT_EQ(asset->GetDescriptor().className, "ManagedRenderPipelineProbeAsset");
Pipelines::ClearManagedRenderPipelineAssetDescriptor();
Pipelines::ClearConfiguredManagedRenderPipelineAssetDescriptor();
}
TEST(CameraRenderer_Test, RecreatesManagedPipelineWhenBridgeChanges) {