]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/buffer.cpp
Remove support for array size specialization from the engine as well
[libs/gl.git] / source / core / buffer.cpp
index 523b737d32bf696ff3628e48ddd4b6b64e55f428..240fcd72754b67babe7a28b9ee2fe42a80f1fe4b 100644 (file)
@@ -8,7 +8,7 @@ using namespace std;
 namespace Msp {
 namespace GL {
 
-void Buffer::storage(unsigned sz)
+void Buffer::storage(size_t sz)
 {
        if(size>0)
        {
@@ -29,15 +29,17 @@ void Buffer::data(const void *d)
        return sub_data(0, size, d);
 }
 
-void Buffer::sub_data(unsigned off, unsigned sz, const void *d)
+void Buffer::sub_data(size_t off, size_t sz, const void *d)
 {
        if(size==0)
                throw invalid_operation("Buffer::sub_data");
+       if(off>size || off+sz>size)
+               throw out_of_range("Buffer::sub_data");
 
        BufferBackend::sub_data(off, sz, d);
 }
 
-void Buffer::require_size(unsigned req_sz) const
+void Buffer::require_size(size_t req_sz) const
 {
        if(size<req_sz)
                throw buffer_too_small(format("buffer has %d bytes; %d required", size, req_sz));