X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Fgenerate.cpp;h=38eda220cee20533db6936e1b79d0831c01aefff;hb=8173340a7737e32cb25b21b67049102bd1526beb;hp=6b336f3179de690b2967cd85fe5da0cafff130ab;hpb=19a24f859cd7fcf581442319499ae24b3e7385a4;p=libs%2Fgl.git diff --git a/source/glsl/generate.cpp b/source/glsl/generate.cpp index 6b336f31..38eda220 100644 --- a/source/glsl/generate.cpp +++ b/source/glsl/generate.cpp @@ -116,10 +116,10 @@ void BlockHierarchyResolver::enter(Block &block) VariableResolver::VariableResolver(): stage(0), - members(0), + r_members(0), record_target(false), - assignment_target(0), - self_referencing(false) + r_assignment_target(0), + r_self_referencing(false) { } void VariableResolver::apply(Stage &s) @@ -138,7 +138,7 @@ void VariableResolver::enter(Block &block) void VariableResolver::visit(VariableReference &var) { var.declaration = 0; - members = 0; + r_members = 0; for(Block *block=current_block; (!var.declaration && block); block=block->parent) { map::iterator i = block->variables.find(var.name); @@ -149,7 +149,7 @@ void VariableResolver::visit(VariableReference &var) if(var.declaration) { if(var.declaration->type_declaration) - members = &var.declaration->type_declaration->members.variables; + r_members = &var.declaration->type_declaration->members.variables; } else { @@ -157,10 +157,10 @@ void VariableResolver::visit(VariableReference &var) map::const_iterator i = blocks.find(var.name); if(i!=blocks.end() && i->second->instance_name==var.name) { - iface_ref = new InterfaceBlockReference; - iface_ref->name = var.name; - iface_ref->declaration = i->second; - members = &i->second->members.variables; + r_iface_ref = new InterfaceBlockReference; + r_iface_ref->name = var.name; + r_iface_ref->declaration = i->second; + r_members = &i->second->members.variables; } else { @@ -176,16 +176,16 @@ void VariableResolver::visit(VariableReference &var) if(record_target) { - if(assignment_target) + if(r_assignment_target) { record_target = false; - assignment_target = 0; + r_assignment_target = 0; } else - assignment_target = var.declaration; + r_assignment_target = var.declaration; } - else if(var.declaration && var.declaration==assignment_target) - self_referencing = true; + else if(var.declaration && var.declaration==r_assignment_target) + r_self_referencing = true; } void VariableResolver::visit(InterfaceBlockReference &iface) @@ -197,7 +197,7 @@ void VariableResolver::visit(InterfaceBlockReference &iface) if(i!=stage->interface_blocks.end()) { iface.declaration = i->second; - members = &i->second->members.variables; + r_members = &i->second->members.variables; break; } } @@ -205,26 +205,26 @@ void VariableResolver::visit(InterfaceBlockReference &iface) void VariableResolver::visit(MemberAccess &memacc) { - members = 0; - iface_ref = 0; + r_members = 0; + r_iface_ref = 0; memacc.left->visit(*this); - if(iface_ref) - memacc.left = iface_ref; - iface_ref = 0; + if(r_iface_ref) + memacc.left = r_iface_ref; + r_iface_ref = 0; memacc.declaration = 0; - if(members) + if(r_members) { - map::iterator i = members->find(memacc.member); - if(i!=members->end()) + map::iterator i = r_members->find(memacc.member); + if(i!=r_members->end()) { memacc.declaration = i->second; if(i->second->type_declaration) - members = &i->second->type_declaration->members.variables; + r_members = &i->second->type_declaration->members.variables; } else - members = 0; + r_members = 0; } } @@ -236,17 +236,17 @@ void VariableResolver::visit(BinaryExpression &binary) SetForScope set(record_target, false); binary.right->visit(*this); } - members = 0; - iface_ref = 0; + r_members = 0; + r_iface_ref = 0; binary.left->visit(*this); - if(iface_ref) - binary.left = iface_ref; - iface_ref = 0; + if(r_iface_ref) + binary.left = r_iface_ref; + r_iface_ref = 0; } else { TraversingVisitor::visit(binary); - members = 0; + r_members = 0; } } @@ -254,15 +254,15 @@ void VariableResolver::visit(Assignment &assign) { { SetFlag set(record_target); - assignment_target = 0; + r_assignment_target = 0; assign.left->visit(*this); } - self_referencing = false; + r_self_referencing = false; assign.right->visit(*this); - assign.self_referencing = (self_referencing || assign.oper->token[0]!='='); - assign.target_declaration = assignment_target; + assign.self_referencing = (r_self_referencing || assign.oper->token[0]!='='); + assign.target_declaration = r_assignment_target; } void VariableResolver::visit(StructDeclaration &strct)