]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/optimize.cpp
Refactor the way of applying visitors to stages
[libs/gl.git] / source / glsl / optimize.cpp
index f4d1680bccfbe76d1dd3ddb4829390fdee123f95..c76cae1b50f34a69ade9d31ead0c563250d24ae6 100644 (file)
@@ -217,10 +217,10 @@ UnusedVariableLocator::UnusedVariableLocator():
        global_scope(true)
 { }
 
-void UnusedVariableLocator::apply(Stage &s)
+const set<Node *> &UnusedVariableLocator::apply(Stage &s)
 {
        variables.push_back(BlockVariableMap());
-       StageVisitor::apply(s);
+       visit(s.content);
        BlockVariableMap &global_variables = variables.back();
        for(BlockVariableMap::iterator i=global_variables.begin(); i!=global_variables.end(); ++i)
        {
@@ -233,6 +233,8 @@ void UnusedVariableLocator::apply(Stage &s)
                }
        }
        variables.pop_back();
+
+       return unused_nodes;
 }
 
 void UnusedVariableLocator::visit(VariableReference &var)