X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Fcompiler.cpp;h=e9933e2f9b67c4ec414999438a9e8c1c0ec60ba9;hb=5e4204e;hp=3516048ca7e62ae9fa83dc52c0f14a7fb0329745;hpb=cfee1ea700d860db170fd1621f3716bc47b677f8;p=libs%2Fgl.git diff --git a/source/glsl/compiler.cpp b/source/glsl/compiler.cpp index 3516048c..e9933e2f 100644 --- a/source/glsl/compiler.cpp +++ b/source/glsl/compiler.cpp @@ -214,7 +214,6 @@ void Compiler::append_stage(Stage &stage) target->required_features.glsl_version = stage.required_features.glsl_version; for(NodeList::iterator i=stage.content.body.begin(); i!=stage.content.body.end(); ++i) target->content.body.push_back(*i); - DeclarationCombiner().apply(*target); } void Compiler::import(DataFile::Collection *resources, const string &name) @@ -319,6 +318,8 @@ bool Compiler::diagnostic_line_order(const Diagnostic &diag1, const Diagnostic & Compiler::OptimizeResult Compiler::optimize(Stage &stage) { + if(ConstantFolder().apply(stage)) + resolve(stage, RESOLVE_EXPRESSIONS); ConstantConditionEliminator().apply(stage); bool any_inlined = false;