diff options
Diffstat (limited to 'mesalib/src/mesa/main')
-rw-r--r-- | mesalib/src/mesa/main/bufferobj.c | 10 | ||||
-rw-r--r-- | mesalib/src/mesa/main/dlist.c | 3 |
2 files changed, 13 insertions, 0 deletions
diff --git a/mesalib/src/mesa/main/bufferobj.c b/mesalib/src/mesa/main/bufferobj.c index 541566509..332af3d36 100644 --- a/mesalib/src/mesa/main/bufferobj.c +++ b/mesalib/src/mesa/main/bufferobj.c @@ -848,6 +848,10 @@ _mesa_DeleteBuffersARB(GLsizei n, const GLuint *ids) _mesa_BindBufferARB( GL_PIXEL_UNPACK_BUFFER_EXT, 0 ); } + if (ctx->Texture.BufferObject == bufObj) { + _mesa_BindBufferARB( GL_TEXTURE_BUFFER, 0 ); + } + /* The ID is immediately freed for re-use */ _mesa_HashRemove(ctx->Shared->BufferObjects, ids[i]); /* Make sure we do not run into the classic ABA problem on bind. @@ -1360,6 +1364,12 @@ _mesa_CopyBufferSubData(GLenum readTarget, GLenum writeTarget, return; } + if (size < 0) { + _mesa_error(ctx, GL_INVALID_VALUE, + "glCopyBufferSubData(writeOffset = %d)", (int) size); + return; + } + if (readOffset + size > src->Size) { _mesa_error(ctx, GL_INVALID_VALUE, "glCopyBufferSubData(readOffset + size = %d)", diff --git a/mesalib/src/mesa/main/dlist.c b/mesalib/src/mesa/main/dlist.c index c1c65ea25..e04f7ae6b 100644 --- a/mesalib/src/mesa/main/dlist.c +++ b/mesalib/src/mesa/main/dlist.c @@ -10445,6 +10445,9 @@ _mesa_create_save_table(void) /* GL_ARB_debug_output (no dlist support) */ _mesa_init_errors_dispatch(table); + /* GL_NV_primitive_restart */ + SET_PrimitiveRestartIndexNV(table, _mesa_PrimitiveRestartIndex); + return table; } |