u_vbuf_mgr: avoid one call to pipe_resource_reference in most cases

This commit is contained in:
Marek Olšák 2011-11-04 18:06:04 +01:00
parent f800a29ee2
commit 85c151f3d9
1 changed files with 2 additions and 1 deletions

View File

@ -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;
}