]> git.tdb.fi Git - libs/gl.git/blobdiff - source/programcompiler.cpp
Recognize #version directive in GLSL
[libs/gl.git] / source / programcompiler.cpp
index 989098d7d0cf6410b4d26faed46f9c400bc06a3c..f30ccfa6233ad6b6dc8115488210c7f1dbd4c7a5 100644 (file)
@@ -209,6 +209,8 @@ void ProgramCompiler::append_stage(Stage &stage)
                target = &*i;
        }
 
                target = &*i;
        }
 
+       if(stage.required_version>target->required_version)
+               target->required_version = stage.required_version;
        for(NodeList<Statement>::iterator i=stage.content.body.begin(); i!=stage.content.body.end(); ++i)
                target->content.body.push_back(*i);
        apply<DeclarationCombiner>(*target);
        for(NodeList<Statement>::iterator i=stage.content.body.begin(); i!=stage.content.body.end(); ++i)
                target->content.body.push_back(*i);
        apply<DeclarationCombiner>(*target);
@@ -245,6 +247,8 @@ void ProgramCompiler::import(const string &name)
 
 void ProgramCompiler::generate(Stage &stage)
 {
 
 void ProgramCompiler::generate(Stage &stage)
 {
+       if(module->shared.required_version>stage.required_version)
+               stage.required_version = module->shared.required_version;
        inject_block(stage.content, module->shared.content);
 
        apply<DeclarationReorderer>(stage);
        inject_block(stage.content, module->shared.content);
 
        apply<DeclarationReorderer>(stage);