refactor(rendering): move host standalone pass defaults into assets

This commit is contained in:
2026-04-15 21:32:50 +08:00
parent f2eebfc842
commit 02438762fd
5 changed files with 51 additions and 19 deletions

View File

@@ -21,8 +21,20 @@ std::shared_ptr<const RenderPipelineAsset> CreateDefaultPipelineAsset() {
std::unique_ptr<RenderPipeline> CreatePipelineFromAsset(
const std::shared_ptr<const RenderPipelineAsset>& pipelineAsset) {
if (pipelineAsset != nullptr) {
std::unique_ptr<RenderPipeline> pipeline = pipelineAsset->CreatePipeline();
const std::shared_ptr<const RenderPipelineAsset> resolvedAsset =
pipelineAsset != nullptr ? pipelineAsset : CreateDefaultPipelineAsset();
if (resolvedAsset != nullptr) {
std::unique_ptr<RenderPipeline> pipeline = resolvedAsset->CreatePipeline();
if (pipeline != nullptr) {
return pipeline;
}
}
const std::shared_ptr<const RenderPipelineAsset> fallbackAsset =
CreateDefaultPipelineAsset();
if (fallbackAsset != nullptr &&
fallbackAsset != resolvedAsset) {
std::unique_ptr<RenderPipeline> pipeline = fallbackAsset->CreatePipeline();
if (pipeline != nullptr) {
return pipeline;
}