Align builtin and programmable render pipeline selection

This commit is contained in:
2026-04-26 15:20:30 +08:00
parent 8d56bb408a
commit f4afaf184e
15 changed files with 125 additions and 379 deletions

View File

@@ -241,7 +241,9 @@ TEST_F(ProjectScriptAssemblyTest, DiscoversProjectAssetRenderPipelineAssetClasse
TEST_F(
ProjectScriptAssemblyTest,
AutoConfiguresProjectDefaultRenderPipelineAssetOnRuntimeStart) {
DoesNotAutoConfigureProjectDefaultRenderPipelineAssetOnRuntimeStart) {
XCEngine::Rendering::Pipelines::
ClearConfiguredManagedRenderPipelineAssetDescriptor();
Scene* runtimeScene =
CreateScene("ProjectDefaultRenderPipelineScene");
@@ -251,32 +253,7 @@ TEST_F(
descriptor =
XCEngine::Rendering::Pipelines::
GetConfiguredManagedRenderPipelineAssetDescriptor();
ASSERT_TRUE(descriptor.IsValid());
EXPECT_EQ(descriptor.assemblyName, "GameScripts");
EXPECT_EQ(descriptor.namespaceName, "ProjectScripts");
EXPECT_EQ(
descriptor.className,
"ProjectDefaultRenderPipelineAsset");
const auto bridge =
XCEngine::Rendering::Pipelines::GetManagedRenderPipelineBridge();
ASSERT_NE(bridge, nullptr);
std::shared_ptr<const XCEngine::Rendering::Pipelines::ManagedRenderPipelineAssetRuntime>
assetRuntime = bridge->CreateAssetRuntime(descriptor);
ASSERT_NE(assetRuntime, nullptr);
std::unique_ptr<XCEngine::Rendering::RenderPipelineStageRecorder>
recorder = assetRuntime->CreateStageRecorder();
ASSERT_NE(recorder, nullptr);
const XCEngine::Rendering::RenderContext context = {};
ASSERT_TRUE(recorder->Initialize(context));
EXPECT_TRUE(
recorder->SupportsStageRenderGraph(
XCEngine::Rendering::CameraFrameStage::MainScene));
recorder->Shutdown();
EXPECT_FALSE(descriptor.IsValid());
}
TEST_F(