dri/nouveau: Cleanup more references to old FBOs and VBOs.
authorFrancisco Jerez <currojerez@riseup.net>
Fri, 17 Sep 2010 14:35:49 +0000 (16:35 +0200)
committerFrancisco Jerez <currojerez@riseup.net>
Tue, 21 Sep 2010 01:03:01 +0000 (03:03 +0200)
src/mesa/drivers/dri/nouveau/nouveau_context.c
src/mesa/drivers/dri/nouveau/nouveau_vbo_t.c

index eff1016c070c4ac8553031987f13e66d45410a2e..0fecdee66e245285bd6c0ee2d9da821d269d9e49 100644 (file)
@@ -262,7 +262,10 @@ update_framebuffer(__DRIcontext *dri_ctx, __DRIdrawable *draw,
        nouveau_update_renderbuffers(dri_ctx, draw);
        _mesa_resize_framebuffer(ctx, fb, draw->w, draw->h);
 
+       /* Clean up references to the old framebuffer objects. */
        context_dirty(ctx, FRAMEBUFFER);
+       context_bctx(ctx, FRAMEBUFFER);
+       FIRE_RING(context_chan(ctx));
 }
 
 GLboolean
@@ -283,10 +286,6 @@ nouveau_context_make_current(__DRIcontext *dri_ctx, __DRIdrawable *dri_draw,
                        update_framebuffer(dri_ctx, dri_read,
                                           &dri_ctx->dri2.read_stamp);
 
-               /* Clean up references to the old framebuffer objects. */
-               context_bctx(ctx, FRAMEBUFFER);
-               FIRE_RING(context_chan(ctx));
-
                /* Pass it down to mesa. */
                _mesa_make_current(ctx, dri_draw->driverPrivate,
                                   dri_read->driverPrivate);
index e5858f82684aeb566315d4f9aa9098c0d5ea7835..e4415cbedb5f4d5e93dc2908b2cb20694057a8ed 100644 (file)
@@ -143,6 +143,7 @@ vbo_deinit_arrays(GLcontext *ctx, const struct _mesa_index_buffer *ib,
        }
 
        render->attr_count = 0;
+       context_bctx(ctx, VERTEX);
 }
 
 /* Make some rendering decisions from the GL context. */