]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/optimize.cpp
Minor, largely cosmetic tweaks
[libs/gl.git] / source / glsl / optimize.cpp
index 56ff34d2fd883eb93dcb3dee629c678814e86e0a..3356a3c9aa6282c59dc1e0fa707f8224c44fa4f8 100644 (file)
@@ -68,9 +68,9 @@ InlineContentInjector::InlineContentInjector():
        deps_only(false)
 { }
 
-const string &InlineContentInjector::apply(Stage &stage, FunctionDeclaration &target_func, Block &tgtb, const NodeList<Statement>::iterator &ins_pt, FunctionDeclaration &src)
+const string &InlineContentInjector::apply(Stage &stage, FunctionDeclaration &target_func, Block &tgt_blk, const NodeList<Statement>::iterator &ins_pt, FunctionDeclaration &src)
 {
-       target_block = &tgtb;
+       target_block = &tgt_blk;
        source_func = &src;
        for(NodeList<Statement>::iterator i=src.body.body.begin(); i!=src.body.body.end(); ++i)
        {
@@ -81,7 +81,7 @@ const string &InlineContentInjector::apply(Stage &stage, FunctionDeclaration &ta
 
                SetFlag set_remap(remap_names);
                r_inlined_statement->visit(*this);
-               tgtb.body.insert(ins_pt, r_inlined_statement);
+               tgt_blk.body.insert(ins_pt, r_inlined_statement);
        }
 
        NodeReorderer().apply(stage, target_func, dependencies);
@@ -474,7 +474,7 @@ void UnusedVariableRemover::visit(BinaryExpression &binary)
                if(assignment_target)
                        r_assign_to_subfield = true;
                binary.left->visit(*this);
-               SetForScope<bool> set(assignment_target, false);
+               SetFlag set(assignment_target, false);
                binary.right->visit(*this);
        }
        else
@@ -484,7 +484,7 @@ void UnusedVariableRemover::visit(BinaryExpression &binary)
 void UnusedVariableRemover::visit(Assignment &assign)
 {
        {
-               SetForScope<bool> set(assignment_target, !assign.self_referencing);
+               SetFlag set(assignment_target, !assign.self_referencing);
                assign.left->visit(*this);
        }
        assign.right->visit(*this);
@@ -567,7 +567,8 @@ void UnusedVariableRemover::visit(FunctionDeclaration &func)
 
        BlockVariableMap &block_variables = variables.back();
        for(BlockVariableMap::iterator i=block_variables.begin(); i!=block_variables.end(); ++i)
-               i->second.conditionally_assigned = true;
+               if(!i->second.local)
+                       i->second.conditionally_assigned = true;
        for(NodeArray<VariableDeclaration>::iterator i=func.parameters.begin(); i!=func.parameters.end(); ++i)
                block_variables[i->get()].referenced = true;
        merge_down_variables();