Mesa (master): u_vbuf_mgr: avoid one call to pipe_resource_reference in most cases

Marek Olšák mareko at kemper.freedesktop.org
Fri Nov 4 17:12:00 UTC 2011


Module: Mesa
Branch: master
Commit: 85c151f3d9baca0bb8384a5083e9997dbb4da364
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=85c151f3d9baca0bb8384a5083e9997dbb4da364

Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Nov  4 18:06:04 2011 +0100

u_vbuf_mgr: avoid one call to pipe_resource_reference in most cases

---

 src/gallium/auxiliary/util/u_vbuf_mgr.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/gallium/auxiliary/util/u_vbuf_mgr.c b/src/gallium/auxiliary/util/u_vbuf_mgr.c
index 6c2d1ed..ca4f795 100644
--- a/src/gallium/auxiliary/util/u_vbuf_mgr.c
+++ b/src/gallium/auxiliary/util/u_vbuf_mgr.c
@@ -471,7 +471,6 @@ void u_vbuf_set_vertex_buffers(struct u_vbuf_mgr *mgrb,
       const struct pipe_vertex_buffer *vb = &bufs[i];
 
       pipe_resource_reference(&mgr->b.vertex_buffer[i].buffer, vb->buffer);
-      pipe_resource_reference(&mgr->b.real_vertex_buffer[i].buffer, NULL);
 
       mgr->b.real_vertex_buffer[i].buffer_offset =
       mgr->b.vertex_buffer[i].buffer_offset = vb->buffer_offset;
@@ -480,10 +479,12 @@ void u_vbuf_set_vertex_buffers(struct u_vbuf_mgr *mgrb,
       mgr->b.vertex_buffer[i].stride = vb->stride;
 
       if (!vb->buffer) {
+         pipe_resource_reference(&mgr->b.real_vertex_buffer[i].buffer, NULL);
          continue;
       }
 
       if (u_vbuf_resource(vb->buffer)->user_ptr) {
+         pipe_resource_reference(&mgr->b.real_vertex_buffer[i].buffer, NULL);
          mgr->any_user_vbs = TRUE;
          continue;
       }




More information about the mesa-commit mailing list