st/mesa: remove unneeded pipe_surface_release() in st_render_texture()
authorBrian Paul <brianp@vmware.com>
Mon, 22 Jun 2015 20:04:09 +0000 (14:04 -0600)
committerBrian Paul <brianp@vmware.com>
Wed, 24 Jun 2015 13:14:56 +0000 (07:14 -0600)
This caused us to always free the pipe_surface for the renderbuffer.
The subsequent call to st_update_renderbuffer_surface() would typically
just recreate it.  Remove the call to pipe_surface_release() and let
st_update_renderbuffer_surface() take care of freeing the old surface
if it needs to be replaced (because of change to mipmap level, etc).

This can save quite a few calls to pipe_context::create_surface() and
surface_destroy().

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
src/mesa/state_tracker/st_cb_fbo.c

index 0399eef720459fe65f764501cc6524d5d4a2361a..570759044501e74e271e9a6369341b6fa788de79 100644 (file)
@@ -511,8 +511,6 @@ st_render_texture(struct gl_context *ctx,
    strb->rtt_layered = att->Layered;
    pipe_resource_reference(&strb->texture, pt);
 
-   pipe_surface_release(pipe, &strb->surface);
-
    st_update_renderbuffer_surface(st, strb);
 
    strb->Base.Format = st_pipe_format_to_mesa_format(pt->format);