X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Fgenerate.cpp;h=fe053ade254c3105d80771a72d575b264583946a;hb=3f899b1fc2e04f4fe74c99ad3e8ebb900c257214;hp=ff863824055ae76ef51cc9fdd08521b2b3548aa2;hpb=39141d961e55f56d540b3678f9f8fe94868f2652;p=libs%2Fgl.git diff --git a/source/glsl/generate.cpp b/source/glsl/generate.cpp index ff863824..fe053ade 100644 --- a/source/glsl/generate.cpp +++ b/source/glsl/generate.cpp @@ -99,15 +99,9 @@ void ConstantSpecializer::visit(VariableDeclaration &var) { RefPtr literal = new Literal; if(var.type=="bool") - { literal->token = (i->second ? "true" : "false"); - literal->value = static_cast(i->second); - } else if(var.type=="int") - { literal->token = lexical_cast(i->second); - literal->value = i->second; - } var.init_expression = literal; } } @@ -132,6 +126,8 @@ VariableResolver::VariableResolver(): void VariableResolver::apply(Stage &s) { stage = &s; + s.types.clear(); + s.interface_blocks.clear(); Stage *builtin_stage = get_builtins(s.type); builtins = (builtin_stage ? &builtin_stage->content : 0); s.content.visit(*this); @@ -312,6 +308,7 @@ void VariableResolver::visit(InterfaceBlock &iface) void FunctionResolver::apply(Stage &s) { stage = &s; + s.functions.clear(); s.content.visit(*this); }