]> git.tdb.fi Git - libs/gl.git/blobdiff - source/programdata.cpp
Make buffer storage immutable and use ARB_buffer_storage
[libs/gl.git] / source / programdata.cpp
index 1589d9b0d44e00258d2457fc1f8acb0def28b23e..4a6c262a37a646bfd128f3cda4143ae5007e2a70 100644 (file)
@@ -603,7 +603,16 @@ void ProgramData::apply() const
                {
                        unsigned required_size = last_block->get_required_buffer_size();
                        if(last_block->get_required_buffer_size()>buffer->get_size())
-                               buffer->data(required_size, 0);
+                       {
+                               if(buffer->get_size()>0)
+                               {
+                                       delete buffer;
+                                       buffer = new Buffer(UNIFORM_BUFFER);
+                                       last_block->change_buffer(buffer);
+                               }
+
+                               buffer->storage(required_size);
+                       }
                }
        }