From 3edd2ba22bdb9abd4e2b10db4379f4182b5c3ecd Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Mon, 4 Jun 2012 00:51:34 -0700 Subject: [PATCH] mesa: Unbind ARB_transform_feedback2 binding points on Delete too. DeleteBuffer needs to unbind from these binding points as well, based on the same rationale as the previous patch. +51 oglconforms (together with the last patch). NOTE: This is a candidate for stable release branches. Signed-off-by: Kenneth Graunke Reviewed-by: Brian Paul --- src/mesa/main/bufferobj.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c index fe7db2a678b..36a761986a1 100644 --- a/src/mesa/main/bufferobj.c +++ b/src/mesa/main/bufferobj.c @@ -42,6 +42,7 @@ #include "mfeatures.h" #include "mtypes.h" #include "texobj.h" +#include "transformfeedback.h" /* Debug flags */ @@ -829,10 +830,15 @@ _mesa_DeleteBuffersARB(GLsizei n, const GLuint *ids) _mesa_BindBufferARB( GL_COPY_WRITE_BUFFER, 0 ); } - /* unbind transform feedback binding point */ + /* unbind transform feedback binding points */ if (ctx->TransformFeedback.CurrentBuffer == bufObj) { _mesa_BindBufferARB( GL_TRANSFORM_FEEDBACK_BUFFER, 0 ); } + for (j = 0; j < MAX_FEEDBACK_ATTRIBS; j++) { + if (ctx->TransformFeedback.CurrentObject->Buffers[j] == bufObj) { + _mesa_BindBufferBase( GL_TRANSFORM_FEEDBACK_BUFFER, j, 0 ); + } + } /* unbind any pixel pack/unpack pointers bound to this buffer */ if (ctx->Pack.BufferObj == bufObj) { -- 2.30.2