From d563d0906f63dc275ab32d34c3c990aaaffce6f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Mon, 13 Jan 2014 20:06:40 +0100 Subject: [PATCH] Buffer::mapAlignment() requires ARB_map_buffer_alignment. Return 0 if the extension is not supported. --- src/Magnum/Buffer.cpp | 3 +++ src/Magnum/Buffer.h | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Magnum/Buffer.cpp b/src/Magnum/Buffer.cpp index 80447462b..7f5369a65 100644 --- a/src/Magnum/Buffer.cpp +++ b/src/Magnum/Buffer.cpp @@ -80,6 +80,9 @@ void Buffer::initializeContextBasedFunctionality(Context& context) { #ifndef MAGNUM_TARGET_GLES Int Buffer::minMapAlignment() { + if(!Context::current()->isExtensionSupported()) + return 0; + GLint& value = Context::current()->state().buffer->minMapAlignment; if(value == 0) diff --git a/src/Magnum/Buffer.h b/src/Magnum/Buffer.h index b753658c3..4489b2730 100644 --- a/src/Magnum/Buffer.h +++ b/src/Magnum/Buffer.h @@ -422,7 +422,8 @@ class MAGNUM_EXPORT Buffer: public AbstractObject { * @brief Minimal supported mapping alignment * * The result is cached, repeated queries don't result in repeated - * OpenGL calls. + * OpenGL calls. If extension @extension{ARB,map_buffer_alignment} is + * not available, returns `0`. * @see @ref map(), @fn_gl{Get} with @def_gl{MIN_MAP_BUFFER_ALIGNMENT} * @requires_gl No minimal value is specified for OpenGL ES. */