Shader: Add EliminateUnusedPassVisitor and use it when optimizing

This commit is contained in:
Jérôme Leclercq
2022-02-18 13:06:47 +01:00
parent ebd1318512
commit 3f7815175b
12 changed files with 407 additions and 30 deletions

View File

@@ -91,8 +91,6 @@ namespace Nz::ShaderAst
StatementPtr AstCloner::Clone(DeclareExternalStatement& node)
{
auto clone = std::make_unique<DeclareExternalStatement>();
clone->varIndex = node.varIndex;
clone->bindingSet = Clone(node.bindingSet);
clone->externalVars.reserve(node.externalVars.size());
@@ -100,6 +98,7 @@ namespace Nz::ShaderAst
{
auto& cloneVar = clone->externalVars.emplace_back();
cloneVar.name = var.name;
cloneVar.varIndex = var.varIndex;
cloneVar.type = Clone(var.type);
cloneVar.bindingIndex = Clone(var.bindingIndex);
cloneVar.bindingSet = Clone(var.bindingSet);