Module: Mesa
Branch: mesa_7_7_branch
Commit: d74929702f67483debf04adbafc6a8672a9e2cbf
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d74929702f67483debf04adbafc6a8672a9e2cbf

Author: Brian Paul <[email protected]>
Date:   Mon Mar  8 11:40:25 2010 -0700

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.

(cherry picked from commit 80dc54e308dfb1fad344272978ff14646995e00a)

---

 src/mesa/state_tracker/st_cb_fbo.c |    5 -----
 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 9cdff53..d224257 100644
--- a/src/mesa/state_tracker/st_cb_fbo.c
+++ b/src/mesa/state_tracker/st_cb_fbo.c
@@ -420,17 +420,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);
 }

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to