]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/builtin.cpp
Redesign loading of GLSL sources
[libs/gl.git] / source / glsl / builtin.cpp
index 12602707db80ca5043b6582f5b6917422cb2f477..b9fe487c7bb2f810360918167df628d05a5acbfb 100644 (file)
@@ -28,8 +28,9 @@ Module *get_builtins_module()
                if(!io)
                        return 0;
 
-               Parser parser;
-               Module *module = new Module(parser.parse(*io, "<builtin>", BUILTIN_SOURCE));
+               RefPtr<Module> module = new Module;
+               Parser parser(0);
+               parser.parse(*module, *io, "<builtin>", BUILTIN_SOURCE);
 
                NodeList<Statement> &shared_body = module->shared.content.body;
                NodeList<Statement>::iterator insert_point = shared_body.begin();
@@ -73,7 +74,7 @@ Module *get_builtins_module()
                for(list<Stage>::iterator i=module->stages.begin(); i!=module->stages.end(); ++i)
                        populate_types(*i);
 
-               builtins_module = module;
+               builtins_module = module.release();
        }
        return builtins_module.get();
 }