summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2010-03-08 11:31:23 -0700
committerBrian Paul <brianp@vmware.com>2010-03-08 11:39:51 -0700
commit80dc54e308dfb1fad344272978ff14646995e00a (patch)
tree5d344a61917a0da1c5d9e4f3ad99c94591845e2a
parentdf9bf78f888702542a506f551204a2e7dc8b7df1 (diff)
st/mesa: don't detach renderbuffer, surface in st_finish_render_texture()
There's no reason to release the renderbuffer from the framebuffer object or release the gallium surface in this function (they're reference counted). In fact, we don't want to do this because we may later use the texture as a pixel source (ex: glBlitFramebuffer) and need the surface. Fixes fd.o bug 26923 and is part of the fix for bug 26932.
-rw-r--r--src/mesa/state_tracker/st_cb_fbo.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/src/mesa/state_tracker/st_cb_fbo.c b/src/mesa/state_tracker/st_cb_fbo.c
index 8fded0c69f..00e9d1dccb 100644
--- a/src/mesa/state_tracker/st_cb_fbo.c
+++ b/src/mesa/state_tracker/st_cb_fbo.c
@@ -410,17 +410,12 @@ st_finish_render_texture(GLcontext *ctx,
st_flush( ctx->st, PIPE_FLUSH_RENDER_CACHE, NULL );
- if (strb->surface)
- pipe_surface_reference( &strb->surface, NULL );
-
strb->rtt = NULL;
/*
printf("FINISH RENDER TO TEXTURE surf=%p\n", strb->surface);
*/
- _mesa_reference_renderbuffer(&att->Renderbuffer, NULL);
-
/* restore previous framebuffer state */
st_invalidate_state(ctx, _NEW_BUFFERS);
}