X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fprogramcompiler.h;h=695c2e260a7c65ec4ced67b5c9b15c7c537c5d16;hp=829f75358cdd08695d16730184f109cc03e5c0d6;hb=5945ad9b63bbc55c3ed21f0c023d17f73aaac370;hpb=49717d5554becc07a4fafa4f1cbf85ac6ca13907 diff --git a/source/programcompiler.h b/source/programcompiler.h index 829f7535..695c2e26 100644 --- a/source/programcompiler.h +++ b/source/programcompiler.h @@ -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 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 &);