From bf8cfce72f37624d688668b6cb81b35ad26496c1 Mon Sep 17 00:00:00 2001 From: malc Date: Sat, 15 Dec 2012 03:02:25 +0400 Subject: [PATCH] glUnmapBufferARB can fail Print an error message and die if it does. --- link.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/link.c b/link.c index f76c269..ad4561e 100644 --- a/link.c +++ b/link.c @@ -231,7 +231,7 @@ struct { int pbo_usable; void (*glBindBufferARB) (GLenum, GLuint); - void (*glUnmapBufferARB) (GLenum); + GLboolean (*glUnmapBufferARB) (GLenum); void *(*glMapBufferARB) (GLenum, GLenum); void (*glBufferDataARB) (GLenum, GLsizei, void *, GLenum); void (*glGenBuffersARB) (GLsizei, GLuint *); @@ -3455,7 +3455,9 @@ CAMLprim value ml_unmappbo (value s_v) if (tile->pbo) { state.glBindBufferARB (GL_PIXEL_UNPACK_BUFFER_ARB, tile->pbo->id); - state.glUnmapBufferARB (GL_PIXEL_UNPACK_BUFFER_ARB); + if (state.glUnmapBufferARB (GL_PIXEL_UNPACK_BUFFER_ARB) == GL_FALSE) { + errx (1, "glUnmapBufferARB failed: %#x\n", glGetError ()); + } tile->pbo->ptr = NULL; state.glBindBufferARB (GL_PIXEL_UNPACK_BUFFER_ARB, 0); } -- 2.11.4.GIT