diff options
author | Kenneth Graunke <[email protected]> | 2012-06-04 00:51:34 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2012-06-05 14:41:34 -0700 |
commit | 3edd2ba22bdb9abd4e2b10db4379f4182b5c3ecd (patch) | |
tree | e73c3fa33640104a0b0d87065e821895e3c0c207 /src/mesa/main/bufferobj.c | |
parent | 05b086ce934fa2967da736db8db429d0886735a9 (diff) |
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 <[email protected]>
Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/mesa/main/bufferobj.c')
-rw-r--r-- | src/mesa/main/bufferobj.c | 8 |
1 files changed, 7 insertions, 1 deletions
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) { |