On 23/06/15 17:30, Brian Paul wrote:
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().
---
  src/mesa/state_tracker/st_cb_fbo.c | 2 --
  1 file changed, 2 deletions(-)

diff --git a/src/mesa/state_tracker/st_cb_fbo.c 
b/src/mesa/state_tracker/st_cb_fbo.c
index 0399eef..5707590 100644
--- a/src/mesa/state_tracker/st_cb_fbo.c
+++ b/src/mesa/state_tracker/st_cb_fbo.c
@@ -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);


Reviewed-by: Jose Fonseca <jfons...@vmware.com>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to