]> git.tdb.fi Git - libs/gl.git/blobdiff - source/buffer.cpp
Move buffer resizing out of Bufferable
[libs/gl.git] / source / buffer.cpp
index 4b485ddad6cb266d1d96d2e844c40583cb9ace3a..91aa4028a1bc3d9279fffddc7912825762a03c36 100644 (file)
@@ -1,6 +1,7 @@
 #include <stdexcept>
 #include <msp/gl/extensions/arb_direct_state_access.h>
 #include <msp/gl/extensions/arb_map_buffer_range.h>
+#include <msp/strings/format.h>
 #include "buffer.h"
 #include "error.h"
 #include "misc.h"
@@ -73,6 +74,12 @@ void Buffer::sub_data(unsigned off, unsigned sz, const void *d)
        }
 }
 
+void Buffer::require_size(unsigned req_sz) const
+{
+       if(size<req_sz)
+               throw buffer_too_small(format("buffer has %d bytes; %d required", size, req_sz));
+}
+
 BufferRange *Buffer::create_range(unsigned s, unsigned o)
 {
        return new BufferRange(*this, s, o);