]> git.tdb.fi Git - libs/gl.git/blobdiff - source/programcompiler.h
Add a module for builtin interface variables
[libs/gl.git] / source / programcompiler.h
index 829f75358cdd08695d16730184f109cc03e5c0d6..695c2e260a7c65ec4ced67b5c9b15c7c537c5d16 100644 (file)
@@ -28,6 +28,7 @@ private:
                unsigned indent;
                bool parameter_list;
                bool else_if;
+               std::string block_interface;
 
                Formatter();
 
@@ -55,9 +56,11 @@ private:
                std::vector<ProgramSyntax::Block *> blocks;
                ProgramSyntax::StructDeclaration *type;
                bool anonymous;
+               std::string block_interface;
 
                VariableResolver();
 
+               virtual void apply(ProgramSyntax::Stage &);
                virtual void visit(ProgramSyntax::Block &);
                virtual void visit(ProgramSyntax::VariableReference &);
                virtual void visit(ProgramSyntax::MemberAccess &);
@@ -137,6 +140,9 @@ public:
        void add_shaders(Program &);
 
 private:
+       static ProgramSyntax::Module *create_builtins_module();
+       static ProgramSyntax::Module &get_builtins_module();
+       static ProgramSyntax::Stage *get_builtins(ProgramSyntax::StageType);
        void process();
        void generate(ProgramSyntax::Stage &);
        bool optimize(ProgramSyntax::Stage &);