Improve builtin pass binding diagnostics

This commit is contained in:
2026-04-05 17:10:15 +08:00
parent 3968083da7
commit 5c75919b14
3 changed files with 80 additions and 2 deletions

View File

@@ -549,7 +549,13 @@ BuiltinForwardPipeline::PassResourceLayout* BuiltinForwardPipeline::GetOrCreateP
BuiltinPassResourceBindingPlan bindingPlan = {};
Containers::String bindingPlanError;
if (!TryBuildBuiltinPassResourceBindingPlan(resourceBindings, bindingPlan, &bindingPlanError)) {
return failLayout(bindingPlanError.CStr());
const Containers::String contextualError =
Containers::String("BuiltinForwardPipeline failed to resolve pass resource bindings for shader='") +
resolvedShaderPass.shader->GetPath() +
"', pass='" + resolvedShaderPass.passName +
"': " + bindingPlanError +
". Bindings: " + DescribeShaderResourceBindings(resourceBindings);
return failLayout(contextualError.CStr());
}
const bool hasAnyResource = !bindingPlan.bindings.Empty();