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

@@ -422,7 +422,13 @@ BuiltinDepthStylePassBase::PassResourceLayout* BuiltinDepthStylePassBase::GetOrC
BuiltinPassResourceBindingPlan bindingPlan = {};
Containers::String bindingPlanError;
if (!TryBuildSupportedBindingPlan(*resolvedShaderPass.pass, bindingPlan, &bindingPlanError)) {
return failLayout(bindingPlanError.CStr());
const Containers::String contextualError =
Containers::String("BuiltinDepthStylePassBase failed to resolve pass resource bindings for shader='") +
resolvedShaderPass.shader->GetPath() +
"', pass='" + resolvedShaderPass.passName +
"': " + bindingPlanError +
". Bindings: " + DescribeShaderResourceBindings(resolvedShaderPass.pass->resources);
return failLayout(contextualError.CStr());
}
std::vector<BuiltinPassSetLayoutMetadata> setLayouts;