On 06/04/2012 02:12 AM, Kenneth Graunke wrote:
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<kenn...@whitecape.org>
---
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 fe7db2a..36a7619 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) {
Reviewed-by: Brian Paul <bri...@vmware.com>
You might also check that _mesa_free_transform_feedback() is
unbinding/unrefing these buffer objects too.
-Brian
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev