]> git.tdb.fi Git - libs/gl.git/blobdiff - source/programbuilder.h
Shader optimization
[libs/gl.git] / source / programbuilder.h
index 30f1ef15738b3ab969c288442fe354c0ae7b7843..82a954b58b481faf4809cac719baa3aa1c48079a 100644 (file)
@@ -64,6 +64,8 @@ private:
                std::string resolved_space;
                std::list<ShaderVariable *> referenced_vars;
                std::list<ShaderVariable *> referenced_by;
+               bool inlined;
+               bool inline_parens;
 
                ShaderVariable(const std::string &);
 
@@ -72,6 +74,7 @@ private:
                void resolve_space(const std::string &);
                void add_reference(ShaderVariable &);
                void update_reference(ShaderVariable &, ShaderVariable &);
+               void check_inline();
                bool is_referenced_from(VariableScope) const;
                std::string get_expression() const;
        };
@@ -85,12 +88,14 @@ private:
 
        StandardFeatures features;
        std::string feature_flags;
+       bool optimize;
 
        static const StandardVariable standard_variables[];
 
 public:
        ProgramBuilder(const StandardFeatures &);
 
+       void set_optimize(bool);
        Program *create_program() const;
        void add_shaders(Program &) const;
 private: