X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Fvisitor.cpp;h=c27de11892607ec627e1a6bf7022e2aa267e0023;hb=f08bd843fbe63a0bf5bcbc21308f2751d08f00c1;hp=0577b5ab213f5e67296f87e0285323cc0e361433;hpb=33dcf183c6394b403b340095f0cf6ac58bd8090d;p=libs%2Fgl.git diff --git a/source/glsl/visitor.cpp b/source/glsl/visitor.cpp index 0577b5ab..c27de118 100644 --- a/source/glsl/visitor.cpp +++ b/source/glsl/visitor.cpp @@ -165,10 +165,6 @@ void NodeRemover::visit(VariableDeclaration &var) if(recursive_remove || to_remove->count(&var)) { remove_variable(current_block->variables, var); - if(current_block->anonymous && current_block->parent) - remove_variable(current_block->parent->variables, var); - remove_variable(stage->in_variables, var); - remove_variable(stage->out_variables, var); stage->locations.erase(var.name); if(var.linked_declaration) var.linked_declaration->linked_declaration = 0; @@ -179,6 +175,8 @@ void NodeRemover::visit(VariableDeclaration &var) void NodeRemover::visit(InterfaceBlock &iface) { + if(to_remove->count(&iface)) + current_block->interfaces.erase(&iface); SetFlag set_recursive(recursive_remove, recursive_remove || to_remove->count(&iface)); TraversingVisitor::visit(iface); }