]> git.tdb.fi Git - libs/gl.git/blobdiff - source/bufferable.cpp
Make buffer storage immutable and use ARB_buffer_storage
[libs/gl.git] / source / bufferable.cpp
index 6124f7616660bc62507928f1965c83947adb1ec6..4544c508cb072c4e47e02c357aab452d41e2a754 100644 (file)
@@ -48,15 +48,17 @@ void Bufferable::use_buffer(Buffer *buf, Bufferable *prev)
        update_offset();
 }
 
-void Bufferable::buffer_resized()
+void Bufferable::change_buffer(Buffer *buf)
 {
        for(Bufferable *b=this; b; b=b->next_in_buffer)
        {
+               b->buffer = buf;
                b->location_dirty = true;
                b->dirty = true;
        }
        for(Bufferable *b=prev_in_buffer; b; b=b->prev_in_buffer)
        {
+               b->buffer = buf;
                b->location_dirty = true;
                b->dirty = true;
        }
@@ -138,7 +140,7 @@ Bufferable::AsyncUpdater::AsyncUpdater(const Bufferable &b):
        bufferable(b)
 {
        bufferable.buffer->require_size(bufferable.get_required_buffer_size());
-       mapped_address = reinterpret_cast<char *>(bufferable.buffer->map(WRITE_ONLY));
+       mapped_address = reinterpret_cast<char *>(bufferable.buffer->map());
 }
 
 Bufferable::AsyncUpdater::~AsyncUpdater()