X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Foptimize.cpp;h=c76cae1b50f34a69ade9d31ead0c563250d24ae6;hb=47d9d5d10469340af44909de9c8ab9fd4f1a19a1;hp=25115a5975674485afb4f0b8e1368250419be451;hpb=696a97bd7411d69953c1a9e4b5f3dfb4c1d848f1;p=libs%2Fgl.git diff --git a/source/glsl/optimize.cpp b/source/glsl/optimize.cpp index 25115a59..c76cae1b 100644 --- a/source/glsl/optimize.cpp +++ b/source/glsl/optimize.cpp @@ -217,14 +217,14 @@ UnusedVariableLocator::UnusedVariableLocator(): global_scope(true) { } -void UnusedVariableLocator::apply(Stage &s) +const set &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) { - if(i->first->interface=="out" && (s.type==FRAGMENT || i->first->linked_declaration || !i->first->name.compare(0, 3, "gl_"))) + if(i->first->interface=="out" && (s.type==Stage::FRAGMENT || i->first->linked_declaration || !i->first->name.compare(0, 3, "gl_"))) continue; if(!i->second.referenced) { @@ -233,6 +233,8 @@ void UnusedVariableLocator::apply(Stage &s) } } variables.pop_back(); + + return unused_nodes; } void UnusedVariableLocator::visit(VariableReference &var)