X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Frender%2Fprogramdata.h;h=f1c5996eb910e3e51368571472e94e6902d12bec;hb=5003bcfeb0832ec2d0f74f4149bc97888a70a900;hp=9b8a25cb15be498a916bf0ffcf28c868ea56bb02;hpb=282a10854eda602d874e200c8301cf57d6501e81;p=libs%2Fgl.git diff --git a/source/render/programdata.h b/source/render/programdata.h index 9b8a25cb..f1c5996e 100644 --- a/source/render/programdata.h +++ b/source/render/programdata.h @@ -2,6 +2,7 @@ #define MSP_GL_PROGRAMDATA_H_ #include +#include #include #include "datatype.h" #include "matrix.h" @@ -35,7 +36,7 @@ programs have the same layout, the same block is used for them. The class is optimized for an access pattern where the set of uniforms and programs stays constants, with only the values changing. */ -class ProgramData +class ProgramData: public NonCopyable { public: class Loader: public DataFile::ObjectLoader @@ -162,9 +163,7 @@ private: public: ProgramData(const Program * = 0); - ProgramData(const ProgramData &); - ProgramData(const ProgramData &, const Program *); - ProgramData &operator=(const ProgramData &); + ProgramData(ProgramData &&); ~ProgramData(); private: @@ -247,6 +246,7 @@ public: std::vector get_uniform_tags() const; void copy_uniform(const ProgramData &, Tag); + void copy_uniforms(const ProgramData &); private: int find_uniform_index(Tag) const;