]> git.tdb.fi Git - libs/gl.git/blobdiff - source/backends/opengl/buffer_backend.cpp
Redesign asynchronous buffer uploads
[libs/gl.git] / source / backends / opengl / buffer_backend.cpp
index 13944a86d439231e93603b84454fceed5f781900..c59540834615c61062ccd81ad33428fe90c764c4 100644 (file)
@@ -39,7 +39,7 @@ OpenGLBuffer::~OpenGLBuffer()
 
 void OpenGLBuffer::allocate()
 {
-       size_t size = static_cast<const Buffer *>(this)->size;
+       size_t size = static_cast<const Buffer *>(this)->get_total_size();
 
        if(ARB_buffer_storage)
        {
@@ -132,5 +132,16 @@ void OpenGLBuffer::unbind_scratch()
        }
 }
 
+
+void Buffer::AsyncTransfer::allocate()
+{
+       dest_addr = buffer.map();
+}
+
+void Buffer::AsyncTransfer::finalize()
+{
+       buffer.unmap();
+}
+
 } // namespace GL
 } // namespace Msp