X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fprogramdata.cpp;h=f3f498f3e948966d9e1dd3524175b1d0ddc5060e;hb=ccd59643144950604f95339683bac0ca4e8366d1;hp=7334596c0d4873cfb550b995e5791d8b5236cd2d;hpb=904de4f7fd994886adbd3a6c03bc1b7c14ebc562;p=libs%2Fgl.git diff --git a/source/programdata.cpp b/source/programdata.cpp index 7334596c..f3f498f3 100644 --- a/source/programdata.cpp +++ b/source/programdata.cpp @@ -39,6 +39,7 @@ ProgramData::~ProgramData() delete i->second; for(BlockMap::iterator i=blocks.begin(); i!=blocks.end(); ++i) delete i->second.block; + delete buffer; } void ProgramData::uniform(const string &name, Uniform *uni) @@ -171,7 +172,10 @@ UniformBlock *ProgramData::create_block(const Program::UniformBlockInfo &info) c { UniformBlock *block = new UniformBlock(info.data_size); if(!buffer) + { buffer = new Buffer(UNIFORM_BUFFER); + buffer->set_usage(STREAM_DRAW); + } block->use_buffer(buffer, last_block); last_block = block; return block;