mesa: Flag _NEW_BUFFERS when unbinding an attachment on glDeleteTextures.
authorEric Anholt <eric@anholt.net>
Wed, 25 May 2011 23:37:09 +0000 (16:37 -0700)
committerEric Anholt <eric@anholt.net>
Sat, 18 Jun 2011 22:26:26 +0000 (15:26 -0700)
The _ColorDrawBuffers[] wouldn't get updated despite us having updated
what it depends on (Attachments[]->Renderbuffer).  Other callers of
_mesa_remove_attachment are already flagging _NEW_BUFFERS for other
reasons.  The specific bug report that led to this fix (and
the fbo-finish-deleted testcase) was fixed by
23b6f9606dc247488835745668b3686218612536, though.

Reviewed-by: Brian Paul <brianp@vmware.com>
src/mesa/main/texobj.c

index fdf1281..565a3a2 100644 (file)
@@ -879,6 +879,8 @@ unbind_texobj_from_fbo(struct gl_context *ctx,
          for (j = 0; j < BUFFER_COUNT; j++) {
             if (fb->Attachment[j].Type == GL_TEXTURE &&
                 fb->Attachment[j].Texture == texObj) {
+              /* Vertices are already flushed by _mesa_DeleteTextures */
+              ctx->NewState |= _NEW_BUFFERS;
                _mesa_remove_attachment(ctx, fb->Attachment + j);         
             }
          }