Module: Mesa Branch: master Commit: 040411de267bd6b0d82a621430cbbbb943fd455a URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=040411de267bd6b0d82a621430cbbbb943fd455a
Author: Dave Airlie <[email protected]> Date: Mon Sep 20 10:44:44 2010 +1000 r600g: clean up valgrind issues on maxtargets test. --- src/gallium/drivers/r600/r600_state.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/src/gallium/drivers/r600/r600_state.c b/src/gallium/drivers/r600/r600_state.c index e347943..2b97c2a 100644 --- a/src/gallium/drivers/r600/r600_state.c +++ b/src/gallium/drivers/r600/r600_state.c @@ -382,10 +382,16 @@ static void r600_set_framebuffer_state(struct pipe_context *ctx, struct r600_context_state *rstate; int i; - r600_context_state_decref(rctx->framebuffer); + if (rctx->framebuffer) { + for (i = 0; i < rctx->framebuffer->state.framebuffer.nr_cbufs; i++) + radeon_draw_unbind(&rctx->draw, &rctx->framebuffer->rstate[i+1]); + radeon_draw_unbind(&rctx->draw, &rctx->framebuffer->rstate[0]); + } clean_flush(rctx, &rctx->hw_states.cb_flush); clean_flush(rctx, &rctx->hw_states.db_flush); + r600_context_state_decref(rctx->framebuffer); + rstate = r600_new_context_state(pipe_framebuffer_type); rstate->state.framebuffer = *state; for (i = 0; i < rstate->state.framebuffer.nr_cbufs; i++) { _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
