X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Frender%2Fprogramdata.h;fp=source%2Frender%2Fprogramdata.h;h=aeffae45700726f9bc5bd9c7fbc350477486eb90;hb=bb386d895f5fce2f0099886fdf7e7073b18246e8;hp=f600f02585c3d13fcd5cdd57ba0004da30c2e04b;hpb=fea2752a8abb1de5cc89addc92b804d9ff4fc89a;p=libs%2Fgl.git diff --git a/source/render/programdata.h b/source/render/programdata.h index f600f025..aeffae45 100644 --- a/source/render/programdata.h +++ b/source/render/programdata.h @@ -152,6 +152,7 @@ private: // XXX All these mutables are a bit silly, but I'm out of better ideas const Program *tied_program; std::vector uniforms; + unsigned generation; mutable std::vector blocks; mutable std::vector programs; mutable BufferBackedUniformBlock *last_buffer_block; @@ -173,6 +174,7 @@ private: void uniform_array(Tag, unsigned, V); bool validate_tag(Tag) const; void add_uniform(Tag, Uniform *); + void mark_dirty(Mask); public: void uniform(Tag, const Uniform &); void uniform(Tag, int); @@ -234,6 +236,8 @@ public: void remove_uniform(Tag); + unsigned get_generation() const { return generation; } + std::vector get_uniform_tags() const; const Uniform &get_uniform(Tag) const; const Uniform *find_uniform(Tag) const;