X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Fbuffer.cpp;h=00fd9cd3d42ac0597c255413b983f8d704b73bb4;hb=fcde8390ad577fe434dcd4b29e0f410d29f867c9;hp=98625b813bdfd9a626d8be87f52e6a2d7db228d6;hpb=1c2c36f1342df84ff195d8c58347c5e875590e0e;p=libs%2Fgl.git diff --git a/source/core/buffer.cpp b/source/core/buffer.cpp index 98625b81..00fd9cd3 100644 --- a/source/core/buffer.cpp +++ b/source/core/buffer.cpp @@ -2,6 +2,7 @@ #include #include #include +#include #include #include "buffer.h" #include "error.h" @@ -49,7 +50,11 @@ void Buffer::require_buffer_type(BufferType type) void Buffer::storage(unsigned sz) { if(size>0) - throw invalid_operation("Buffer::storage"); + { + if(sz!=size) + throw incompatible_data("Buffer::storage"); + return; + } if(sz==0) throw invalid_argument("Buffer::storage"); @@ -233,6 +238,16 @@ bool Buffer::set_current(BufferType type, const Buffer *buf) return true; } +void Buffer::set_debug_name(const string &name) +{ +#ifdef DEBUG + if(KHR_debug) + glObjectLabel(GL_BUFFER, id, name.size(), name.c_str()); +#else + (void)name; +#endif +} + vector BufferRange::bound_uniform;