X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Fvisitor.cpp;h=3e480484c33dd6e12ad1ac8bad61801ba01b94c4;hb=e0caeb9be47bc140978552bb7149f1c9c8c973db;hp=5da89f54e69b608d1202f13fd2bdbced0a787f72;hpb=3a1fe833ea04df75449706f1d773f6e65521a392;p=libs%2Fgl.git diff --git a/source/glsl/visitor.cpp b/source/glsl/visitor.cpp index 5da89f54..3e480484 100644 --- a/source/glsl/visitor.cpp +++ b/source/glsl/visitor.cpp @@ -21,11 +21,6 @@ void TraversingVisitor::visit(RefPtr &expr) expr->visit(*this); } -void TraversingVisitor::visit(ParenthesizedExpression &parexpr) -{ - visit(parexpr.expression); -} - void TraversingVisitor::visit(MemberAccess &memacc) { visit(memacc.left); @@ -93,6 +88,8 @@ void TraversingVisitor::visit(VariableDeclaration &var) void TraversingVisitor::visit(InterfaceBlock &iface) { + if(iface.layout) + iface.layout->visit(*this); if(iface.members) iface.members->visit(*this); } @@ -196,9 +193,9 @@ void NodeRemover::visit(InterfaceBlock &iface) { if(to_remove->count(&iface)) { - remove_from_map(stage->interface_blocks, iface.interface+iface.name, iface); + remove_from_map(stage->interface_blocks, format("%s %s", iface.interface, iface.block_name), iface); if(!iface.instance_name.empty()) - remove_from_map(stage->interface_blocks, "_"+iface.instance_name, iface); + remove_from_map(stage->interface_blocks, iface.instance_name, iface); } SetFlag set_recursive(recursive_remove, recursive_remove || to_remove->count(&iface)); TraversingVisitor::visit(iface);